Software tools I use to build apps, servers and websites.
I get asked a lot about the tools I use to build software, stay productive, and ship quality code. Here's a comprehensive list of everything in my toolkit, from the languages I code in daily to the apps that keep me organized.
Frontend Development
React
My primary frontend library for building web applications. I've spent years mastering React, from class components to hooks, and I use it almost daily across different projects.
Whether it's building complex UI with state management using React Query, or creating pixel-perfect components with Tailwind CSS, React is my go-to choice for crafting seamless user experiences.Next.js
I've built several production applications with Next.js, including full-stack projects at Suncture and Qudra.io. The ability to handle both frontend and backend in one framework makes development incredibly efficient.
I particularly love Next.js for its server-side rendering capabilities, API routes, and the overall developer experience it provides.TypeScript & JavaScript
TypeScript has become my default for any serious project. The type safety catches bugs early and makes refactoring a breeze. That said, I'm equally comfortable with vanilla JavaScript when speed and flexibility are priorities.
I've been writing JavaScript for years, and TypeScript has only made me a better developer by forcing me to think more carefully about data structures and API contracts.Vue.js
I worked extensively with Vue during my time at Bitcrowd, including migrating a legacy Vue 2 codebase to Vue 3. I appreciate Vue's approachable learning curve and clean syntax.
While React is my preference now, I'm still comfortable jumping into Vue projects when needed.React Native
I've built mobile applications using React Native, leveraging my React knowledge to create cross-platform mobile experiences. It's a great way to reuse code and ship to both iOS and Android quickly.
Backend & APIs
Node.js & Express
Node.js is my backend workhorse. I've built countless REST APIs with Express, and I love how seamlessly it integrates with my frontend React applications.
At Suncture, I designed and built RESTful APIs using Node.js and Express, integrating OpenAI and ElevenLabs APIs to power conversational AI features. I've also worked with cloud functions for serverless architectures.Python
Python is my language of choice for anything data-related or machine learning adjacent. I've used it for scripting, automation, and building backend services when performance isn't the primary concern.
The ecosystem of libraries makes Python incredibly versatile for rapid prototyping and experimentation.PHP & Laravel
PHP was one of my earlier languages, and I've built robust systems with Laravel. At Ikooba Technologies, I developed a comprehensive HRMS using Laravel for the backend.
I've also built WordPress websites and custom plugins, giving me deep familiarity with PHP's ecosystem.
Databases & Storage
PostgreSQL
My preferred relational database. I've architected PostgreSQL schemas for several projects, including the invoicing application at Qudra.io. I appreciate its reliability and powerful features.
I'm comfortable writing complex queries, optimizing indexes, and designing normalized database structures.MongoDB
For projects requiring flexibility and rapid iteration, MongoDB is my NoSQL database of choice. At Suncture, I used MongoDB to persist transcribed conversations and store unstructured data.
I've worked with Mongoose for schema validation and appreciate MongoDB's scalability for modern applications.MySQL
I've worked extensively with MySQL, particularly during my time at Ikooba Technologies where I designed database multi-tenancy systems for scalable applications.
Supabase
A fantastic PostgreSQL-based platform that I've used at Odyssey Technologies. Supabase makes it easy to build scalable backends with real-time capabilities and built-in authentication.
DevOps & Infrastructure
Docker
Essential for containerizing applications and ensuring consistency across environments. I've Dockerized frontend applications for Kubernetes deployment at Bitcrowd, and deployed LLM servers using Docker at Suncture.
Docker has saved me countless hours debugging environment-specific issues.CI/CD
I've set up and maintained CI/CD pipelines to automate testing and deployment. This ensures code quality and allows teams to ship faster with confidence.
Grafana & Prometheus
At Suncture, I set up Grafana and Prometheus to monitor backend API performance and latency. Real-time observability is crucial for maintaining production systems.
Sentry
My go-to for error tracking and performance monitoring. I've implemented Sentry across multiple applications at Ikooba Technologies and use it to proactively catch bugs before users report them.
Testing & Quality
Jest
My testing framework of choice for JavaScript applications. I've written countless unit tests with Jest to ensure code reliability and catch regressions early.
Playwright
For end-to-end testing, Playwright is excellent. At Bitcrowd, I implemented Playwright tests to validate critical user flows and ensure robust applications.
Storybook
I use Storybook extensively to document UI components and build component libraries in isolation. At Bitcrowd and during the Charité project, Storybook helped maintain design consistency and improve team collaboration.
Development Tools
VS Code
My primary code editor. I love the ecosystem of extensions, the built-in Git integration, and how lightweight yet powerful it is.
I've customized my VS Code setup with extensions for React, TypeScript, Tailwind IntelliSense, and more to optimize my workflow.GitHub Copilot
A game-changer for productivity. Copilot helps me write boilerplate faster, suggests solutions I might not have thought of, and speeds up documentation writing.
It's like having a pair programming partner available 24/7.Ollama
I run local LLMs using Ollama for experimentation and to understand how AI models work under the hood. It's been incredibly useful for learning and prototyping AI features.
Git & GitHub
Version control is non-negotiable in modern development. I use Git daily for managing code, collaborating with teams, and maintaining project history.
Design & Prototyping
Figma
I work closely with designers and translate Figma designs into pixel-perfect, responsive UIs. At Suncture and across multiple freelance projects, I've transformed Figma mockups into production-ready applications.
Figma has also become my whiteboard tool for brainstorming and visual collaboration.Fabric.js
For building custom canvas-based editors, Fabric.js is incredibly powerful. I used it at Odyssey Technologies to develop a dynamic slide editor with canvas rendering capabilities.
Project Management & Collaboration
Linear
My favorite project management tool for engineering teams. Linear's speed, keyboard shortcuts, and clean interface make tracking issues and sprint planning a pleasure.
I've used Linear to organize migration tasks, define features, and maintain clear roadmaps.Notion
My knowledge base and documentation hub. I use Notion for documenting technical decisions, maintaining personal notes, and collaborating with teams on specs and requirements.
It's flexible enough to adapt to any workflow.Azure DevOps
I've used Azure DevOps for enterprise project management, CI/CD pipelines, and code repositories. It's robust and integrates well with Microsoft's ecosystem.
JIRA
At Bitcrowd, I used JIRA extensively for sprint planning, backlog grooming, and tracking project tasks in Agile environments.
Incident.io
For tracking bugs and incidents during critical migrations and deployments. I used it at Resleeve to maintain visibility during the React-to-Next.js migration.
Communication
Slack
My primary tool for team communication. I've used Slack across almost every company I've worked with — it's indispensable for remote collaboration and quick sync-ups.
Zoom
For video calls, pair programming sessions, and team meetings. Zoom has been reliable for remote work and collaboration with international teams.
Discord
I use Discord for community engagement, tech discussions, and staying connected with developer communities. It's also great for voice channels during deep work sessions.
Productivity & Notes
Apple Notes
My quick-capture tool for thoughts, code snippets, and ideas. It syncs across devices and is perfect for jotting things down on the go.
Voice Memos
I record ideas and thoughts using Apple's Voice Memos when I'm away from my computer — usually during workouts or while boxing. Some of my best ideas come when I'm not actively coding.
Later, I transcribe these into actionable notes or features.
APIs & Integrations
OpenAI API
I've integrated OpenAI APIs across multiple projects — from building conversational AI agents at Suncture to extracting and summarizing content at Odyssey Technologies.
Working with LLMs has been some of the most exciting work I've done recently.ElevenLabs API
Used for text-to-speech features at Suncture. ElevenLabs provides high-quality voice synthesis that makes conversational AI feel natural.