Over the past year, I have been building a lot of websites and web applications. Some for learning. Some for clients.
Along the way, I slowly refined my tools and workflow until I landed on a stack that genuinely helps me move fast without feeling overwhelmed.
In this article, I am going to break down the exact tools I use, why I chose each one, and how AI fits into my workflow.
If you build client projects, side projects, or just want to ship faster, this should give you some useful ideas.
Let us dive in.
1. Frontend Frameworks
For web projects, I mainly use Next.js, Vite and Astro.
Next.js
Next.js is what I use for full scale web applications.
I reach for it when I need things like authentication, dashboards, server side logic, or complex user flows. The App Router makes it easy to organize large projects, and the overall developer experience feels very mature.
It is especially useful when I am building products or internal tools where both frontend and backend logic need to live together cleanly.
Vite
I use Vite when I want something lightweight and fast.
For simple websites, small tools, or projects that do not need the full power of Next.js, Vite is perfect. It starts instantly, builds fast, and stays out of your way.
Most of the time, this means pairing Vite with React for projects where I just want to focus on the UI without extra abstractions.
If I am building a straightforward website or prototype and do not need server features, Vite is usually my first choice.
Astro
I use Astro mostly for content focused websites.
Examples include blogs, documentation sites, and marketing websites where performance is extremely important.
Astro ships very little JavaScript to the browser, which leads to fast load times and great Lighthouse scores.
For local businesses that care about SEO and speed, Astro is often the perfect choice.
2. Styling
For styling, I use Tailwind CSS v4 together with shadcn.
Tailwind CSS
I used to write a lot of custom CSS (lol I still do most times), but Tailwind completely changed my workflow.
Instead of switching between files and inventing class names, I can style directly in my components.
Tailwind v4 also brings performance improvements and better developer experience, which makes it even more enjoyable to use.
shadcn
shadcn is one of my favorite tools.
It is not a traditional component library. Instead, you copy components into your project and fully own the code.
That means:
No vendor lock in
Full control over styling
Accessible components by default
If I need a card, button, modal, or dropdown, I grab it from shadcn, paste it into my project, and customize it.
Tailwind and shadcn together allow me to build full landing pages in hours instead of days.
3. Backend and Database
For proper web applications, I use Convex.
Convex gives me:
A database
Backend functions
Real time updates
All in one platform.
Instead of setting up a separate API server, I write JavaScript or TypeScript functions that directly talk to the database.
This is great for things like:
Booking systems
Dashboards
Real time features
Development feels fast and simple, and Convex scales well as projects grow.
Content Management System
I use Sanity CMS, but only when a project truly needs a CMS.
Many business websites barely change content. In those cases, a CMS is unnecessary.
But when clients want to edit:
Blog posts
Menus
Team members
Pages
Sanity becomes extremely valuable.
It is flexible, has a great editing experience, and integrates easily with both Next.js and Astro.
4. Authentication
For authentication, I mostly use Clerk.
Clerk handles:
Sign up and sign in
User management
Magic links
Social logins
The UI components look good out of the box, and setup is straightforward and you can build your own custom UI if you choose to.
I have also been experimenting with Better Auth on some projects where I want more control, but Clerk is still my default because it saves a lot of time.
5. Mobile Development
I am currently getting into mobile development using React Native with Expo.
I am still learning, so I am not taking mobile client work yet.
The biggest advantage is that I can reuse my React knowledge and build for both iOS and Android.
If I already have a web app built with Next.js, I can share logic, validation, and sometimes even components.
Expo removes a lot of the painful setup that usually scares people away from mobile development.
If you are curious about mobile, Expo makes it a great place to start.
6. Monorepo Setup
Recently, I started using Turborepo.
Turborepo allows me to keep multiple projects in a single repository.
For example:
Web app
Mobile app
Shared UI components
Shared utilities
All living together.
This means I can reuse code instead of copying and pasting between projects.
It may sound complex, but once you set it up once, it actually simplifies things.
7. Payments
For client projects in Nigeria, I use Paystack.
It works well for local businesses and has reasonable fees.
For my own products and tutorials that I make, I use Stripe.
Stripe is globally supported and has excellent documentation.
Both integrate nicely with Next.js.
8. Deployment
My main deployment platform is Vercel.
Since Vercel builds Next.js, the experience feels seamless.
Push to GitHub and your site is live.
You also get:
Automatic SSL
Preview deployments
Easy environment variables
For Astro sites, I mostly use Netlify.
In rare cases where I need more backend control, I use Railway.
But Vercel handles most of my deployments.
How I Use AI
I don't use AI powered IDEs like Cursor, at least not yet. I've only tried Cursor once or twice.
I prefer writing my own code (or rather copy from a chat interface and pasting it into my code editor).
I like understanding what I am building, and I learn better when I follow the approach I just mentioned.
The main tools I use:
t3.chat
Claude Interface
ChatGPT Interface
The models I use most:
Gemini 3 Pro
Gpt 5
Claude Sonnet 4.5
Clause Haiku 4.5
Final Thoughts
This stack allows me to go from idea to deployed project very quickly while still learning.
AI plays a big role in my productivity, but it does not replace my thinking or my coding.
I will be sharing more content where I build real projects using this exact stack, including websites, dashboards, booking systems, and mobile apps, later on.
If you have questions about any part of the stack, feel free to ask.
Happy building š
Top comments (0)