When I build something, I care about speed, clarity, and long-term maintainability. I don't just pick tools because they're popular — I choose them because they solve real problems well, integrate smoothly together, and allow me to move fast without cutting corners.
Whether it's building full-stack web apps, designing clean user interfaces, or integrating AI features — the technologies below are the ones I trust and use regularly to create meaningful, reliable software.
I use Next.js as my primary full-stack framework. It offers server-side rendering, routing, and API endpoints out of the box — perfect for building scalable apps. Underneath, it’s powered by React, which lets me build dynamic user interfaces using reusable components and a modern state-driven approach.
I care deeply about clean, responsive design.
- Tailwind CSS helps me write expressive UI using utility classes, making styling fast and maintainable.
- ShadCN/UI gives me accessible and customizable components built on Tailwind and Radix.
- Aceternity UI provides polished, modern UI animations and interactions with almost no extra setup — great for minimal but beautiful designs.
I believe AI is not just a trend — it's a tool that helps developers build smarter, faster, and more creative solutions.
- I use the AI SDK from Vercel to integrate AI-powered features (like chatbots, text generation, and embeddings) directly into my Next.js applications. It’s optimized for serverless and edge environments and works well with providers like OpenAI and Anthropic.
- GitHub Copilot helps boost my day-to-day productivity — from generating boilerplate code to suggesting improvements. It's like pair programming with a tireless assistant.
PostgreSQL is my preferred relational database — reliable, powerful, and open-source. I usually work with it through platforms like Supabase or Neon, depending on what the project needs (realtime support, edge-ready, or high-performance hosting).
To interact with the database, I use Prisma as my ORM. Prisma offers a best-in-class developer experience with auto-generated types, intuitive syntax, and seamless database migrations. It makes working with complex data models simple, safe, and enjoyable — while integrating perfectly into modern TypeScript projects.
Authentication is critical for any app — and Clerk makes it secure and easy. I use it for user login, registration, sessions, and multi-factor auth. It supports magic links, Google sign-in, and more out of the box. With React-friendly components and great docs, it's my top pick for managing user identity.