My Tech Stack
A somewhat comprehensive list of tech, tools, apps, hardware, and more that I use on a daily basis to design and code things. And yess, the Background GIF is how we portrayed the Future would look like when I was a kid.
Development
- I use Visual Studio Code and WebStorm as my main code editors.
- Firefox Dev Edition is my main browser for development and Google Chrome for general use.
- As a full stack developer, I use Node.js as my primary backend support. It is a high-performance JavaScript runtime that allows me to run JavaScript on the server side, and has a wide range of tools and frameworks available for building web applications. I often use it in combination with tools like Express and Firebase Firestore to build efficient and scalable web servers and APIs.
- I use EJS (Embedded JavaScript Templates) as my templating engine for Node.js. It is a simple templating language that lets you generate HTML markup with plain JavaScript. It is fast and simple, and has a wide range of features that make it easy to use. It allows me to embed JavaScript code in my HTML templates and create dynamic and interactive user interfaces. EJS is simple and easy to use, and helps me keep the presentation layer of my applications separate from the business logic. It is also scalable and integrates well with both NodeJS and other CSS Frameworks.
- I have extensive experience working with NoSQL databases, particularly Firebase Firestore. Firestore's support for automatic data replication and offline capabilities make it the perfect choice for building full scale applications. It is also easy to use and integrates well with Node.js and other JavaScript frameworks.
- In addition to my experience with Firestore, I have also worked with a variety of other NoSQL databases, including MongoDB and Redis. I have a strong understanding of the trade-offs and considerations involved in choosing a NoSQL database, and have the skills and knowledge to design and implement efficient and scalable data storage solutions for a wide range of applications.
- I generally prefer working with Vanilla Javascript as it is the most flexible and powerful language for building web applications. I have a strong understanding and the skills and knowledge to design and implement efficient and scalable web applications using Vanilla Javascript.
- I have worked with React as front end Javascript library of choice when I am generally working on Smaller Projects. The component-centric mental model is the first thing that truly made sense to me as I started building non scalable Applications.
- For 3D effects and image shaders I use three.js. It has a bit of a learning curve but you can do some really powerful stuff with it.
- For CSS I’ve used a myriad pre-processors and css-in-js solutions like styled-components, but these days I’m using vanilla CSS with PostCSS to get upcoming CSS features today. However, while working on Full Stack Applications, my biggest love is TailwindCSS followed by Bootstrap.
- I use Bootstrap and TailwindCSS as my primary CSS frameworks for rapid prototyping and building end-to-end web applications. Bootstrap provides a set of reusable HTML and CSS styles, as well as a responsive grid system. Tailwind is a utility-first CSS framework that uses a class-based approach for styling. These frameworks help me save time and effort in my projects.
- For Javascript animations I use Framer Motion, it’s a great way to add spring animations to Web Components and three.js.
- For automating Deployment Process to AWS EC2 instances and LightSail Servers, I use Github Actions.
Design
- Figma is my primary tool for UI design these days. Made the switch from Adobe in 2021 and haven’t looked back.
- Any motion graphics needed for the Applications are created in Canva. So far I haven’t found any product that’s as good. If anyone has suggestions please message me.
- For any 3D models I use Blender. Since 2.8 it’s become way simpler to use and in a lot of ways better than expensive paid tools like 3DS Max or Maya.