Toolbox
My Toolbox
Over the years, I’ve refined a development workflow centered around a carefully selected set of tools, platforms, and technologies. My goal isn’t to chase every new framework—it’s to assemble a toolbox that lets me move quickly from an idea to a production-ready product while maintaining quality, reliability, and a great developer experience.
I constantly evaluate new technologies, but only adopt them when they meaningfully improve the way I build software. The result is a modern, AI-first engineering workflow that allows me to prototype in hours, iterate in days, and ship production systems with confidence.
Rather than viewing AI as a feature, I treat it as an integral part of my engineering process—from architecture and implementation to testing, documentation, deployment, and ongoing maintenance.
AI Development
These are the tools I work with throughout the day to accelerate development, explore ideas, generate code, review designs, and solve complex technical problems.
- Cursor
- ChatGPT
- OpenAI Platform
- Codex
- Claude Code
- OpenClaw
- LM Studio
- Ollama
- Jupyter Notebooks
Application Platform
My preferred stack for building modern SaaS products and AI applications.
- Next.js
- React
- TypeScript
- Kotlin
- Ruby
- Ruby on Rails
- AI SDK
- Drizzle ORM
- Better Auth
- Postgres
- Redis
- Tailwind CSS
- Radix
- shadcn/ui
- Node.js
Cloud & Infrastructure
Infrastructure designed to make deployment, scaling, and operations simple.
- Vercel
- Fly.io
- AWS
- Google Cloud Platform
- Kubernetes
- GitHub
- Neon
- Cloud Object Storage
- Docker
Product Operations
The tools I rely on to monitor, improve, and operate production systems.
- Datadog
- PostHog
- Linear
- Resend
Local Development
A productive local environment is essential for rapid experimentation and iteration.
- Tailscale
- Ollama
- LM Studio
- Docker
- Git
- macOS
- Homebrew
Engineering Philosophy
My toolbox is intentionally opinionated.
I prefer technologies that are simple, composable, and well documented. I value developer experience just as highly as runtime performance, because great products are built by teams that can iterate quickly.
When evaluating new tools, I look for:
- Excellent developer experience
- Strong type safety
- First-class AI integration
- Production reliability
- Fast local development
- Clear documentation
- Vibrant communities
- Minimal operational complexity
The specific tools in my toolbox will continue to evolve, but the philosophy remains the same: choose technologies that remove friction, encourage experimentation, and allow great ideas to become working software as quickly as possible.