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.
✔ AI / Machine Learning / Data SciencePython has become my go-to language for AI/ML development. With an extensive ecosystem of libraries and frameworks, I've been leveraging Python for data science, machine learning, and AI projects for over 2 years now, especially after pursuing my M.Tech in Data Science & Engineering from BITS Pilani.Deep learning frameworks that power modern AI applications. I've used both TensorFlow and PyTorch extensively for building neural networks, computer vision models, and NLP applications. My experience includes implementing CNNs, RNNs, and transformer architectures.As evidenced by my recent articles on Agentic AI and cybersecurity, I've been deeply involved in building autonomous AI agents using LangChain. This includes developing agents for threat hunting, automated security tasks, and intelligent incident investigation.Working extensively with large language models including GPT-4, Claude, and other LLMs. I've integrated these models into production applications, built custom chatbots, and developed AI-powered features for enterprise applications.Classical machine learning algorithms remain fundamental. I use scikit-learn for everything from decision trees and random forests to SVMs and clustering algorithms. Combined with pandas and numpy for data manipulation and analysis.Building Retrieval-Augmented Generation (RAG) systems using vector databases like Pinecone, Weaviate, and Chroma. Essential for creating context-aware AI applications and improving LLM responses with domain-specific knowledge.✔ Frontend Technologies / SkillsAs 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. 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 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.AngularJS was a revolutionary framework for frontend development.
I have used AngularJS for over 2 years.✔ Backend Technologies / SkillsNodeJS is a great framework for building server-side applications.
I've been using NodeJS for over 7 years with REST and
GraphQL APIs.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.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.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)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 / SkillsPostgreSQL is a great RDBMS with extensibility and SQL compliance.
I've been using PostgreSQL for over 7 years now.MongoDB is a great NoSQL database. I've been using MongoDB
for over 5 years now.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 I've extensively used AWS for building and deploying
applications with several AWS services. 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 is a great tool for building and deploying static
websites. My primary usage includes deployment of static websites
to netlify.My primary usage of Vercel is deployment of NextJS applications
and my own portfolio website.✔ Headless CMSMy 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 is an open-source headless CMS. It's a great
alternative to Contentful. I've used Strapi for my pet
projects.Swell is a headless e-commerce platform. I've used Swell for
my pet projects.✔ DesignWe 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 ControlGitHub is my stop solution for all professional and personal
projects. With GitHub Copilot and AI-powered coding assistants, the way we write code has fundamentally changed. I'm actively exploring how AI can enhance developer productivity.I have used bitbucket for numerous client projects, but I've
found GitHub more useful for me.✔ ToolsIntelliJ IDE is one stop solution for most of my development
needs.The future of coding with AI. Cursor has revolutionized how I write code by integrating powerful AI assistance directly into the IDE. It's particularly useful for rapid prototyping and exploring new technologies.Essential for data science and ML experimentation. I use Jupyter extensively for exploratory data analysis, model prototyping, and creating interactive visualizations for data-driven insights.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 is a lifesaver app for me with so many features. Shout out
to the Notion team for building such a great app.