βββββββ ββββββ ββββββββ ββββββ ββββ ββββββββββββ
βββββββββββββββββββββββββββββββββββββ ββββββββββββ
ββββββββββββββββββββββββββββββββββββββ βββ βββ
ββββββββββββββββββββββββββββββββββββββββββ βββ
βββββββββββ ββββββββββββββ ββββββ ββββββ βββ
βββββββ βββ ββββββββββββββ ββββββ βββββ βββ
Full-stack engineer with a product-first mindset. I gravitate toward problems where correctness matters β distributed systems, type-safe APIs, async pipelines that don't silently drop data.
Currently building logistics infrastructure at supertruck.ai β real-time trip management, document parsing pipelines, and carrier integrations that hold up under load.
When I'm not writing code, I'm usually explaining it. I do technical mentorship and enjoy the kind of code reviews where both sides learn something. I prefer a terminal over a GUI, Zod over runtime surprises, and PostgreSQL over everything else.
Primary Languages
βγγγΎγ TypeScript (daily driver)
βγγγΎγ Python (FastAPI + scripting)
βγγγΎγ Go (when perf demands it)
βγγγΎγ JavaScript (when TypeScript won't)
Backend Frameworks
βγγγΎγ NestJS (architecture-first)
βγγγΎγ FastAPI (async-native)
βγγγΎγ Express (when speed > structure)
βγγγΎγ GraphQL (schema-driven APIs)
Data Layer
βγγγΎγ PostgreSQL (primary store)
βγγγΎγ Redis (cache + streams)
βγγγΎγ RabbitMQ (message bus)
βγγγΎγ Prisma (type-safe ORM)
βγγγΎγ MongoDB (when docs fit)
Frontend Β· Infra Β· Tooling β
Frontend
React Next.js TailwindCSS TanStack Query shadcn/ui
Infra & DevOps
supertruck.ai Β· production
Real-time trip management for trucking ops. Email attachment parsing, rate confirmation workflows, async event handling, carrier integrations. Built the NestJS backend from zero to production.
NestJS TypeScript PostgreSQL Redis AWS
Full-stack Β· shipped
Multi-platform post scheduling dashboard. FastAPI async backend, OAuth account flows, per-platform media specs, presigned R2 uploads. Fought React Strict Mode double-submission so you don't have to.
FastAPI Next.js SQLAlchemy Cloudflare R2
High-concurrency Β· OSS
Custom layer on Node.js + Redis Streams. 5,000+ events/sec. Consumer group ACK, dead letter handling, fan-out patterns. Built because off-the-shelf wasn't cutting it.
TypeScript Redis Streams Docker
Data viz Β· shipped
Complex analytics surface with D3.js + Prisma + real-time PostgreSQL streaming. The kind of dashboard where the loading state matters as much as the data.
Next.js D3.js PostgreSQL Prisma
Database indexing is a first-class design decision. Most devs add indexes reactively when queries slow down. I treat index design like schema design β upfront, intentional, and documented.
Type-safety is load-bearing, not ceremonial. Zod + Prisma + TypeScript end-to-end isn't over-engineering. It's buying runtime confidence in exchange for compile-time discipline. A trade I'll always take.
The hardest bugs only appear at Γγ°γ€ traffic. Race conditions, unacked queue messages, connection pool exhaustion. Production teaches you what local dev never will. I keep a list.
Good dotfiles beat any GUI tool. My terminal setup is a system. Every alias, function, and prompt line is deliberate. A well-tuned shell over any drag-and-drop interface, every time.
I'm reachable for:
- System design discussions β especially distributed systems, API contracts, and anything where the wrong call at design time costs weeks at runtime
- Technical mentorship β async code review or architecture pairing; I give direct feedback and I remember what it felt like not to know things
- Open source collaboration β NestJS, FastAPI, real-time infra; reach out with a specific problem, not a generic "collab?"
The best opener is a specific question. "I'm building X and I'm stuck on Y" β always gets a response.