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.
Languages
TypeScript
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.
HTML
Writing clean and accessible HTML is still a useful skill in 2023. I made the mistake of neglecting it when JavaScript frameworks were all the rage, but not anymore.
CSS
CSS has become incredibly powerful over the years. Advanced layouts and animations can be achieved with little CSS when understood properly.
JavaScript
Coming from Ruby, learning JavaScript came with its set of challenges. The language is extremely flexible and can fit multiple programming paradigms. It's a beautiful language when used properly.
GraphQL
Query language for your API.
Frameworks
Next.js
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
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.
Gatsby.js
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!
Laravel
The most popular PHP framework for building web apps.
Librairies
React.js
React got me into frontend development. I taught myself React early 2018 and I have mostly been focusing on frontend development since then.
Tailwind CSS
I love Tailwind! In a world of JavaScript everything, it stands out for its simplicity while being extremely powerful.
Chakra UI
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
Prisma is the perfect ORM companion for my Next.js projects, if I ever need to make use of Next's API routes.
Lottie Web
As a developer, building animations with plain CSS or JavaScript is always a lengthy process. Lottie solved that problem for me. I've been able to integrate incredibly complex animations as easily as importing a static image.
Rebass
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.
Redux
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.
Apollo Client
Appolo Client is as good as react-query, but for GraphQL.
XState
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!
bn.js
JavaScript was not designed to handle precision math, but bn.js makes it possible. It's a non-negotiable dependency for projects with banking features.
Headless UI
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.
Radix UI
I love the level of details that went into making Radix UI. I use wherever Headless UI doesn't cut it.
React Query
The most popular async state management library for React projects. Trying to handle network requests and data caching without it feels so primitive now.
SWR
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
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
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
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.
SDKs
Stripe SDK
It would be hard to imagine a world where Stripe doesn't exist. Their API documentation is the gold standard for web APIs.
Twilio SDK
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!
Mapbox SDK
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.
Airtable SDK
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.
Firebase SDK
Like most Google APIS, Firebase can be a bit tricky to work with but covers a lot of use cases.
Ethers
The library for interacting with the Ethereum blockchain.
Intercom SDK
Popular communication API.
Fuels
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!
Dev Tools
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
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.
Docker
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.
Parcel
A zero-configuration bundler for the rest of us
Vite
Next-generation bundler for frontend projects.
Github
The most popular code hosting & collaboration platform
Github Copilot
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
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.
iTerm
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.
Productivity
Notion
My external brain
Workstation
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.