Software I use and gadgets I love ✨
Here’s a big list of all the tools, software, and hardware I use (or used to use) to stay productive and build great things.
My go-to language for most projects these days. It takes some time to get the types right at the beginning, but it always pays off as the project grows.
CSS has become incredibly powerful over the years. Advanced layouts and animations can be achieved with little CSS when understood properly.
Query language for your API.
After using plain React for a while and running into the same configuration issues (routing, code splitting, lazy loading, SSR, ...), I found Next.js and was hooked! Unless there's a need for plain React, I default to using Next.js.
Strapi is one of those tools so flexible that it can fit many use cases. I've used it as a backend, admin panel and web API for my previous company. It's a great tool! A TypeScript support would be nice though.
Ruby on Rails
Ah Ruby on Rails... This is where it all started for me. Even though I haven't used it in years, I still use its priceless principles and patterns in my work today. I still believe it's one of the best framework for building web applications.
I used Gatsby as a static site generator for a few projects back in 2018. The built-in lazy-loading and image optimization features felt like magic at the time. It was indeed blazing fast!
The most popular PHP framework for building web apps.
React got me into frontend development. I taught myself React early 2018 and I have mostly been focusing on frontend development since then.
When I don't use Tailwind CSS, Chakra UI is my go-to (and favourite) React component library. It's well designed, accessible, themeable and composable. All the good stuff!
Prisma is the perfect ORM companion for my Next.js projects, if I ever need to make use of Next's API routes.
Rebass was one of the first component libraries I used. Its themeable and constraint-based design principles was exactly what I needed at the time, when I started building larger frontend apps.
I've always had a love-hate relationship with Redux. It's a great tool, but the boilerplate can be a bit much. I love the one-way data flow and predictability of the state tree, but I believe there are better alternatives today.
Appolo Client is as good as react-query, but for GraphQL.
XState is pretty awesome! Finite state machines are a mind shift from the traditional state management libraries, but a worthwhile one. It forces you to clearly map out the different states and transitions of your application, which is a great thing!
Headless UI is made by the same team behind Tailwind CSS, hence both tools work together like magic, pretty neat! It's my go-to component library for Tailwind projects.
I love the level of details that went into making Radix UI. I use wherever Headless UI doesn't cut it.
The most popular async state management library for React projects. Trying to handle network requests and data caching without it feels so primitive now.
I found out about SWR as I was browsing the Next.js docs. I was impressed by all the features of the tool and the simplicity of the API.
React Hook Form
Managing complex forms is one of the hardest things in web development. React Hook Form makes it so much easier and scalable.
React Router has been around for a while now, and has remained the most popular routing library for React, which is impressive. I always use it on standalone React projetcs.
React Final Form
The react adapter for the popular final-form library.
Auth.js - previously NextAuth.js - is incredibly intuitive and covers most, if not all, authentication use cases. It's not my go to authentication library for my Next.js projects.
tRPC is incredibly powerful! I had a big wow moment when I first tried it. Data fetching is usually where type safety ends in frontend projects, but tRPC not only makes it possible, but also easy and enjoyable.
It would be hard to imagine a world where Stripe doesn't exist. Their API documentation is the gold standard for web APIs.
I used Twilio to create onboarding flows with SMS verification. They made that process a breeze.
Google Auth SDK
The gateway to Google's API ecosystem.
Google Calendar SDK
I've worked a lot with Google's Calendar API when implementing a real-time, bi-directional calendar sync. Their webhook system is tricky to work with, but we made it work!
I tried Mapbox when Google Maps API became too expensive for our use case. It's a great alternative and simpler to set up than Google Maps.
I love Airtable so much that I've used their API as a backend or CMS for a few projects. It's not always a long-term solution, but it's a great way to get started quickly.
Like most Google APIS, Firebase can be a bit tricky to work with but covers a lot of use cases.
The library for interacting with the Ethereum blockchain.
Popular communication API.
The library for interacting with the Fuel blockchain.
Vercel AI SDK
It would be much harder to build a snappy chat UI without Vercel AI SDK. It's a great tool that work with a wide variety of AI providers. And the SDK works on the frontend and backend, which is pretty neat!
Visual Studio Code
I was a Sublime Text lover for years. It was a sad moment when I could no longer lie to myself and admit that VS Code was the best code editor out there. It's such a pleasure to use.
Prettier changed my (dev) life. I remember days when I used to format code manually, I can't believe it was a thing. Prettier is the extension I install first when I start a new project.
I've barely scratched the surface of Docker. I've used it to run a few databases locally and it makes that process so much easier already.
Z - jump around
Z is a tiny shell script but such a cool one. It makes moving around the file system so much easier. I 'z' my way around directories instead of 'cd'ing like a caveman.
A zero-configuration bundler for the rest of us
Next-generation bundler for frontend projects.
The most popular code hosting & collaboration platform
Somedays, I feel like I am the co-pilot of Github Copilot, as it seems to incresingly know what I want to do. Mind blowing!
Firefox Developer Edition
I find Firefox's devtools more advanced and enjoyable to use than Chrome's. The network panel is particularly impressive.
Postman was a game changer for me as I started building or working with APIs. The collaboration features they added make it the ultimate tool for API development.
I've never used the default MacOs terminal, but whenever I see someone's screen with it, I feel like I am looking at a computer from the 80s. iTerm feels like the way to go.
My external brain
MacBook Air M1 (2020)
I've been on the Mackbook Pro bandwagon since 2009, but the M1 chip is such a game changer that a MacBook Air (with some extra RAM) is now more than enough for modern web development.
Samsung Smart Monitor M7 UHD
I've been dreaming of having a 4K external monitor like this during all my travel years. It is now the case! It makes frontend development so much enjoyable.