Available for hire

I build things
that ship.

Senior full-stack engineer with deep expertise in Next.js, React Native, AI automation, and production systems. I turn complex problems into products people use.

12 Years Shipping
2M+ Users Served
5 Platforms
Next.js ◆ React Native ◆ TypeScript ◆ AI Agents ◆ Rust ◆ Supabase ◆ Swift ◆ PostgreSQL ◆ Design Systems ◆ Turborepo ◆ Claude SDK ◆ Docker ◆ Next.js ◆ React Native ◆ TypeScript ◆ AI Agents ◆ Rust ◆ Supabase ◆ Swift ◆ PostgreSQL ◆ Design Systems ◆ Turborepo ◆ Claude SDK ◆ Docker ◆
🏥
Industries
Crypto, Banking, Healthcare, EdTech, Manufacturing
🌐
Reach
Shipped to 3 continents, 4 app stores
⚡
Stack Range
Web, Mobile, Native iOS, AI, Rust

Case Studies

01–05
01
B2B Platform

B2B Product Platform

Rebuilt a manufacturer's legacy site into a modern bilingual B2B platform with 450+ product catalog, admin dashboard with row-level security, and quote-request workflows.

Next.js 15 Supabase TypeScript shadcn/ui Design System Modular Design CMS Playwright i18n
450+Products
EN/ZHBilingual
RLSSecurity
E2ETested
client-project.com/products
EN 中文
Products About Contact
Industrial Solutions
Engineered for
Safety & Compliance
ISO certified manufacturer serving commercial and industrial markets for 30+ years.
View Catalog Request Quote
Featured Products Filter ▾
💡
LED Module A
PRD-EX-2400
🔌
Control Unit
PRD-CU-1800
⚡
Power System
PRD-PS-5000
02
Healthcare Mobile

ClinicApp

Cross-platform mobile app for clinic management with offline-first data sync, push notifications, crash reporting, and E2E testing — built for environments where connectivity is unreliable.

React Native TypeScript Firebase MobX Detox E2E Storybook
iOS+AndroidPlatforms
OfflineFirst
HIPAAReady
9:41 ●●●● WiFi
Good morning, Dr. Chen
Dashboard
👥
24
Patients today
🕒
8
Upcoming
Synced 2 min ago · 3 pending
Next Patients
JW
James Wong
Follow-up · 10:30 AM
Scheduled
SL
Sarah Lee
New patient · 11:00 AM
Waiting
03
AI Automation

Looper

Orchestrates AI agents that run 24/7 — cron scheduling, persistent memory, browser automation, and multi-channel notifications. Everything monitored through a real-time WebSocket dashboard.

Turborepo TypeScript Hono Playwright Claude SDK WebSocket Telegram
3Agent Types
LiveDashboard
24/7Autonomous
localhost:3000/dashboard
⚙
🔎
📊
⚙
Agent Swarm 3 active
🤖
Code Reviewer
Reviewing PR #142 · 3 files
🔎
Log Monitor
Scanning prod errors · last 1h
🌐
Web Scraper
Collecting pricing data · 12 sites
14:32:01 ✓ Code Reviewer completed PR #141
14:32:15 ► Dispatching Log Monitor (cron: */5)
14:33:02 ⚠ Web Scraper: rate limited on site 7
14:33:08 ✓ Retrying with backoff...
04
Media Platform

SoundByte

Full-stack audio clip platform: native iOS app (Swift) with iMessage extension, Express backend with S3 storage, waveform editor with FFmpeg processing, and Meilisearch-powered instant discovery.

Swift Express.js MongoDB AWS S3 FFmpeg Meilisearch
3Platforms
SwiftNative iOS
S3Audio CDN
architecture · soundbyte ecosystem
System Architecture
📱
iOS App
Swift · UIKit
💬
iMessage Ext
Messages Framework
🌐
Submit Portal
Next.js · Wavesurfer
⚡
API Server
Express · JWT · Winston
🗃
MongoDB
GridFS · Mongoose
☁️
AWS S3
Audio storage
🔍
Meilisearch
Instant discovery
05
EdTech Product

CodeQuest

A gamified interview prep platform inspired by Duolingo — for senior engineers. Live coding in Monaco Editor, AI-powered feedback, spaced repetition, streaks, and a skill progression system.

Next.js Prisma Auth.js Monaco Editor Claude API shadcn/ui
6Modules
AIFeedback
SoloBuilt
codequest.dev/challenge/system-design-lru
Challenge
Hard
Design an LRU Cache
Implement a data structure that follows the Least Recently Used eviction policy with O(1) get and put operations.
Level 14 2,450 / 3,800 XP
🔥 12 day streak
solution.ts
class LRUCache<K, V> {
  private map = new Map<K, V>();

  constructor(
    private capacity: number
  ) {}

  get(key: K): V | undefined {
    const val = this.map.get(key);
    if (val !== undefined) {
      this.map.delete(key);
      this.map.set(key, val);
    }
    return val;
  }
}
✨ Claude: Good approach using Map ordering. Consider adding a put() method that handles eviction when capacity is exceeded. The generic types are a nice touch.

From Brief to Production

💬
01
Discover
I ask the questions you haven't thought of yet. Users, constraints, and what “done” actually looks like.
🛠
02
Architect
Pick the right tools, not the trendy ones. Design for the scale you need now and the scale you'll need next.
⚡
03
Build
Weekly demos, not monthly updates. No vanishing acts — you see working code every week.
🔎
04
Test
E2E tests, accessibility audits, performance benchmarks. If I haven't verified it, it doesn't ship.
🚀
05
Ship
CI/CD, monitoring, docs. I don't throw it over the wall — I make sure it runs.

What I Work With

Frontend
  • Next.js 15 (App Router, RSC)
  • React 19 / React Native
  • TypeScript (strict)
  • Tailwind CSS / shadcn/ui
Backend
  • Node.js / Express / Hono
  • Python / FastAPI
  • Rust / Axum
  • GraphQL / REST APIs
  • WebSocket / SSE
Data
  • PostgreSQL / Supabase
  • MongoDB / Redis
  • Prisma ORM
  • Meilisearch
AI & Automation
  • Claude SDK / OpenAI
  • Agent orchestration
  • Playwright automation
  • MCP servers
Mobile
  • React Native / Expo
  • Swift / UIKit
  • Firebase suite
  • Fastlane CI/CD
  • Detox E2E testing
Infrastructure
  • Vercel / AWS (S3, Lambda)
  • Docker / Docker Compose
  • Turborepo monorepos
  • GitHub Actions CI/CD
  • Playwright / Vitest
Design & CMS
  • Design systems / tokens
  • Modular component architecture
  • Payload CMS / Strapi
  • Storybook documentation
  • Figma to code workflows
Practices
  • TDD / BDD
  • Accessibility (WCAG 2.1)
  • Performance optimization
  • Agile / Kanban
  • Code review & mentoring

Insights

Latest thinking
Mar 25, 2026

Context Engineering: Selective Context Routing

Reducing AI agent token costs by 60-80% using TypeScript AST analysis to route only relevant code to specialist agents.

Mar 01, 2026

Why I Built an Agent Swarm to Analyze 111 Projects

Using parallel AI sub-agents to audit an entire portfolio in under 10 minutes. Lessons on orchestration and context windows.

Feb 01, 2026

Offline-First Mobile: Lessons from Healthcare

Designing sync queues and conflict resolution for a clinic app where connectivity was unreliable.

Jan 01, 2026

The Case for Rust in Your Trading Stack

Rewriting an order execution engine from Node.js to Rust to achieve a 40x latency drop. Benchmarks and architecture.

2 slots open · Available now

Let's build
something great.

Tell me about your project. I typically respond within 24 hours.

— or connect —