Software I use, tools I love, and other things I recommend.

I get asked a lot about the things I use to build software, stay productive, or buy to fool myself into thinking I'm being productive when I'm really just procrastinating. Here's a big list of all of my favorite stuff.

Frontend Technologies / Skills

  • Javascript

    As Jeff Atwood said in 2007, "Any application that can be written in JavaScript, will eventually be written in JavaScript." I couldn't agree more. I've been using Javascript for over 10 years now and I'm still learning new things every day.

  • React JS

    It's not the newest kid on the block anymore, but it's one of the best out there, I've been using React for over 7 years now and I've built a lot of apps with it. The comfort and familiarity of React makes it a joy to work with.

  • Next

    Next is taking the React ecosystem to the Next* level by storm. It's a great tool for building static and server-rendered applications using React. I have been using Next for over 4 years.

  • Angular JS

    AngularJS was a revolutionary framework for frontend development. I have used AngularJS for over 2 years.

Backend Technologies / Skills

  • NodeJS

    NodeJS is a great framework for building server-side applications. I've been using NodeJS for over 7 years with REST and GraphQL APIs.

  • GraphQL

    After using REST APIs for a long time, I felt like there should be a better way to fetch only the data that I need. GraphQL is that better way. I've been using GraphQL for over 5 years now.

  • GoLang

    NodeJS is great for building server-side applications, but I struggled with performance and scaling. Go came to my rescue to help me build performant and scalable applications. I've been using Go for around 2 years now.

  • Rust / Wasm

    I've recently started learning Rust and WebAssembly. This combination is game changer, At times I feel like I'm writing C code in Javascript which puts front-end performance on steroid. I've been using Rust for around 1 year now.

Fullstack Framework? (Maybe)

  • Remix

    Since initial discussions about React Server Components I was very excited to see how it would change the way we build web applications, but before it was released Remix made a grand entry into the scene. Remix looks like a fullstack framework for building server-rendered applications using React. I've been using Remix for my pet projects to learn more about it.

Database Technologies / Skills

  • PostgreSQL

    PostgreSQL is a great RDBMS with extensibility and SQL compliance. I've been using PostgreSQL for over 7 years now.

  • MongoDB

    MongoDB is a great NoSQL database. I've been using MongoDB for over 5 years now.

  • DynamoDB

    While working on AWS, I've used DynamoDB when I needed a NoSQL database. Though I've used it for a short period of time, I've found it to be a useful one.

DevOps / Cloud Technologies

  • AWS

    I've extensively used AWS for building and deploying applications with several AWS services. I'm an AWS Certified Solutions Architect - Associate.

  • Serverless Architecture

    I've used serverless architecture to build and deploy variety of application including my pet projects and Alexa skills. These days I'm getting familiar with CDK to build serverless applications.

  • Netlify

    Netlify is a great tool for building and deploying static websites. My primary usage includes deployment of static websites to netlify.

  • Vercel

    My primary usage of Vercel is deployment of NextJS applications and my own portfolio website.

Headless CMS

  • Contentful

    My first interaction with a headless CMS was with Contentful. I've fallen in to love with the ease of use and the flexibility it provides. I've used contentful for several marketing websites for my clients.

  • Strapi

    Strapi is an open-source headless CMS. It's a great alternative to Contentful. I've used Strapi for my pet projects.

  • Swell

    Swell is a headless e-commerce platform. I've used Swell for my pet projects.

Design

  • Figma

    We started using Figma as just a design tool, but now it's become our virtual whiteboard for the entire company. Never would have expected the collaboration features to be the real hook.

Source Control

  • GitHub

    GitHub is my stop solution for all professional and personal projects. With the grand entry of GitHub Copilot, I'm looking forward to see how it's going to change the way I code.

  • Bitbucket

    I have used bitbucket for numerous client projects, but I've found GitHub more useful for me.

Tools

  • IntelliJ IDEA

    IntelliJ IDE is one stop solution for most of my development needs.

  • iTerm2

    I'm honestly not even sure what features I get with this that aren't just part of the macOS Terminal but it's what I use. Though I would like to give a try to Warp.

  • Notion

    Notion is a lifesaver app for me with so many features. Shout out to the Notion team for building such a great app.