It all started as a landing page. Hero section, project cards, a contact form. The kind of portfolio every bootcamp graduate ships in a weekend.
Then I added a dock. Then window management. Then a terminal with easter eggs. Then a boot sequence. Then CI/CD pipelines and unit tests.
Somewhere along the way, my portfolio became an operating system.
Why Though
I'm a Data Engineer trying to prove I can build visually stunning, functional frontends. "I know React" doesn't cut it anymore in a world full of AI slop websites. Everyone knows React.
So I asked myself a different question, what if my portfolio didn't just list my skills but actually showcased them?
Not a static page that says "I'm good at UI/UX". But, an actual interface that proves it.
Not bullet points about "attention to detail", a boot sequence that nails the timing down to the millisecond.
Not claims about "production ready code" but a GitHub repo with CI/CD, unit tests and Lighthouse scores above 90 (crazy for a portfolio built like an OS with lots of moving parts)
The over engineering wasn't scope creep. It was the point.
What I Built
When you land on the site you see a desktop. Wallpaper, dock at the bottom, status bar with a clock. Every page is an app that opens in a draggable, resizable window. Minimize, maximize, close. It all works.
The dock has Mac OS style magnification on hover. Icons that bounce when clicked. The terminal accepts real commands with easter eggs (I'll let you find that out for yourself 😄)
And here's the part I'm proudest of- My actual projects run inside the portfolio as embedded apps. Visitors don't leave to see my work. They experience it in context.
The Stuff Nobody Sees
This is what separates side projects from production apps.
The GitHub repo has six CI workflows: build, test, security audit, link checking, bundle size monitoring.
Every PR needs green across the board.
Yes, I wrote unit tests for a portfolio site. The critical paths covered are window management, focus handling, and preference persistence.
Lighthouse scores are 90+ across the board. On a site running a window manager with drag physics and iframe embeds.
Accessibility? Screen reader compatible, keyboard navigable, reduced motion respected. Not an afterthought.
The Takeaway
Your portfolio is a product. Treat it like one.
"I know React" is forgettable. "I built an entire operating system in React" starts conversations.
If you want to play around 👉🏽 dineshd.dev
Open some windows. Try the terminal. Find the easter eggs.
And if you've ever over engineered a side project just to prove you could, drop it in the comments!
P.S. Yes, it works on mobile. No I won't be taking questions about my life choices 🤫
Top comments (0)