Languages, frameworks, and other tools I use to build software applications.
These are the tools I use to build software applications. I’m always trying new things but these are the ones I keep coming back to.
Frontend
React + Nextjs
I've been using React since the early days and it's still my favorite way to build user interfaces. Next.js is my go-to meta framework for React apps with features like Edge Caching,SSG,SSR,API Routes, Image Optimization, and more.
Tailwindcss
I've tried a lot of CSS frameworks over the years and Tailwind is the one that finally clicked for me. I love the utility-first approach and the fact that I can build my own custom components instead of relying on pre-built ones.
Typescript
I can't imagine writing JavaScript without types anymore. The power of static analysis is just too good to give up.
Vitest
Even if I don't enjoy writting tests, Vitest makes me hate it a little less. It's a fast and lightweight test runner for modern JavaScript applications.
Vercel
Vercel is my preferred platform for deploying My frontend applications. It offers a seamless deployment experience with features like automatic HTTPS, custom domains, and continuous deployment right out of the box.I also love its free tier.
Other Libraries
Some other libraries I use include: React Query + Axios for data fetching, Recoil for state management (I only use Redux when its mandatory), React Hook Form for form handling, and many more.
Backend & Databases
Nodejs + Nestjs
As a JS/TS dev, ofcourse I use Nodejs for my backend. I use Nestjs as my preferred framework for building backend applications. Not only because of its Typescript support but also because of its modular and scalable architecture.
Mongodb
For Nosql databases, I prefer Mongodb as its easy to deploy (they provide a free tier which is enough for my projects), easy to use and has a great community.
PostgresQL & Mysql
For relational databases, I prefer PostgresQL and Mysql. I use PostgresQL for most of my personal projects and Mysql mainly for my clients projects.
GraphQL
I can't lie that I'm a big fan of GraphQL. But I sometimes use it when it's mandatory or when I'm going to develop a system with a lot of modules and find that GraphQL is the best option.
Mobile Development
React Native
As I have a react background, writing mobile apps with React Native is a breeze. I use React Native for building cross-platform mobile apps using same concepts I use for my React Applications.
Flutter
I don't actually love flutter, but as I worked with it for over 7 months at a company, I can say that I'm good at it.
Swift / SwiftUI
After buying a macbook, I asked myself why not learn Swift and build apps for IOS? So I started learning Swift and SwiftUI and now I use it for building IOS apps.
Design
Figma
I just don't use Figma for UI design, I also use it for wireframing, planning and even for creating illustrations.
DevOps
Docker
Docker is a key part of my development and deployment workflow. It allows me to package my applications into containers, ensuring consistency across different environments.
Kubernetes
Kubernetes is my go-to for container orchestration. It helps me manage, scale, and deploy my Docker containers in a distributed system.
Jenkins
I use Jenkins for continuous integration and continuous deployment. It automates the process of building, testing, and deploying my applications.