My go-to Tech Stack and work environment

I think it is imporant to work with people that share similar technological preferences. This is what I like to use at the moment. It might also be an inspiration for others to find new ways to work.

Development

  • Typescript

    Converting to typescript from javascript was a game changer for me. It makes my code more readable and maintainable, plus the developer experience is SO much better. I could never go back...

  • Next.js and Vercel

    From being a long time PHP user, Next.js was a breath of fresh air. Being able to use the same programming language for both the frontend and backend with Node.js is a huge win. Vercel makes it so easy to deploy; updating my apps is as simple as pushing to Github.

  • React

    Having tried a lot of bleeding edge frameworks, I feel React is the most stable and reliable. It has the best ecosystem and the fact that it is simply the most used framework makes it a no-brainer. It is also works best with Typescript in my experience.

  • TailwindCSS

    I’ve never been a fan of CSS and design in general, but Tailwind makes it so much easier and fun to make anything look good.

  • tRPC and React Query

    In the next.js ecosystem, I have found tRPC and React Query to be mindblowing in their simplicity and power. They make it so easy to fetch and update data in a typesafe way. I almost feel there is no gap between my frontend and backend anymore.

  • MySQL and Prisma

    I have been using MySQL for a long time. It’s simple, fast, and reliable. I have tried other databases including non-relational ones, but I always come back to MySQL. With a typesafe ORM like Prisma or Drizze it works great in this stack.

IDE and workflow

  • Neovim

    I sometimes use VSCode, but I always come back to Neovim. It’s fast, fun to use, and I can use it on any machine. I try to do as much in my workflow using jsut my keyboard. So the Vim keybindings work great now that I have learned them. I also use plugins to be able to use similar bindings so that I can control my brower and other productivity tools with just my keyboard.

  • iTerm2

    iterm2 is my go-to terminal. I love the split screen feature and the ability to customize it. I also love to play with CLI applications; the minimalism and speed of the terminal is great and makes you feel like a hacker.

  • Copilot

    Having copilot in my IDE is such a quality of life improvement. It saves you so much typing for boilerplate code and sometimes gives you great suggestions for functions and code snippets. It’s no where near replacing a developer, but it is a fantastic assistent

  • Github

    I use Github for all my projects. It’s the best way to collaborate and keep track of changes. Using Lazygit in my terminal makes it a breeze to stage and commit changes, and most deployments are done automatically with Github integrations.

Hardware

  • Macbook Air 13 M1

    I have never owned a different main computer than a Mac. I grew up with them and I love the build quality and the ecosystem. Also the Unix like environment is great for development. Working on a laptop makes it possible for me to work from anywhere.

  • Raspberry Pi

    I have a few Raspberry Pi’s at home. They are great for running small services and automating things. Playing around, setting up servers, databases, and other services is a great way to learn. Also having somehing with a Linux environment is great for understanding how things work in remote servers.