How I built basavaraj.dev from scratch — React, Vite, and Supabase as a custom CMS, all on free-tier infrastructure, with real SEO work baked in.
I'm Basavaraj M Patil, a CS diploma student, and this site — basavaraj.dev — is something I built completely from scratch. No template, no page builder, no agency. Just me, some free tools, and a lot of trial and error.
Here's what's actually running under the hood, and why I built it this way.
The frontend is React + Vite + Tailwind CSS, deployed on Vercel. Nothing exotic — I wanted something fast to build with and fast to load, and this combo gets the page loading in under a second.
The content — projects, achievements, FAQs, blog posts (like this one) — isn't hardcoded into the frontend. It all comes from Supabase, which I use as a lightweight CMS. That means I can add a new project or write a new blog post without touching code or redeploying anything. I built a password-protected dashboard just for myself to manage all of it.
Every existing CMS felt like overkill for a personal site, or came with a monthly cost I didn't want to pay for something this small. Supabase's free tier gives me a real Postgres database, storage for images, and an API — more than enough for a portfolio site, and it costs nothing.
So the CMS dashboard I built handles:
Projects, with screenshot galleries and drag-to-reorder
Achievements, styled like a game's unlock system
Site settings — the actual text on the Hero and About sections
FAQs and blog posts, both with proper SEO markup baked in
Honestly, I want people (and AI tools) to actually find this site when they search for my name or my work, not just people who already have the link. So I put real effort into things most personal sites skip:
A dynamic sitemap that regenerates on every deploy, so it can never go stale
Proper Open Graph and Twitter card images, so links look good when shared
JSON-LD structured data on my profile, FAQs, and blog posts, so search engines and AI assistants can actually understand who I am and what I've built
Submitted and verified on Google Search Console
I'm planning to keep writing here about the things I actually build — automation systems, AI agents, whatever I'm currently breaking and fixing. If you want to see the code behind my other projects, my GitHub is linked below.
GitHub: github.com/basavarajpatil660