The stack I reach for when speed, reliability, and product feedback matter.

Tools change, but the goal does not: choose boring foundations where possible, move fast where it matters, and instrument the product early enough to learn from real usage.

Product apps

  • Next.js, React, TypeScript, Tailwind CSS

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

  • Flutter and Dart

    Useful for shipping polished cross-platform mobile apps with one codebase, especially when the product needs subscriptions, onboarding, analytics, and release iteration on iOS and Android.

  • Remix, Prisma, and Stripe

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

Back end and data

  • Node.js, Fastify, Express, GraphQL, REST

    I use the simplest API shape that fits the product, from lean REST services to GraphQL systems where the domain benefits from richer query boundaries.

  • PostgreSQL, Supabase, MongoDB, Redis, Elasticsearch

    Relational data for core product state, document stores when the data model demands it, Redis for queues/caching, and search infrastructure where discovery is a real product feature.

  • Python, Pandas, NumPy, scikit-learn, XGBoost, LightGBM

    The stack behind PatternRank-style data pipelines, feature engineering, model experimentation, and repeatable backtesting.

Infrastructure

  • Vercel, AWS, Docker, Kubernetes, GitHub Actions

    I pick deployment paths based on the product stage. Vercel is great for fast web delivery; AWS, containers, and CI/CD come in when the system needs more control.

  • Firebase, RevenueCat, Segment, Mixpanel

    For mobile and early product loops, analytics, crash reporting, entitlement management, and funnel visibility are part of the build, not an afterthought.