Software I use, gadgets I love, and other things I recommend.
People occasionally ask what I use to build software, so here's an up-to-date list of the hardware, software, and technologies I rely on every day. I'm primarily a C#/.NET developer who enjoys building full-stack applications. Over the years I've expanded into TypeScript, cloud infrastructure, and modern web technologies, but the Microsoft ecosystem is still where I feel most at home.
Computers & OS
Ubuntu
Ubuntu is my primary development environment. Most of my backend services, containers, Kubernetes clusters, and infrastructure work happen here.
Windows 11
I also maintain a Windows 11 workstation for Visual Studio and Microsoft-specific tooling. It's still the best environment for certain .NET workloads, profiling tools, MAUI experimentation, and staying current with the Microsoft ecosystem.
IDEs & Editors
JetBrains Rider
My primary IDE. I spend most of my day in Rider building .NET services, reviewing code, debugging applications, working with databases, and navigating large codebases.
Microsoft Visual Studio
I still regularly use Visual Studio for native .NET tooling, diagnostics, performance profiling, and keeping up with the latest Microsoft developer experience.
Visual Studio Code
Perfect for frontend development, scripting, quick edits, Markdown, and configuration files.
Languages
.NET
- ASP.NET Core
- Entity Framework Core
- Minimal APIs
- SignalR
- Background Services
- LINQ
- OpenAPI / Swagger
I'm also interested in distributed systems and have been exploring technologies like Microsoft Orleans.
Frontend
Backend
I choose technologies that are easy to understand, easy to deploy, and easy to maintain over the long term.
Infrastructure
Nearly every project I build is containerized from day one. Whenever it makes sense, I prefer self-hosting over managed cloud services.
Databases
- Primary: Microsoft SQL server, PostgreSQL
- Regular: Azure Cosmos DB, Redis, SQLite
AI
AI has become an everyday development tool rather than a replacement for engineering. I mostly use it for architecture discussions, code reviews, debugging, documentation, and generating repetitive code.
Recently I've been spending a lot of time experimenting with RAG, local models, and self-hosted AI infrastructure.
Philosophy
Build for the next five years, not the next five days.
Prefer boring, proven technology over hype.
Simplicity usually wins.
Good observability saves more time than clever code.
Self-host when it reduces long-term cost and gives meaningful control.
Measure before optimizing.
Continuously learn, but adopt new technology deliberately.
