Coding Tools I Build With

I've sampled a lot of different technologies since I began coding, and developed (pun intended) a few preferred tools. Here's a not-so-exhaustive list of the things I use to build web apps.

Frameworks And Languages

  • React - my tool of choice for most projects. I love the flexibility and extensibility React provides, and how it's fundamentally a UI framework. All of my side-projects use it, typically also paired with Next.js.
  • Vue.js - I've been using Vue for about 2 years now at my current job, and it's been a fantastic experience so far. I've built a large section of my current company's next software product, and Vue has definitely streamlined this with their Composition API and two-way data binding features.
  • Next.js - the best website/web-app framework in my opinion. Next makes it so easy and fast to bootstrap a new project, I find myself gravitating towards it for all of my React projects these days (including this site!) - even more so than create-react-app.
  • NestJS - a fantastic tool I started using recently to build back-end applications and REST APIs. I love how opinionated Nest is, and to me it's very reminiscent of Java's Spring library in terms of syntax and structure. Not to mention, its first-class support for TypeScript makes me gravitate toward it more than the traditional Express/Node.js set up for back-end apps.
  • TypeScript - my bread and butter when it comes to both front-end and back-end development. I've been coding with TypeScript for a little over a year now (at the time of writing this), and I honestly can't see myself going back to vanilla JS.
  • Java - definitely the programming language I've had the most exposure to in my career thus far. I've been building with Java since 2018, and have gotten exposure to several of its frameworks including Spring and Hibernate.

Libraries And Miscellaneous

  • Prisma - a fantastic ORM and query engine that pairs nicely with NestJS in my experience. The auto-generated types and first-class support with TypeScript are what initially piqued my curiosity, and after using it in several projects, I can definitely see myself using it more in the future.
  • TailwindCSS - my all-time favorite CSS helper library, hands down. Tailwind is an API for style, meaning that it provides helper classes that eventually resolve to vanilla-CSS classes, i.e. mt-1 represents a class with a margin-top property set to 4px (since each unit in Tailwind is multiplied by 4). Tailwind has forced me to really appreciate how powerful CSS is since it doesn't really sugarcoat anything - you're basically still using vanilla CSS.
  • Firebase - my go-to for authentication and data storage. It's great for small apps and proof-of-concepts because of its NoSQL design. If I find that I need a relational database setup, I can always turn to Prisma.
  • Framer Motion - all my animations and page-loading effects are handled by Framer Motion. Such a great library and amazing documentation, they really make it easy to craft beautiful animations quickly.
  • Formik - handles validation and submission logic for forms. Great features with minimal set-up, perfect for contact forms (like the one on my Contact page)
  • Jest - no BS testing framework that I use to validate functions and "business logic". Nothing feels better than seeing all green when you do npm run test.

My Gear

  • Dell XPS 15, 2020 Model
  • AirPods Pro (noise-cancelling is a life-saver if you have cats)
  • Logitech Triathlon Mouse
  • Keychron K3 Keyboard
  • HP 32" Full HD Monitor (2UD96AA)