Stack
Tools are a means, not an identity, but here's what I reach for first and why.
Languages
Go
The default for anything that needs to be fast and simple to reason about, no hidden magic, no runtime surprises.
Python
My go-to for scripting, data work, and gluing systems together fast.
Java
Where I learned to think in objects and interfaces, still my baseline for statically-typed OOP.
C#
Production feature work on a .NET financial platform at Re: Members, strongly typed and easy to trust.
C++
Systems and algorithms coursework, the language that makes you understand what's actually happening under the abstraction.
Backend & APIs
REST APIs
The simplest contract two systems can agree on.
.NET
Closed 30 tickets in 50 days on Re: Members' production .NET platform, the highest of any intern that summer.
Django
Batteries-included Python, which is exactly what a dues-and-ledger dashboard like Palamedes needed.
FastAPI
Fast, typed, and quick to wire an API around, my pick when Django is more than the job needs.
Data
SQL
Every real system eventually needs a query an ORM can't fake.
PostgreSQL
My default database, relational, boring, and it just works.
Supabase
Postgres plus auth and an API, without standing up my own backend for a side project.
Infrastructure
GitHub Actions
Drove CI runs on a schedule at InvisiRisk to keep a training-data pipeline fed, my default for anything that has to run on every push.
CI/CD
If a change can't ship itself, I don't trust it to ship.
Docker
The same container in dev, staging and prod, one less category of bug to debug.
Linux
The OS almost everything I build actually runs on, so it's the one I've bothered to actually learn.
Git
Version control isn't optional, it's how you undo the mistake you haven't found yet.
Frontend
Next.js / React
What this site is built with, a good excuse to take the frontend seriously.