Christopher Staub
Full-stack developer — from React Native apps to self-hosted APIs and homelab infrastructure.
Full-stack developer who builds across the whole stack — from React Native apps and Astro sites to self-hosted APIs, Docker infrastructure, and AI experiments. I run real projects in production on hardware I own and maintain. Comfortable picking up new tools and comfortable going deep on the ones I know.
What I Build
Frontend & Web
- Built and maintain staubracing.com — Astro 5 site with MDX content collections, dark-first CSS theme, and 14 routes. Deployed on AWS S3 + CloudFront via GitHub Actions.
- Built the craftvault-client React frontend for a diamond painting supply tracker.
- Building MotoAppPro — React Native motorcycle tracking app paired with a live REST API.
Backend & APIs
- Four live REST APIs in production: moto-api, updog-api, craftvault-api, tracker-api — each TypeScript/Express with its own PostgreSQL database, managed by PM2.
- Established the standard Node.js/Express/PM2 app pattern used across all self-hosted projects — consistent structure, shared DB helpers, migration-on-startup.
- Built a maintenance log system: Astro admin form → Lambda API → PostgreSQL. Data syncs back into the static build during CI so the public page stays current without a runtime API call.
Infrastructure & DevOps
- Designed and operate Arrakis (a Pi 5 on my desk — named after the Dune planet because it's small, harsh, and does way more than it has any right to). Zero open ports: Cloudflare Tunnel handles all 6 public HTTPS subdomains, Tailscale for private SSH and internal access.
- Docker: Nextcloud, Navidrome, n8n, PostgreSQL (7 databases), Minecraft Bedrock server.
- CI/CD: GitHub Actions pipelines for build, S3 sync, and CloudFront invalidation on every push. Daily cron workflow keeps maintenance data fresh automatically.
- AWS: S3, CloudFront, Route 53, ACM, Bedrock, Cognito, CDK — used across multiple projects.
AI / ML
- documentation-rag — RAG system for querying personal markdown docs. Runs privately on Pi.
- ai-budgetApp-localLLM — Bank statement analyzer using Ollama. Fully on-device, no data leaves the machine.
- private-ai — Conversational AI on AWS EC2 + Bedrock. DynamoDB for conversation history. Built with AWS CDK.
- moneymap — AI-powered finance categorizer with learning + caching layer. TypeScript, Node.js.
Projects
| Project | Stack | Status |
|---|---|---|
| staubracing.com | Astro 5, AWS S3/CloudFront, GitHub Actions | Live |
| MotoAppPro | React Native, TypeScript | WIP |
| moto-api | Express, PostgreSQL, TypeScript, PM2 | Live |
| craftvault-api + client | Express, PostgreSQL, React, TypeScript | Live |
| updog-api | Express, TypeScript, PostgreSQL | Live |
| personal-tracker | Express, PostgreSQL, TypeScript, PM2 | Live |
| Arrakis homelab | Pi 5, Docker, Cloudflare, Tailscale, AWS | Live |
| private-ai | AWS Bedrock, CDK, DynamoDB, EC2 | Experimental |
| documentation-rag | RAG, LLM, Python | Experimental |
| meal-planner | Express, PostgreSQL, TypeScript, PM2 | WIP |
| AutomationFramework | TypeScript, YAML, n8n, Slack | WIP |
Client Work
Updog Coffee Customer-facing website + backend API. In progress.
Access Point Vascular Former client project.