Skip to content

Software I use and gadgets I love

The list of all the tools, software, and hardware I use (or used to use) to stay productive and ship great things.

Frameworks

  • gatsbyjs.com

    My static site generator back in 2018, with built-in lazy-loading and image optimization that felt like magic.

  • nextjs.org

    I discovered Next.js v9 after hitting the same routing, code-splitting and SSR hurdles with plain React, and got hooked on its simplicity. Every major version makes it simpler still. It's my go-to for any web project, my new Ruby on Rails.

  • nitro.build

    Write your server once and deploy it anywhere: Node, serverless, or the edge. Zero config, and a joy to build APIs with.

  • rubyonrails.org

    Where it all started for me, and its principles and patterns still shape my work today.

  • strapi.io

    A flexible headless CMS I've used as a backend, admin panel and web API.

  • tanstack.com

    Full-stack React framework powered by TanStack Router.

Libraries

  • apollographql.com

    As good as React Query, but for GraphQL.

  • authjs.dev

    Auth.js (previously NextAuth.js) is intuitive, covers most authentication use cases, and is now my go-to for Next.js projects.

  • github.com

    A non-negotiable dependency for precision math in projects with banking features.

  • chakra-ui.com

    Before Tailwind CSS, Chakra UI was one of my favorite React component libraries: well designed, accessible, themeable and composable.

  • headlessui.dev

    Made by the Tailwind CSS team, it's my go-to component library for Tailwind projects.

  • airbnb.io

    Lets me integrate complex animations as easily as importing a static image.

  • prisma.io

    The ORM that made a frontend dev like me stop dreading the database.

  • radix-ui.com

    Beautifully detailed unstyled components I reach for wherever Headless UI doesn't cut it.

  • final-form.org

    The React adapter for the popular final-form library.

  • react-hook-form.com

    Complex forms in React quickly become a monstrous mess. React Hook Form is the easiest and most performant way to handle them. I use it for every form, even a single input and a submit button.

  • tanstack.com

    THE way to manage async server state; I can't imagine building a web app without it.

  • reactrouter.com

    Still the most popular routing library for React, and my pick for standalone React projects.

  • reactjs.org

    React blew my mind and got me into frontend development. I taught myself the basics in early 2018 and have mostly worked in its ecosystem since.

  • rebassjs.org

    One of the first component libraries I used, its constraint-based design was exactly what I needed at the time.

  • redux.js.org

    I love its one-way data flow and predictability, but the boilerplate is a lot and there are better alternatives today.

  • ui.shadcn.com

    My go-to way to build UIs today. Accessible components styled with Tailwind CSS, copied into my codebase so I own every line.

  • swr.vercel.app

    Async state management by the Next.js team, with lots of features behind a simple API.

  • tailwindcss.com

    Its intuitive class conventions and beautiful theme set developers up for success like few frameworks do. It stays simple while being extremely powerful. Refactoring UI, by the same team, is a must-read too.

  • trpc.io

    I thought nothing could beat React Query for working with APIs. tRPC brings type safety to data fetching, where it usually ends in frontend projects. A big wow moment.

  • xstate.js.org

    Like TypeScript, XState took time to click, but once it did, I was hooked. State machines are a mind shift worth making for anyone building complex UIs. David Khourshid's videos make it fun to learn.

  • zod.dev

    Zod has been my go-to validation library for years. Its native TypeScript integration is grandiose: define a schema once and get the types for free.

Languages

  • developer.mozilla.org

    CSS has become incredibly powerful, advanced layouts and animations take little code when understood properly.

  • graphql.org

    Query language for your API.

  • developer.mozilla.org

    Writing clean, accessible HTML is still a useful skill, one I no longer neglect.

  • developer.mozilla.org

    Coming from Ruby, it took some getting used to, but it's a beautiful language when used properly.

  • typescriptlang.org

    TypeScript didn't impress me at first; it felt like it was getting in the way. As codebases grew, getting the types right always paid off. It's now my go-to language for every project.

SDKs

  • airtable.com

    I've used Airtable's API as a backend or CMS for a few projects, a great way to get started quickly.

  • docs.ethers.io

    The library for interacting with the Ethereum blockchain.

  • firebase.google.com

    Backend as a service that can be tricky to work with but covers a lot of use cases.

  • fuellabs.github.io

    The library for interacting with the Fuel blockchain.

  • developers.google.com

    The gateway to Google's API ecosystem.

  • developers.google.com

    I used it to build a real-time, bi-directional calendar sync; the webhooks are tricky, but we made it work.

  • developers.intercom.com

    Popular communication API.

  • mapbox.com

    A great alternative to Google Maps, and simpler to set up.

  • stripe.com

    Their API docs are the gold standard of developer experience. Since 2018, Stripe has let me build payment flows as a one-person show. Every time I come back, it's even more enjoyable to use.

  • tina.io

    The open-source, Git-backed headless CMS for Markdown and JSON content.

  • twilio.com

    Made SMS verification in onboarding flows a breeze.

  • sdk.vercel.ai

    Makes snappy chat UIs easy, across AI providers, on the frontend and backend.

  • viem.sh

    The TypeScript interface for interacting with Ethereum.

  • wagmi.sh

    Reactive primitives for building Ethereum apps with React.

Editor & Terminal

  • claude.com

    My daily driver and second coding brain. It plans, edits, and ships alongside me in the terminal.

  • openai.com

    My second opinion for reviews and focused tasks.

  • fig.io

    Makes the terminal come alive with autocomplete and some AI magic.

  • onorca.dev

    The agent IDE for running coding agents in parallel.

  • terax.app

    My terminal of choice. Editor, AI agents, and web preview in one lightweight, open-source app, without leaving the shell.

  • code.visualstudio.com

    A Sublime Text lover for years, I had to admit VS Code became the best code editor out there.

  • github.com

    A tiny shell script that lets me 'z' around directories instead of 'cd'ing like a caveman.

Build & Code Quality

  • biomejs.dev

    Formatting and linting in one fast toolchain, with a single config. It's so fast I barely notice it running.

  • parceljs.org

    A zero-configuration bundler for the rest of us.

  • prettier.io

    Prettier changed my dev life, and it's indispensable for teamwork. Its Tailwind plugin took my Tailwind CSS game to a new level. I can't believe I used to format code by hand.

  • turborepo.dev

    Turborepo makes monorepos painless. It builds and deploys multiple packages from a single repository, and its caching keeps builds fast.

  • vitejs.dev

    Next-generation bundler for frontend projects.

Dev Utilities

  • docker.com

    I've barely scratched the surface, but it makes running databases locally so much easier.

  • mozilla.org

    I find its devtools more advanced than Chrome's, the network panel especially.

  • github.com

    The most popular code hosting and collaboration platform.

  • postman.com

    A game changer when I started working with APIs, and the ultimate tool for API development.

Productivity

  • cleanshot.com

    My go-to for annotated screenshots and quick screen recordings, lightyears better than the native Mac tools.

  • figma.com

    How I prototype and design everything.

  • notion.so

    My external brain.

  • raycast.com

    Replaced Spotlight and half my dock in one go. I live in Raycast now.

  • wisprflow.ai

    I talk faster than I type. Wispr Flow turned that into an actual workflow.

Workstation

  • apple.com

    Plenty of headroom for dev servers, builds, and a handful of coding agents running side by side.

  • apple.com

    Compact and portable, a great travel companion.

  • logitech.com

    Solved the wrist pain the Magic Mouse gave me, a pleasure to use.

  • therooststand.com

    This tiny, beautifully engineered stand saved my neck and back through years of working and nomading. It turns any café into my office in 30 seconds. Still the best.

  • samsung.com

    The high-resolution external monitor I dreamed of during all my travel years.