One backend. Six live sites. A multi-tenant SaaS platform serving real clients across wellness, bakery, salon, sports bar, and hospitality — booking, payments, staff scheduling, loyalty, and admin dashboards in one codebase. 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. One live client, onboarded with zero code changes. | Demo · Case Study |
| 🏨 | The Inn Co. | Hotel booking — per-room availability calendar, Stripe checkout, admin dashboard with bookings, revenue, and occupancy tracking. | 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 |
| App | Stack | Links | |
|---|---|---|---|
| ⏱ | Tally — Time Tracker · Cross-platform SaaS — iPhone, Watch, Mac via Catalyst, React web dashboard. 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 |
| 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 |
| Web & Backend | Node.js · Express · Python · FastAPI · JavaScript · React · Vite · HTML · CSS · Supabase · PostgreSQL · Stripe · Resend · Twilio · Sentry · Vercel · Render |
| iOS & Mobile | Swift · SwiftUI · UIKit · SpriteKit · SwiftData · WidgetKit · Core ML · App Intents · StoreKit · Catalyst · Combine · Firebase |
| AI & ML | Claude API · MCP · WebMCP · Agentic Tool-Calling · XGBoost · CoreML · Create ML · Feature Engineering · Groq · Ollama |
| Tools | Xcode · VSCode · Git · Claude Code · Docker · TestFlight · GitHub Actions |
MSU Apple Developer Academy · Year 2 · Aug 2026 – May 2027 (25 of 250 selected from year one) · Cross-Platform Engineer · Tripsetta (part-time contract) · Open to full-time web and full-stack roles in Detroit or remote




