Chris

S

Sidell

Site Reliability & Software Engineer

Projects

D20Kit 

Description

D20Kit is an application that aims to replicate the magic and immersion of in-person tabletop role play gaming. This project has been in development for a few years and has its roots in Synk, an audio replication tool. Synk, Kasqe, AuthNau, and Concord are all core components that create a solid application platform for other projects beyond D20Kit.

Highlights

Kasqe 

Description

Kasqe is the culmination of nearly 10 years of engineering and operational experience around a diverse set of ETL, MapReduce, Event Sourcing, Streams, and other "Pipeline" workflows. Kasqe takes a simple typed interface and constructs the serial or parallelizable pipeline, recursively. Inspiration: I needed an exceptionally flexible way to define asset pipelines for D20Kit, Synk, and Anvil. Kasqe offers a way to modularize workflow components like image/video/3d model metadata extraction.

Highlights

AuthNau 

Description

AuthNau is Auth0, but without having to rely on Auth0 or Okta. Auth0 serves a great role for projects which want an auth that "just works", until it doesn't. AuthNau is my solution for when you want your authentication to work NAU. AuthNau is built very similarly to Auth0's product offering and is tenant based.

Highlights
  • Built using NestJS & Angular
  • Magiclink, Passwordless OTP, among other auth entrypoints
  • Automated comms relating to account recovery, password reset, account takeover, etc
  • Automated flagging of bot/susicious actors, network tracking, vpn detection
  • Automated key-rotation and signing key lifecycle
  • Identity impersonation for testing or validation
  • Configurable captcha difficulty based on client score. Bespoke captcha implementation
  • Integrates with Hashicorp Vault, AWS KMS, or other secret store
  • Real-time updates powered by Concord
  • Zero-trust managed key material lifecycle powered by Kasqe

Concord 

Description

Concord is a realtime distributed messaging and consensus solution platform. Born from Synk, Concord is battle tested against one of the most sensitive senses: hearing. Audio synchronization without a RTC stream is notorously difficult and any careless event can cause audio to buffer, clip, peak, or playback at different rates. Concord understands how to keep the client in relative sync with the primary source given these sensitive requirements which are configurable per source/group.

Highlights
  • Machine-Machine RPC communication
  • Client-Server websocket coordinator
  • Distributed messaging broker, using node-local, redis, or deferred queue
  • Automatically reestablishes existing session when connection is lost
  • Communicate with anything anywhere at anytime with the ease of a canonical id
  • Undergoing a rust-rewrite to extract more performance, @napi-rs

Anvil 

Description

Anvil is the next generation tabletop and gaming platform that seeks to run on web and native desktop. A mobile/tablet edition is on a distant roadmap but mobile isn't at a place where it has great support for web graphics.

Highlights

Synk 

Description

Synk is a web project built to solve the problem of running a D&D campaign and having no way to set the mood with music. Synk works by relaying the audio that the the DM mixes to the players in realtime. Kickstarted the D20Kit project after successful integration with a few D&D Groups.

Highlights
  • Realtime Audio Mixing
  • Redux state pattern
  • Angular Frontend (v19)
  • NestJS Backend (v10)

Options & Market Trading Bot 

Description

A custom trading bot that was controlled through Discord chat. Aggregated from a diverse set of sources using subreddits to assist discovery of other scrapable data sources. Heavily scraped /r/wallstreetbets. Successfully traded options strategies for profit.

Highlights
  • Integrated with discord
  • Market analysis through web scraping and sentiment aggregation
  • Paper money trading simulator in discord (friends ranking/betting)

Feathers-Couchbase 

Description

Feathers-couchbase is the db driver for Synk when it was written using featherjs and couchbase. It implementes the full FeathersJS common query API as well as a N1QL QueryBuilder.

Highlights

YADDA Secret Store 

Description

Yadda is an open source deployment tool for Amazon ECS. This extension to the yadda ecosystem allows all projects using yadda to get AWS KMS encrypted (HIPAA compliant) secrets for free.

Highlights
  • Uses DynamoDB as a credential store (Credstash)
  • Fully HIPAA compliant
  • Container safe, takes best security practices to avoid envrionment scraping
  • Source

Puppeteer 

Description

Puppeteer is a multi-game stat, inventory, and stamina tracker. As you play your tabletop game all players share the live data without having to use pen and paper.

Highlights
  • Realtime data tracking
  • Realtime puppet animation (for RP) [Beta]
  • Heavy-use of Angular, Laravel, and Node

QR Reporter 

Description

The QR reporter was developed to solve the problem of broken lab computers going unreported for extended periods of time. Instead of a patron finding their way to a staff desk to report the issue, they could scan a code on the computer! This successfully reduced student workload and saved tens of thousands of dollars annually.

Highlights
  • QR Code Scanning
  • Feature rich administration panel
  • Full access control list for machine-owned inventory data
  • Shibboleth Single Sign On integration

MoarDammit 

Description

MoarDammit is a SWF/MP4/WEBM gallery of short (<1 min) clips used to give a quick laugh. MoarDammit has been under development for a few years mainly to practice with NestJS and AngularJS.

Highlights

GetBlocks 

Description

A simple little game that allows you, the player, to move around the board collecting blocks over time and making interesting designs. The game gets harder the more you play as the board fills up with deadly blue tiles. (Not built with BlocksEngine)

Highlights

BlocksEngine 2 

Description

Closed source project which leverages BabylonJS to build a 3D game engine with hooks into Angular. Swapping out BabylonJS for Bevy leads to Anvil, the 3rd generation renderer.

Highlights
Preview Coming Eventually?

BlocksEngine 

Description

A little fun open source project trying to get a generalized Typescript game Engine that works with 2D as well as 3D rendering. A big WIP

Highlights
  • Realtime Graphics
  • 100% selfwritten component game engine
  • Fully Typescript
  • Source

iTracker 

Description

The iTracker project existed to increase general student involvement with the SGA. It aggregated information from their backend project service Basecamp and allowed students to interact and have the opportunity to jump into projects.

Highlights
  • Basecamp 3 API Integration
  • Laravel Backend
  • AngularJS Frontend
  • Aggressive cache strategy

Yelpy Weather 

Description

Yelpy weather answers the question, does the weather affect the ratings of yelp reviews? The project is built from the ground up using Hadoop technologies, and was a big data research project mentored by an author of the MapReduce Design Patterns book.

Highlights

Library Inventory 

Description

The inventory project was designed to replace OCS Inventory by simplifying the setup from the administrator side while giving much more power to search the data provided.

Highlights

CritiqueMe 

Description

CritiqueMe was a quick week-long project that aimed to alleviate the problem of youtubers posting a video for critique but never leaving any critiques themselves. This site solves the issue by forcing the channel to leave a critique first in order to post a video.

Highlights
  • Video Showcasing
  • Youtube v3 Data API
  • Interactive critiquing process

Micro Projects

D&D InitTracker

A DnD initiative tracker

Let's Play Timer

A tool to help keep track of time during recording, supports URL configuration so creaters can bookmark the timer they use

Open Source Contributions

Discord Music Bot

Go to Project

FeathersJS Framework

Go to Project

NestJS Framework

Go to Project

Kyruus Medical ProviderMatch Search

Go to Project

Google Cloud Bigtable NodeJS Library

Go to Project

Yadda & Yadda-Secret

yadda yadda-secret

SaltyBet Bot

Go to Project

Technical Skills

Languages: Javascript, Typescript, Rust (2021e, 2024e), PHP, HTML/CSS, Python, Elixir/OTP, Lua, Haskell, C/C++, Java

Frameworks: NestJS, Angular, TailwindCSS, Redux, React, React Native, Axum, Tokio, FeathersJS, Laravel, jQuery, Material, GraphQL

Designing: large-scale system design (>3m MAU users), modeling databases relational and nosql, cost-aware infrastructure and software, normalization, designing server-client API communication protocols, real-time systems, RESTful routing, gRPC routing, istio service mesh, CI/CD pipelines, RFC-lite/ARP, WebRTC/RTC, distributed websocket orchestration, video and audio streaming orchestration, rich text editor

Databases & Exchanges: SQL, noSQL, PostgresSQL, Redis, MySql/MariaDB, EtcD, SQLite, RabbitMQ, ArangoDB, MongoDB, Google Datastore/Firebase, Couchbase, Kafka, Google Bigtable, Google BigQuery, AWS Dynamo, HBase/Accumulo (Wide-column), Scylla, Cassandra.

Servers, Operating Systems, and Build Tooling: Linux, Docker, Azure Cloud, Amazon Web Services (AWS), Google Cloud Platform (GCP), Kubernetes, Amazon ECS, Hyper-V, LAMP, LEMP, MEAN, Continuous Integration, Continuous Delivery, Site Reliability, PyInfra, ArgoCD, Drone CI, Teamcity, Gitlab, Istio, Envoy, Debian, CentOS, Ubuntu, Windows Server, Hadoop Clusters, Vagrant, Virtual Box, Webpack, Grunt, Gulp, Vite

Networking: TCP/IP, ISO/OSI, Ethernet, VPN, vLAN, Trunking, STP

Game Development: Unreal Engine 4, Unreal Dev Kit, Cryengine 3&5, CryeCSS Anvil (BlocksEngine 3+), Crude Self-made JS engine (BlocksEngine 1 & 2), BabylonJS, Howler.js

Christopher Sidell - 2025
Back to Top