Software I use and other things I recommend.

Processes, tools, and other things I use to get things done.

Quick tools


  • Design sprints

    Design sprints are a great way to validate ideas and build a shared understanding of a problem. They rapidly iterate and get product validation long before development is even started.

  • Atomic commits and Small Stories

    The smaller the commit and the story, the easier it is to review and understand. I try to keep my commits and stories as small as possible, and I try to keep them focused on one thing. I also try to keep my commits and stories atomic, meaning that they should be able to be applied or reverted independently of other commits and stories.

  • Plan for plurality

    It’s much easier to plan for the multiple version of something up front. Whether that’s multiple function parameters, screen sizes, multiple browsers, multiple languages, multiple regions, or multiple accounts. It’s much easier to plan for the multiple version of something up front than to try to add it in after the fact. Swyx writes about how Preemptive Pluralization is (Probably) Not Evil.

  • Write WET Code

    Dry (Don`t repeat yourself) code when you know the right abstraction and WET when you don’t. The wrong and hasty abstaction can cost more than trying things until the right pattern emerges. Dan Abramov explains in a blog post.

React and Frontend

  • react-hook-form

    This is more than a form tool, it’s a complete state management tool.

  • urql

    urql is small and lightweight along with grapqhl-codegen makes for typesafe queries. apollo-client is also a good option.

  • Tanstack Query

    If you can’t use graphql and need REST, Tanstack Query simplifies all things cache.

  • zod

    zod is a typesafe schema builder, validator and parser. It's the safe version of JSON.parse().

  • just

    just is a simpler lodash. Code that’s readable and dependency free.


  • oh-my-zsh

    Oh my Zsh provides a framework for managing your zsh configuration. My plugins to get me close to a setup include fast-syntax-highlighting and zsh-autosuggestions.