Project
MAR 2026

Pavan Dhadge

Personal Portfolio – Astro + Svelte Edition

A portfolio that doesn’t just show who I am — it feels like me.

This is the my first major rebuild of my personal site.
Each version taught me something new about what I actually value in my digital home.

The 2025 edition is deliberately simple, brutally fast, and honest:
no hero animations, no 3D blobs, no unnecessary JavaScript.
Just content, clarity, and a quiet confidence that reflects how I want to build and present myself.


Visit on Vercel

Visit on Cloudflare Pages

Philosophy Behind the Rebuild

I’ve always believed a personal site should be an extension of how you think and work — not a marketing brochure.

So this version follows a few non-negotiables:

  • Minimalism with intent — every pixel and line of code has a reason
  • Performance as respect — loads sub-second on 3G in rural Maharashtra
  • Zero-JS by default — only ship interactivity where it actually adds value
  • Content-first — markdown + MDX means I can write, not fight a CMS
  • Evolvable — easy to add new sections/projects/blogs without breaking old ones
  • Authentic over impressive — no fake metrics, no buzzword walls — just real work and real thoughts

Astro + Svelte turned out to be the perfect combo:
Astro gives me islands of interactivity and zero-JS SSR pages.
Svelte gives me clean, reactive components that compile away to tiny JS when needed.

The result? ~40–60 KB total JS on most pages — and it still feels alive where it should.


Tech Stack

  • Astro — content routing, islands architecture, zero-JS default
  • Svelte — used for interactive islands (skill graph, filters, theme toggle)
  • MDX — blogs, project write-ups, and embedded components
  • TailwindCSS — utility-first, composable styling (no component library bloat)
  • Custom Components — interactive skill radar graph, tag-based project filters, reading time estimates
  • Deployment — Vercel (primary) + Cloudflare Pages (mirror) for redundancy and speed

No heavy frameworks. No state management libraries. No surprises.


Features

  • Dynamic content routing — projects, blogs, experience, all driven by markdown files
  • Interactive skill graph — Svelte component visualizing proficiency + growth areas
  • Tag-based filtering & search — find projects by tech (Rust, Python, Distributed Systems, etc.)
  • Minimal client JS — only loaded for interactive parts; rest is pure HTML/CSS
  • Fully responsive & accessible — dark mode, keyboard nav, screen-reader friendly
  • Performance obsession — Lighthouse 100/100 on mobile/desktop, Core Web Vitals green
  • Easy content updates — add a markdown file → new page appears

What Makes This Portfolio Mine

This site isn’t trying to impress recruiters with animations or fake testimonials.

It’s built for:

  • Me — a place to document growth, revisit old projects, reflect on what I’ve learned
  • People like me — curious developers who want to see real code, real failures, real thinking
  • Future collaborators — clear signal of taste (low-level systems love, performance focus, honesty over hype)

You’ll see threads from my ext2 simulator, distributed systems philosophy, homelab experiments, even AI skepticism — because that’s who I am right now.

No fluff.


Preview

(Imagine a clean screenshot here — hero with gradient text, skill graph, project cards with tags, blog list with reading times)

Or better — just visit it. It loads faster than this sentence.


Want to collaborate, give feedback, or just say hi?

Reach out via the contact section on the site, open an issue on GitHub, or DM me on X @pavan_dhadge.

I read every message.


“Keep it minimal. Keep it meaningful. Keep it honest.”