I’m Kaludurage Sithara Nimsara, aka knight_dragon_x — 19 y/o Vibe Coder + Vibe Hacker from Sri Lanka.
My slogan is simple: Imagine wild. I'll compile.
Instead of shipping another static portfolio, I built a self-hosted portfolio SYSTEM. One HTML file you own. Edit mode, local persistence, export/import, and a built-in audit that reviews itself.
Why self-host?
I wanted:
- No CMS lock-in
- Edit in browser, save to localStorage
- Ship to GitHub Pages / Vercel in 10 seconds
- Audit my own UI/UX without external tools
What it does
Edit Mode
Toggle Edit in the top bar. Everything is inline editable — alias, slogan, bio, services, projects. Add/remove projects via modal. No build step.
Persistence
Data lives in localStorage under kdx_portfolio_v1. Export JSON for backup, import on any host.
Built-in Audit Panel
Click Run Audit. It checks:
- CTA presence — is “Start a Project” visible?
- Hero completeness — alias + slogan present
- Projects count ≥3
- Images have alt text
- Red-on-black contrast
- Mobile menu exists
- Email link valid
- Font count performance hint
Results show Pass / Warn / Fail with fix suggestions. It runs on demand and on data change.
Stack
- Single HTML file
- Red #E50914 + Black #050507 theme
- Syne + Space Grotesk
- Vanilla JS, no dependencies
- Glassmorphism + brutalist grid
Design decisions
Red discipline. Red is used for primary actions and slogan only. Rest is grayscale for readability.
Company-ready. Services, Process, and UI/UX Audit sections make it hireable, not just pretty.
Performance first. No framework, prefers-reduced-motion support, will-change on interactive elements, custom cursor disabled on touch.
Try it
The system is fully self-contained. Host the file anywhere. Open Edit mode, make it yours, export JSON, and you’re done.
I’m opening 2 project slots for Aug–Sep 2026. If you have a wild idea, I’ll compile it.
Email: kdsitharanimsara@gmail.com
Built with obsession by knight_dragon_x. What would you add to a self-hosted portfolio system?
Top comments (0)