Real businesses, live in production — not demos.
| Client | What I built | Links | |
|---|---|---|---|
| 🌲 | White Bear Harmonics | Michigan energy healing and acupuncture practice — live and taking real bookings and payments on Small Business Suite. Onboarded with zero code changes. | Live Site · Case Study |
| 🏔 | Crystal Lake Resort | Michigan lakefront resort with motel rooms and weekly cottages — direct bookings, Stripe checkout, and gift cards on Small Business Suite. | Live Site · Case Study |
| Tripsetta | Cross-platform engineer (part-time contract) — maintaining and shipping feature updates across the travel platform's iOS, Android, and web apps. | Site · Case Study | |
| 🔩 | Sort-Tek Inspection Systems | Bespoke marketing site for a Troy, MI ISO 9001:2015-certified fastener inspection company. 100/100 Lighthouse on mobile and desktop. | Live Site · Case Study |
| 🖨 | Emmalee Alexander · Print Design | Portfolio site for a Frankfort, MI print designer — filterable work gallery, pricing, reviews, and a no-code admin panel. Vanilla HTML/CSS/JS. | Case Study |
White Bear Harmonics — live and taking bookings |
Crystal Lake Resort — live and taking direct bookings |
Sort-Tek Inspection Systems — 100/100 Lighthouse |
Emmalee Alexander — print designer portfolio |
The platform behind the client work above. One backend, one codebase, every client a database row.
A multi-tenant SaaS platform with booking, payments, staff scheduling, loyalty, and admin dashboards — two real businesses live in production, six demo verticals. Per-tenant Stripe keys live in the database so adding a client never requires a backend redeploy. 130 passing tests · Sentry in production.
| Project | What it does | Links | |
|---|---|---|---|
| 🎂 | The Bakery Co. | Ordering platform — menu CMS, inventory, loyalty, gift cards, subscriptions, webhook-first Stripe checkout. MCP server lets customers order through Claude. | Demo · Case Study |
| 🌿 | The Wellness Co. | Booking platform — Stripe checkout, tiered refund logic via UUID cancel tokens, JWT-protected admin. The template White Bear Harmonics runs on. | Demo · Case Study |
| 🏨 | The Inn Co. | Hotel booking — per-room availability calendar, Stripe checkout, admin dashboard with bookings, revenue, and occupancy tracking. The template Crystal Lake Resort runs on. | Demo · Case Study |
| 🍺 | The Sports Bar Co. | Reservations and events — table booking writes to Supabase, events calendar is owner-managed, party inquiries route to inbox. | Demo · Case Study |
| ✂️ | The Salon Co. | Luxury hair studio site — services, stylist profiles, gallery, booking, employment page. No framework, no CMS. Lighthouse 100 across the board. | Demo · Case Study |
| 🌱 | The Landscape Co. | Multi-page garden design studio site — vanilla HTML/CSS/JS with a live contact form wired to the Suite backend. | Demo · Case Study |
The Bakery Co. |
The Inn Co. |
The Salon Co. |
Four apps live on the App Store, one in beta.
| App | Stack | Links | |
|---|---|---|---|
| ⏱ | Tally — Time Tracker · Cross-platform SaaS — iPhone, Watch, Mac via Catalyst, React web dashboard, Android in closed testing. StoreKit + Stripe write the same is_pro flag. $9.99 one-time. |
SwiftUI · Catalyst · React · Supabase · StoreKit · Stripe | App Store · Web · GitHub |
| 🏖 | CoastCast — Beach Conditions · Real-time conditions for 54 Michigan beaches. XGBoost Crowd Meter on-device via CoreML. WidgetKit, Live Activities, Siri Shortcuts. | SwiftUI · FastAPI · CoreML · XGBoost · WidgetKit | App Store · GitHub |
| 🏛 | Stamped! — City Passport · Collect digital passport stamps at architectural landmarks. Offline-first, VoiceOver, 8 languages, Apple Intelligence itinerary planner (iOS 26+). | SwiftUI · UserDefaults · App Intents | App Store · GitHub |
| 🐦 | TakeFlight — Bird Survival Game · 5-in-1 survival game set on Belle Isle, Detroit. Custom SwiftUI joystick, Game Center leaderboards. Team of 5 at the Academy. | SwiftUI · SpriteKit · SwiftData · Game Center | App Store · GitHub |
| 🧈 | Squishy Butter · A stick of butter you squish with your finger — real-time soft-body deformation in a custom GLSL vertex shader, 140+ collectible skins. Live on the web, TestFlight for iOS, closed testing on Android. | GLSL · WebGL · JavaScript | Play · Case Study |
Tally — live on the App Store |
CoastCast — live on the App Store |
Squishy Butter — custom GLSL soft-body physics, live at squishybutter.app |
|
| Project | What it does | Links | |
|---|---|---|---|
| 🏀 | Detroit Sports Chatbot | AI agent with 15 live ESPN tools, dual-provider support (Claude + Groq), Whisper voice input, and an automated eval pipeline that improved response quality 28%. Deployed on Render. | Live · Case Study |
| 🔊 | Local LLM Speaker | Private, offline smart speaker built from scratch — Raspberry Pi 5 running Whisper STT, Ollama + Qwen3, and Piper TTS, with MCP tools and a web dashboard. Custom ESP32-S3 PCB firmware streams wake-word audio over WebSocket. No cloud, no voice data leaving the network. | GitHub · Firmware |
| Project | What it does | Links | |
|---|---|---|---|
| 🌿 | Botanical Archive | Brand landing page for a craft hemp beverage company, built in 5 days — Three.js interactive 3D model viewers, parallax animation, zine-style editorial design. | Live · Case Study |
| PR | Project | What I changed |
|---|---|---|
| #14864 | Streamlit | CSS-in-JS border-radius and overflow fixes for video and chart components |
| #37 | Handmade Network | Refined project blog index logic for single-post states; audited typography utility classes |
| #4650 | Tandoor Recipes | Added missing Back button to Ingredient Editor, matching Vue 3 navigation patterns |
Co-Founder · CH Studios (Detroit software studio — mobile apps & full-stack products) · Cross-Platform Engineer · Tripsetta (part-time contract) · MSU Apple Developer Academy · Year 2 · Aug 2026 – May 2027 (25 of 250 selected from year one)
Open to full-time web and full-stack roles in Detroit or remote














