Archived personal projects - completed, abandoned, or superseded.
gpt-2-simple-sagemaker-container (2026-02-21)
Containerized toolkit for fine-tuning GPT-2 on Amazon SageMaker, exporting checkpoints back to S3 for endpoint deployment. Uses Docker, Python, Flask, the gpt-2-simple library, and SageMaker’s filesystem conventions wired into src/sagemaker.py. It centralizes both training hyperparameter management and inference generation in a single image, exposing a Flask /invocations API that streams prompts through gpt2.generate on the preloaded TensorFlow session.
mira-hq (2026-02-21)
Mira HQ is a full-stack platform for managing multiplayer servers, exposing GraphQL queries and mutations to list, create, launch, and stop game servers with owner tracking and uptime metadata. The stack combines a Next.js 10 React 17 frontend with Tailwind CSS and Apollo Client, a TypeScript Apollo Server backend on AWS Lambda wired to DynamoDB, and infrastructure defined with AWS CDK/monocdk for CloudFront, S3, API Gateway, and IAM. A shared @mira-hq/model package uses graphql-code-generator to produce typed schema, operations, and React hooks that keep client and backend contracts aligned.
harding-christmas (2026-02-21)
Harding Christmas is a display app for Harding University’s DormNet that counts down in real time to both the annual lighting ceremony and Christmas Day. The project bundles a Bulma-styled Sass frontend with countdown.js and particles.js animations via a Webpack 2 build, serves the bundle through an Express static server, and uses client logic to switch the title and target date from the November 26 lighting event to December 25 once the ceremony time passes.
hue-saber (2026-02-21)
Huesaber synchronizes Philips Hue lights to live Beat Saber events so in-game actions trigger color changes around the player. It is built in Node.js using ws for Beat Saber’s HTTP Status websocket feed, node-hue-api for bridge control, and lowdb with the FileSync adapter for local state. The service persists the Hue bridge username in a JSON database so subsequent runs reuse the authenticated session without pressing the bridge button again.
monarch-money (2026-02-21)
This repo bundles command-line tools to import a Monarch Money transaction CSV and explore spending patterns and subscriptions. The scripts are written in TypeScript for the Bun runtime and use bun:sqlite against a local SQLite database built by archive/monarch-money/csv-to-sqlite.ts:1. Subscription detectors such as archive/monarch-money/find-subscriptions.ts:7 and archive/monarch-money/find-yearly-subscriptions.ts:7 run layered SQL CTEs that compute variation coefficients and cadence scores to surface active monthly and yearly recurring charges.
rsi-hackathon-2016 (2026-02-21)
This hackathon project delivers a redesigned Rural Sourcing Inc. website packaged as a runnable Java jar that spins up a local web server. It is built with the Java Spark web framework, Thymeleaf templates, Pure.css styling, and custom JavaScript modules for navigation toggles and management popups. The server listens on port 8080, serves static assets from /assets, and renders pages like index, company, and management via a shared ThymeleafTemplateEngine.
ec2-instance-restart (2026-02-21)
This project provides AWS Lambda handlers that start, stop, or list a specific EC2 instance through a shared request processor. It relies on boto3 for EC2 control alongside jsonschema validation and DiscordWebhook notifications to enforce input structure and broadcast operation results. A single handle_request workflow in src/common.py routes operations defined by the Operation enum, giving the Lambda functions a unified orchestration layer.
file-matcher (2026-02-21)
File-matcher is a Python script that scans a directory and cross-references filenames against a provided list of strings to report matches, duplicates, and missing entries. The code runs as a CLI entrypoint in src/__init__.py and relies on Python’s standard library modules os and os.path to enumerate files and read the string list. Its matcher.match pipeline collects match statistics and prints comprehensive summaries, including duplicate string detection and files without matches, via reusable helper functions in src/matcher.py.
siphon (2026-02-21)
No description available.
herd (2026-02-21)
The project implements a RESTful API for managing clubs and meetings, providing authenticated CRUD endpoints for club membership and meeting scheduling. It is built with Node.js, Express routing, Mongoose models backed by MongoDB, and JWT configuration defined in api/src/config.js. Club routes centralize data access by using an router.param middleware to preload the club document and populate members before controller handlers run.
docblocs (2026-02-21)
Docblocs is a document templating system that parses custom template syntax into an AST and renders it via context-aware helpers to dynamically generate server-side content. The core @shepherdjerred/docblocs package in archive/docblocs/docblocs is written in TypeScript and ships with tooling such as Mocha, Should, Supertest, and Typedoc, while companion packages like express-docblocs, docblocs-demo, and docblocs-test use Express 4 with Node/Nodemon setups to integrate the renderer into web apps. A notable design detail is the bindTemplate pipeline that curries template parameters into local or global scopes and resolves asynchronous helper output before returning the rendered bloc.
time-off (2026-02-21)
This monorepo consolidates the author's active projects, learning experiments, and archived work into a single workspace documented in README.md:3. It runs on Bun-managed TypeScript workspaces with dependencies such as @tauri-apps/api, @dagger.io/dagger, and Lefthook defined in package.json:1. The automation script scripts/run-package-script.ts:1 crawls every package to execute shared scripts with optional skip lists, keeping operations consistent across the repository.
kittens (2026-02-21)
This project records and visualizes the weight history of several cats, publishing the results through Quarto workflows and Netlify deployments (archive/kittens/README.md). It uses a Quarto notebook configured for Jupyter Python 3 with pandas 1.4.3 and plotly 5.9.0 to build dataframes and render interactive line charts (archive/kittens/kittens.qmd, archive/kittens/requirements.txt). The notebook concatenates per-cat entries, derives pounds and age columns, and then calls px.line to generate a single chart that compares all cats in one interactive view (archive/kittens/kittens.qmd).
gpt-2 (2026-02-21)
This project trains and serves large language models that generate text both interactively and in batch via scripts like interactive_conditional_samples.py and generate_unconditional_samples.py. It is built on TensorFlow with NumPy for tensor math, Google Fire for CLIs, and Horovod-enabled training in train-horovod.py to scale across hardware. A notable capability is its memory-efficient training stack that combines gradient checkpointing in src/memory_saving_gradients.py with the accumulation optimizer in src/accumulate.py to support oversized models without exhausting GPU memory.
west-elm-shipment-notifier (2026-02-21)
The project polls the West Elm order-tracking API every hour to detect shipment status changes and send email updates. It is built as an AWS SAM-deployed Python 3.8 Lambda that uses requests to call the tracking endpoint and boto3 to publish notifications. A CloudWatch scheduled event wired with cron(0 * * * ? *) triggers the Lambda while a dedicated SNS topic carries both the customer alerts and failure alarms.
eng211-research-paper (2026-02-21)
No description available.
type-challenges (2026-02-21)
Project solves the Type Challenges catalog by implementing strongly typed utilities like DeepReadonly, PromiseAll, and TupleToUnion as TypeScript type definitions. It uses pure TypeScript configured by archive/type-challenges/package.json and archive/type-challenges/tsconfig.json, with the typescript dependency driving compile-time checking. All challenge files rely on shared assertion helpers in archive/type-challenges/test-utils.ts to validate each type solution at compile time.
skill-capped-discord-bot (2026-02-21)
Skill Capped Discord Bot is a TypeScript-powered Discord automation project that provides commands and services for servers. It leverages Discord.js, AWS CDK (aws-cdk-lib), and AWS SDK clients to build and deploy the bot infrastructure defined under lib/. A notable capability is the integrated AWS CDK deployment workflow (cdk synth, cdk deploy) that packages the bot and supporting resources for cloud provisioning.
is-quarantine-over-yet (2026-02-21)
No description available.
nutrition (2026-02-21)
This project renders a Nutrition Data report that tracks calories, macronutrients, body weight, basal metabolic rate, and exercise calories over time. It runs as a Quarto notebook (index.qmd) using Jupyter Python, pandas, and Plotly Express to read CSV exports from MyFitnessPal, Apple Health, and Strava. A notable workflow is the weekly aggregation pipeline that converts day-level logs into weekly averages, then applies the Mifflin-St Jeor equation to estimate TDEE and visualize calorie deficits.
jukebox (2026-02-21)
Jukebox is a Rust music controller that maps numeric selections to specific Spotify track IDs and triggers playback routines for connected speakers. It relies on crates such as rspotify, sonos, tokio, serde, and toml to handle Spotify OAuth, Sonos integration, async execution, and credential parsing. The entrypoint loads credentials from secrets.toml, converts them into strongly typed structs, and routes the chosen track through a static device map to keep multi-device playback wiring centralized.
hu-easel (2026-02-21)
The project delivers a TypeScript backend for managing educational entities such as users, courses, and listings backed by a MySQL database. It relies on Node.js modules including sequelize-typescript for ORM, loglevel for diagnostics, and ts-jest for testing. A pluggable configuration layer (EnvConfig, HerokuConfig, SimpleConfig) switches between environment-specific credentials while bootstrapping Sequelize with the full model set.
ts-mc (2026-02-21)
This monorepo consolidates active projects, learning experiments, and archived work into a single workspace with shared tooling and configuration. The root package.json, bun.lock, and dagger.json define a Bun-managed TypeScript stack that layers in Lefthook git hooks, Dagger CI pipelines, and Tauri API dependencies. A notable capability is the scripts/run-package-script.ts helper, which walks packages/*, honors skip lists, and executes any requested Bun script across every package for consistent orchestration.
shepherdjerred-impostor (2026-02-21)
This archive assembles Impostor server tooling, including the ImpostorCord Discord mute/unmute plugin, a /settings chat command extension, and an AWS free-tier CloudFormation stack for hosting the game backend archive/shepherdjerred-impostor/impostorCord/README.md:5 archive/shepherdjerred-impostor/commands/README.md:1 archive/shepherdjerred-impostor/commands/ShepherdJerred/CommandListener.cs:9 archive/shepherdjerred-impostor/cloudformation-free-tier/README.md:1. The plugins target .NET 5 with Impostor.Api and DSharpPlus, while the infrastructure relies on CloudFormation YAML and Bash+gomplate templating to scaffold new C# plugin skeletons archive/shepherdjerred-impostor/impostorCord/README.md:9 archive/shepherdjerred-impostor/impostorCord/main.cs:1 archive/shepherdjerred-impostor/impostorCord/README.md:78 archive/shepherdjerred-impostor/cloudformation-free-tier/template.yml:1 archive/shepherdjerred-impostor/template/customize:15 archive/shepherdjerred-impostor/template/[[ .projectName ]].csproj:2. A notable capability is the event-driven GameEventListener that syncs Discord voice permissions with game state while the CloudFormation user data spins up a systemd-managed Docker container with bind mounts so plugins and configs persist across restarts archive/shepherdjerred-impostor/impostorCord/handlers/EventHandler.cs:20 archive/shepherdjerred-impostor/cloudformation-free-tier/template.yml:56.
trip-sim (2026-02-21)
This project models road trip logistics in Python by simulating vehicle, lodging, and food costs for different group sizes and trip lengths. It uses plain Python modules under api/src/model, including an AWS Lambda handler in api/src/aws/handler.py for serverless execution. The driving simulator evaluates all valid vehicle combinations to pick the lowest total fuel and rental cost configuration for a given group size.
push-pal (2026-02-21)
Push Pal provides hosted continuous integration for self-hosted infrastructure, exposing a dashboard to review deployment sites and their stage revisions. The codebase uses a React 18 + TypeScript frontend scaffolded with Vite, integrates Supabase for GitHub OAuth, and publishes documentation through Astro Starlight assets. The UI computes when a main stage revision diverges from prod and conditionally renders a promote action so teams only advance builds when a newer revision exists.
instalike (2026-02-21)
Instalike is a Node.js automation script that logs into Instagram and likes or comments on every post for a specified target account. It relies on the instagram-private-api client along with Bluebird for promise control flow and Underscore utilities, all wired via a simple node index.js entry point. The script maintains session cookies on disk and uses a Bluebird mapSeries loop to page through the user media feed sequentially, checking prior comments before posting new ones.
cashly (2026-02-21)
This project provides a monorepo that delivers a React web UI alongside shared core logic and CLI tooling. It uses TypeScript throughout, with React and react-scripts in web, and enforces consistency via ESLint configured with @typescript-eslint, Promise, Jest, Import, Node plugins plus Prettier formatting. Its package-level separation (core, web, cli, mono, concept, assets) enables cross-package module reuse under unified linting and formatting rules.
ansible-playbook (2026-02-21)
This monorepo collects personal active projects, learning exercises, and archived work under a shared workspace described in README.md:1. Its toolchain runs on a Bun-managed TypeScript workspace with Lefthook git hooks, Dagger’s TypeScript SDK, and Tauri APIs declared in package.json:1. The automation script scripts/run-package-script.ts:1 traverses every package subdirectory and executes the requested Bun script while respecting an optional SKIP_PACKAGES skip list.
usher (2026-02-21)
Usher is a Create React App frontend that walks Harding students through checking, picking, and releasing chapel seats against the university’s seat assignment system. It runs on React 16 with React Router 4, HashRouter navigation, the node-soap client, react-form, and Bulma styling bundled via react-scripts. The interface centralizes shared Navbar/Wide/Narrow layouts and invokes SOAP operations such as PickSeat through soap.createClient to send the chapel seat payload.
ec2-instance-restart-frontend (2026-02-21)
EC2 Instance Restart Frontend delivers a React web interface for start/stop control of an EC2 instance through a dedicated restart API endpoint and supporting backend, giving a focused panel for managing that server.citearchive/ec2-instance-restart-frontend/README.md:1archive/ec2-instance-restart-frontend/src/api.ts:5 The project uses React 17 with TypeScript, axios for HTTP calls, Bulma styling, and react-scripts tooling, all declared in its package manifest.citearchive/ec2-instance-restart-frontend/package.json:1 Its Home workflow automatically polls the instance status every second and saves AWS credentials plus instance settings to localStorage so the UI state stays in sync with the backend.citearchive/ec2-instance-restart-frontend/src/components/Home.tsx:28archive/ec2-instance-restart-frontend/src/datastore.ts:3
the-button (2026-02-21)
This React Native mobile app connects to https://the-button-api.herokuapp.com/ to show a shared countdown and let users press a styled button while tracking connected peers in real time. It is built with React Native components, socket.io-client for the live socket connection, and react-test-renderer-backed tests living under app/tests. The App component maintains socket-driven state updates and delegates UI responsibilities to focused child components like app-button, app-progress, and app-users for clearer separation of concerns.
lambda-sagemaker-endpoint (2026-02-21)
This project runs AWS Lambda functions that bridge a Telegram chatbot to an Amazon SageMaker inference endpoint. It uses boto3’s runtime.sagemaker client, the python-telegram-bot library, and AWS SAM templates (template.yml) to wire the deployment. The architecture routes Telegram webhook events through a Lambda handler that calls a dedicated SageMaker-invoking Lambda, enabling conversational responses powered by the model endpoint.
easely (2026-02-21)
This project delivers an Easely API service that exposes assignment, course, and user endpoints via Spark Java routing. It is implemented in Java with Spark, Jackson, HikariCP, Redisson, MySQL storage components, and Log4j2 logging. The core data flow layers a Redisson-backed cache and cached scraper on top of configurable data sources, initialized through environment-driven EaselyConfig and EnvVarEaselyConfig components.
raspastat (2026-02-21)
This project runs a RaspaStat web service that serves a dashboard and REST endpoints for reading and updating thermostat status data. It is built with Spark Java routing, Thymeleaf templating, Log4j2 logging, Apache Commons Lang, and Redis access via Jedis. The router centralizes route setup while a shared JedisPool wrapper provides Redis-backed state for the API handlers.
list-easel (2026-02-21)
This Node.js utility enumerates Harding University EASEL classes by programmatically crawling class identifiers. It runs with dotenv-driven configuration and leverages request-promise-native, tough-cookie, jsdom, and loglevel to handle authenticated HTTP requests and HTML parsing. It maintains a reusable cookie jar and halts the scan after detecting multiple nonexistent classes to avoid unnecessary traffic.
aws-docker-cdk (2026-02-21)
AWS Docker CDK provisions dedicated Minecraft and Factorio Docker game servers on AWS with configurable versions, memory, and routing settings defined in its primary stack (archive/aws-docker-cdk/lib/aws-docker-cdk-stack.ts:1). The project uses TypeScript with the monocdk AWS CDK distribution plus aws-dlm, coordinated by Node-based scripts such as npm run cdk and dependencies like ts-node and typescript (archive/aws-docker-cdk/lib/aws-docker-cdk-stack.ts:1, archive/aws-docker-cdk/package.json:1). A continuous delivery stack supplies an IAM deployment user and managed policy while the main stack automates EBS snapshot lifecycle management via AWS Data Lifecycle Manager, embedding operational guardrails into the architecture (archive/aws-docker-cdk/lib/continuous-delivery-stack.ts:1, archive/aws-docker-cdk/lib/aws-docker-cdk-stack.ts:37).
funsheet (2026-02-21)
Funsheet is a Java-backed web application that lets users catalog activities and search them by location, cost, types, and tags. It runs a Spark Framework REST API with HikariCP, FluentJDBC, Flyway, Jackson, Lombok, and a Vue front end using Vuex, Vue Router, Buefy, Vue Resource, and Fuse. The server supports swappable persistence via a MySQL-backed MysqlStore and an InMemoryStore seeded through setupInMemoryStorage and createMockData for development flexibility.
devcontainers-features (2026-02-21)
No description available.
frankie-and-jos-flavor-scraper (2026-02-21)
This Python scraper gathers Frankie and Jo’s flavor articles by crawling the site’s news listings and retrieving article text. It uses requests, re, and BeautifulSoup in src/main.py to fetch pages and parse the flavor content. The crawler iterates through ten news pages set by LAST_NEWS_PAGE to collect flavor URLs with a regex before extracting the article body.
discord (2026-02-21)
This monorepo hosts Discord automation projects for a private server, including bots for karma, League of Legends match tracking with reports and leaderboards, music playback, and companion documentation sites. It runs on a Bun-managed TypeScript workspace with tooling like Dagger pipelines and Lefthook hooks declared in the root package.json. The repository is organized as a multi-package workspace under packages/, enabling shared builds and scripts across the various bots and front-end portals.