Software I use, programming languages and frameworks I love, and other stuff I recommend.

I get asked a lot about the things I use to build software, stay productive, or buy to fool myself into thinking I’m being productive when I’m really just procrastinating. Here’s a big list of all of my favorite stuff.

Languages & Frameworks

  • Typescript all the way!

    Coming from a .NET background, I'm pretty fond of C# and the type safety it provides. I've used Java, C++, Flutter, PHP, and plain Javascript in all sorts of projects since college but once I adopted TypeScript it's been my go-to language for everything.
    Well, almost everything, since the AI/ML world runs on Python. I'm actually looking forward to Mojo, the new Python-like language from the creator of Swift . Given I'm doing more and more AI and ML stuff these days, I have a plan to learn it soon.

  • NodeJS

    The OG JavaScript runtime for the server. Deno and Bun seem promising, so I'll probably give them a try at some point but for now NodeJS is still my go-to.

  • React + ViteJS

    This section is a work in progress. Come back later for updates.

  • NextJS

    This site is built with NextJS. That's pretty much it.

Infra

  • AWS

    This section is a work in progress. Come back later for updates.

  • Google Cloud

    This section is a work in progress. Come back later for updates.

  • CloudFlare

    This section is a work in progress. Come back later for updates.

  • Docker Swarm

    This section is a work in progress. Come back later for updates.

  • Portainer

    This section is a work in progress. Come back later for updates.

  • Traefik

    This section is a work in progress. Come back later for updates.

  • NATS

    This section is a work in progress. Come back later for updates.

Databases

  • MongoDB

    The absolute GOAT if you ask me! I'm so done with ORMs and JOINs that the Object/Document-oriented paradigm makes all the sense in the world to me. I've used MongoDB in all sorts of projects from basic CRUD apps to complex data analytics. It's fast, flexible, scalable, and open source.
    If you're not too inclined to manage your own DB servers, MongoDB Atlas is a great option. It's super easy to set up and manage, has a generous free tier that will be enough for most simple Marketplace Apps, the paid tiers are cheaper than most other cloud DB providers with comparable compute power and memory.
    Bonus points, Atlas App Services will automatically turn your MongoDB database into a REST API for you without you having to write a single line of code. It's a great fit for apps that are hosted on a CDN like CloudFlare Pages or Vercel, since it doesn't have connection astablishment overhead is stateless unlike regular database connections.

  • PostgreSQL

    OK, not everything can be NoSQL, there's actually A LOT of awesome open source stuff out there that uses PostgreSQL as its database. Some of the things I use it for:
    LogTo - OAuth2.0 server for user management
    N8N - Self-hosted workflow automation
    Grafana - Nice dashboards, log aggregation, and alerting

Development Tools

  • VSCode FTW!

    Back in my .NET days I used Visual Studio proper and swore by it. I also had brief encounters with a few variants of Eclipse and tried out the IntelliJ IDEs when I built Android apps, and XCode for the odd iOS app.
    When I finally switched to NodeJS I found myself using VSCode all day long and eventually got rid of everything else. I even use it to write the posts on this site and to take notes. It really is pretty versatile.

  • Windows Terminal

    It's open source, it's fast, it's customizable, and it has tabs. What more could you want? Oh yeah, and it can tile your terminals in a grid, just like the OS does with your windows.
    I jump from the standard Windows command prompt to PowerShell to WSL all the time so having a single app that can handle all of them is a huge win.

  • Navicat Premium

    This one is kinda pricey but it's definitely worth it. It talks to pretty much any database you can think of: Posgtres, MySQL, MSSQL Server, Oracle, SQLite, MongoDB, Redis. It has specialized connection profiles for all the top managed cloud DB providers, too.
    The UI is nice and clean and. The Modeling, Import/Export and Data Transfer, Schema Introspection, and CHarts features are all super useful. It's available for Windows, Mac, and Linux, which is rare for such a complete DB client.
    They do have a Lifetime license option so if you're not put off by the price tag, it's a great deal.

Workstation

  • ASUS ROG Zephyrus Laptop, 40GB RAM

    Tim Cook would have you believe that you absolutely need a Mac to do serious work. I’m here to tell you that’s not true. This is the best laptop I’ve ever owned, running on close to 4 years now and still going strong.
    4K video @ 60fps? No problem! Graphics editing and video rendering? A breeze! 40 browser tabs open? Easy!. DB servers and Docker containers? I've lost count of how many I'm running by now!
    I love this thing. I upgraded the RAM to 40GB and the NVMe to 2TB and it’s been a beast ever since. Take that Apple!

  • 2 x DELL SE2719H FullHD IPS Displays

    They don't make these anymore but I've found that you don't really need fancy 4K displays to build software.
    I've got two of these side by side and they get the job done just fine. I'll probably upgrade to a 4K display at some point but I'm in no rush.