My Tech Stack

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.

Framework
Next.js, React.js

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.

Styling
Tailwind CSS, ShadCN/UI, Aceternity UI

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.
AI & Developer Experience
Vercel AI SDK, GitHub Copilot

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.
Database
PostgreSQL, Prisma

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
Clerk

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.

Talk to Me
Based in Rwanda ❤️