Tools I reach for across the full stack from agentic workflows, languages to infrastructure. Each category highlights my current go-to.
AI agents sit at the centre of how I prototype and ship today. Claude Code drives my day-to-day engineering workflow, while GPT and GitHub Copilot cover complementary gaps across the stack. n8n and Inngest handle the automation and background-job orchestration that ties it all together.
Claude Code
by Anthropic
Anthropic's agentic CLI for AI-assisted coding and workflows
n8n
by n8n GmbH
Open-source workflow automation platform with 400+ integrations
Inngest
by Inngest
Durable event-driven background jobs with retries and observability
GPT
by OpenAI
OpenAI's large language model APIs for generative text and reasoning
GitHub Copilot
by GitHub
AI pair programmer providing inline completions in the IDE
Figma AI
by Figma
AI-powered design assistance for generating and iterating on UI
TypeScript is my default for any new project — it eliminates an entire class of runtime bugs before they reach production. JavaScript remains essential for scripting and tooling across the stack. Java powers the enterprise-grade APIs and microservices I've built with Spring Boot.
React and Next.js form the core of every UI I ship. Next.js App Router gives me server components, streaming, and edge rendering out of the box — without reaching for a separate meta-framework. Tailwind CSS keeps styles consistent and fast to iterate on, including this site.
Bun has become my go-to runtime for new JS/TS services — measurably faster than Node.js for both startup time and throughput. Node.js remains the stable choice when ecosystem compatibility matters most. Spring Boot handles the heavier enterprise microservices I've built in Java.
PostgreSQL is my default for anything relational — battle-tested, rich in features, and pairs seamlessly with Prisma for type-safe queries. MongoDB works well when the data model is dynamic or document-shaped, especially for prototypes that evolve quickly.
Redis sits between the application layer and the database, handling session storage, rate-limiting counters, and hot-read caching. Its sub-millisecond latency makes it the right tool whenever response speed is non-negotiable and the data fits in memory.
Kafka decouples producers from consumers in high-throughput, event-driven systems. It gives me durable, replayable streams that can fan out to multiple downstream services without tight coupling — essential for systems where message loss is not an option.
ClickHouse handles analytical queries over large datasets where row-oriented databases fall short. Prisma and tRPC keep the data-access layer end-to-end type-safe from schema to client, reducing the surface area for type drift. REST remains the standard choice for public-facing APIs.
ClickHouse
by ClickHouse, Inc.
High-performance OLAP column store for analytical workloads
Prisma
by Prisma
Type-safe ORM with migrations and a declarative schema
tRPC
by tRPC
End-to-end type-safe API layer eliminating client/server drift
REST
by IETF / Roy Fielding
Standard HTTP API design pattern for resource-oriented services
Clerk is my default for new projects — it ships a complete auth UI and user management layer out of the box, letting me skip the plumbing. Better Auth gives me more control when I need a self-hosted or custom auth flow. Google and GitHub OAuth layer on top for frictionless social sign-in.
Firebase and Convex both provide real-time data sync with minimal backend setup — useful for reactive features that would otherwise require custom WebSocket infrastructure. Sentry sits across every layer to surface errors and performance regressions before users report them.
Lefthook runs lint and type checks as a pre-commit gate so broken code never reaches the remote. GitHub Actions handles CI pipelines for most projects with zero infrastructure to maintain. Jenkins takes over for the more complex, self-hosted enterprise pipelines I've worked on.
Vercel is where my Next.js projects land first — zero-config deploys with a global edge network and per-commit preview URLs. AWS provides the underlying compute and storage for more complex workloads. Azure covers the Microsoft ecosystem requirements I encounter in enterprise contexts.