My Stack

Recently, I've found that I enjoy working with a stack that allows me to code things up from scratch really quickly. These tools are the ones that allow me to do that.

2024

My Current Everyday Stack

  • Rust - A powerful, robust and efficient general programming language that I've come to really enjoy using recently.
  • Next.js - A framework for building server-rendered React applications. It's fast, simple (Especially with the App Router), and easy to use.
  • TypeScript - While JavaScript's "laissez-faire" approach is great for quick prototyping, TypeScript's static typing makes it easier to write more maintainable code.
  • Tailwind CSS - Controversial (although less so nowadays), but it's a great way to quickly get a responsive design up and running.
  • React.js - This one is a given concerning the use of Next.js.
  • Framer Motion - I've been using GSAP and have been part of their community for a long time, but recently made the switch to Framer Motion when I started using the Aceternity library. I really like the abstraction that Framer Motion provides, and I've found it to be a better alternative to make simpler animations.
  • Express.js - Simply a great way to build APIs and handle HTTP requests without having to deal with so much boilerplate code.
  • PostgreSQL - A powerful, open-source relational database management system that's widely used in web development. The built-in CLI tools make it easy to set up and manage databases.
  • Prisma - A data access library for TypeScript and Node.js that provides an ORM-like interface for interacting with databases. It's built on top of PostgreSQL and provides a simple, type-safe API for working with databases. It's an actual lifesaver for working with relational databases!
  • Cloudflare - I've been using Cloudflare to host my websites and my assets (R2 buckets). It has automatic caching that pairs well with Next.js' SSR, and it's DDoS protection and other features that make it a great choice for hosting websites.
  • MongoDB - An amazing ODM. It supports Vector Searches and Transactions, and it's a great choice for scalable and high-performance document-focused databases.
  • Java / Kotlin - I've been using Java for over 10 years, but I've recently switched to Kotlin. It's an amazing general purpose language that's great for computer applications, back-end development, and Android development within Android Studio.
  • Testing suites:
    • Supertest - In my experience, the easiest testing framework for HTTP APIs.
    • Vitest - A fast, easy-to-use testing framework for Node.js and Deno that provides a simple and intuitive API.

Other Stacks

My other stacks that I use less commonly are:

  • C# - C# is my 3rd most familiar language (after JavaScript/TypeScript and Java), and I have a lot of love for it. It's an amazing language that has great documentation, and it's less verbose than Java! I mainly used it for game development with Unity, but I've also used it for API development with ASP.NET.
  • ASP.NET - I used to use this to build APIs, and I agree that it's very robust, however, I've found that I prefer the simplicity of Node.js and Express.js. I would be open to use it again if an employer asked, or if I wanted to build something that required a lot of server-side logic.
  • Ruby - I recently learned Ruby, and I'm really enjoying it.
  • Spring - I've used Spring in the past, but I've never really used it in a production environment. Similar to ASP.NET, I would be open to use it again if needed.
  • PHP - I've used PHP in the past, but haven't enjoyed it as much as traditional JavaScript or it's frameworks. Despite that, it's a great language for building web applications, and I would be open to learning more about it.
  • Laravel - Along with PHP, I've used Laravel in the past. It's a great framework that adds a lot of functionality to PHP, but haven't used it as much as I would like, since I haven't worked on any medium-large scale production applications.
  • Swift / SwiftUI - I've built many small-scale applications with Swift & SwiftUI, but my lack of access to a MacOS environment has made it difficult to continue using.
  • Expo - I've used Expo in the past, and had good experiences with it. It's a great framework for building mobile applications due to its ease of use with app permissions and the ability to use React Native.

Currently learning

  • Python - I've used python for about a year now, but only recently started learning it in depth. It's a great language capable of so much, and I love it's simplicity.
  • Vue.js - I've been learning Vue, but I've never really used it in a production environment yet. It's a nice alternative to React, and I definitely would be open to using it in the future.
  • Svelte - I've heard great things about Svelte and SvelteKit, but I haven't used it to it's full potential yet. It's a great alternative to React, and the runes are really cool.