A pragmatic stack for shipping, learning, and scaling.

I choose technology around product risk—not novelty. These are the tools I trust to move quickly, keep systems understandable, and learn from real usage.

01

Product apps

Interfaces and product foundations for web and mobile.

Next.js · React · TypeScript · Tailwind

My default for web apps, dashboards, marketing sites, and founder-facing products where speed, SEO, and maintainability all matter.

Flutter · Dart

For polished cross-platform mobile products with subscriptions, onboarding, analytics, and fast release iteration on iOS and Android.

Remix · Prisma · Stripe

A durable combination for SaaS products that need clear data models, reliable forms, billing, and a practical path to production.

02

Back end and data

APIs, product state, search, and research pipelines.

Node.js · Fastify · GraphQL · REST

The simplest API shape that fits the domain—from lean REST services to GraphQL systems with richer query boundaries.

PostgreSQL · Supabase · Redis

Relational data for core state, Redis for queues and caching, and search infrastructure when discovery is a real product feature.

Python · Pandas · scikit-learn · XGBoost

The research stack behind data pipelines, feature engineering, model experiments, and leakage-aware repeatable backtests.

03

Infrastructure and growth

Delivery, observability, entitlements, and feedback loops.

Vercel · AWS · Docker · Kubernetes

Deployment choices follow product stage: managed speed early, then containers and cloud control as system needs become real.

GitHub Actions · CI/CD

Repeatable builds, automated checks, and release workflows that keep shipping safe without slowing a small team down.

RevenueCat · Segment · Mixpanel

Entitlements, analytics, crash visibility, and funnel instrumentation are included in the build—not added after launch.