- FRONTEND — nutrition facts
- TypeScript 100% — Types first: the compiler catches at 2 pm what users would find at 2 am.
- React · Next.js 98% — Server components, streaming and the App Router, shipped as products rather than demos.
- Three.js · R3F 85% — Real-time 3D that stays on budget: instancing, compressed assets, one canvas for the whole page.
- GSAP · Lenis 90% — Scroll-driven choreography on one master timeline, scrubbed to the pixel.
- Tailwind 95% — Design tokens as utilities; the stylesheet stays the size of the design system.
- Accessibility 80% — Keyboard, contrast and reduced motion are the spec, not the retrofit.
- Vitest · Playwright 75% — Unit tests for the logic, browser tests for the choreography, screenshots for the rest.
- Ingredients: TypeScript, React, Next.js, Three.js, GSAP, Tailwind, Vitest, Playwright, Figma.
- BACKEND — nutrition facts
- Node · Bun 95% — Typed services on the runtime that fits: Node for the ecosystem, Bun for the speed.
- Python 90% — The data and model side: pipelines, evaluation scripts, the odd FastAPI service.
- Postgres · pgvector 88% — One database for rows, queues and embeddings — fewer moving parts to page you.
- Redis · queues 80% — Background jobs with retries, backoff and dead letters, not fire-and-forget.
- Docker · CI 85% — Reproducible images and a pipeline that fails fast, on every push.
- Auth · security 80% — OAuth, sessions and secrets handled the boring way — the safe one.
- Observability 70% — Traces, metrics and structured logs, so incidents are read, not guessed.
- Ingredients: Node, Bun, Python, Postgres, pgvector, Redis, Docker, GitHub Actions, OpenTelemetry.
- GEN-AI — nutrition facts
- LLM APIs 100% — Anthropic and OpenAI in production: streaming, tool use, structured output, fallbacks.
- RAG · embeddings 95% — Chunking, hybrid retrieval and reranking tuned on the real corpus, with citations.
- Agents · tool use 92% — Bounded, observable agents with typed tools and human checkpoints.
- Evals 85% — Rubric-graded test suites that run on every prompt and model change.
- Prompt design 98% — Prompts as versioned code: templates, few-shots and guardrails under test.
- Vector DBs 88% — pgvector, Qdrant or Pinecone, chosen by scale and latency rather than hype.
- Fine-tuning 60% — Small task-specific models when the prompt stops paying off.
- Ingredients: Anthropic, OpenAI, LangGraph, embeddings, pgvector, evals, guardrails, streaming.