Problem
Keeping API contracts in sync across web and mobile clients without drift.
Solution
Adopted Hono RPC to generate client types directly from server route definitions, providing end-to-end type safety from database to UI.
BeBlended
A two-sided marketplace connecting clients with licensed hairstylists for Black hair care services.

BeBlended is a two-sided marketplace that connects clients with licensed hairstylists specializing in Black hair care. As Founding Engineer and CTO, I led its V3 rebuild — migrating a legacy Go backend onto a type-safe TypeScript stack and shaping the platform's architecture, payments, and infrastructure.
The product spans three clients sharing a single type-safe API: a Next.js web app, an Expo/React Native mobile app, and a Hono backend. It handles the full lifecycle of the stylist–client relationship — from geo-aware discovery and booking with deposits, to Stripe Connect payouts, real-time chat, subscriptions, and a job-posting marketplace — all organized across 15+ domain-driven modules built for long-term maintainability.
Founding Engineer & CTO (engagement began as a freelance contract)
Problem
Keeping API contracts in sync across web and mobile clients without drift.
Solution
Adopted Hono RPC to generate client types directly from server route definitions, providing end-to-end type safety from database to UI.
Problem
Reliably charging deposits and balances while honoring cancellation/refund policies and appointment timing.
Solution
Built dedicated payment sub-services with scheduled payment holds captured/released via cron every 30 minutes and webhook-driven reconciliation with Stripe.
Problem
Delivering notifications across email, SMS, and push without coupling delivery to business logic.
Solution
Implemented a transactional event outbox with BullMQ queues to decouple and reliably dispatch multi-channel notifications.
Problem
Migrating from a legacy Go/GORM backend to a modern TypeScript stack without losing domain coverage.
Solution
Performed a V3 rewrite onto Hono + Drizzle ORM organized by domain-driven design with a repository pattern and DI container.
Stripe Connect
Payments, vendor payouts, subscriptions, payment holds, webhooks
Stream Chat
Real-time client-stylist messaging (web and mobile)
SendGrid
Transactional email (booking confirmations, receipts, verification)
Mailchimp
Marketing and secondary transactional email
Telnyx
SMS reminders and verification codes
Google Maps
Geocoding and geo-location stylist search
Google Calendar
Two-way booking calendar sync via OAuth
HubSpot
CRM, lead management, conversion tracking
PostHog
Product analytics and event tracking
AWS S3
User upload storage (images, documents, licenses)
Let’s talk about what you’re building and how Montgomery Labs can help ship it.
Start a project