This is a submission for the New Year, New You Portfolio Challenge Presented by Google AI
About Me
Most portfolios say "attention to detail" somewhere in the copy but then you view source and find inline styles and console errors.
I'm a Data Engineer in Toronto and I wanted a portfolio that proved the claims instead of making them. So I built something that either works flawlessly or exposes me as a fraud. High stakes. Good motivation.
Portfolio
How I Built It
The site is a desktop operating system running in the browser. Boot sequence, window management, dock, terminal. Every page is an app that opens in a draggable, resizable window.
Tech Stack:
- Next.js 16, React 19, TypeScript in strict mode
- Tailwind CSS v4, Framer Motion, Zustand
- Vitest for testing
- Google Cloud Run
Architecture
I separated concerns the way actual operating systems do. The os layer handles windows, the dock, the desktop. The apps layer contains applications. Apps never import from OS internals. This keeps things clean. I can add new apps without touching window management. I can refactor the dock without breaking the terminal.
Infrastructure:
Six CI workflows run on every PR. Build, test, security audit, link checking, bundle size monitoring. Nothing merges without passing all of them.
Lighthouse scores sit above 90 across the board. On a site with drag physics, iframe embeds, and boot animations. It took effort.
How Gemini Fit Into the Process
I used Gemini throughout for planning and structure. Not to write code. To think.
"Window management" sounds like one feature until you start listing edge cases. Drag boundaries. Resize constraints. Z-index stacking. Focus transfer on close. Minimize and restore state. It sprawls fast.
I'd describe a feature area to Gemini and ask it to break things down into epics. Here's a trimmed version of the prompt I used:
You are a Senior Product Manager with technical fluency
in modern web applications (Next.js / React).
Convert identified feature areas into well-scoped PM epics
suitable for an engineering backlog.
For each epic:
- Title and goal
- Scope boundaries
- Stories with acceptance criteria
- Implementation order with rationale
Gemini returned structured epics with stories, acceptance criteria, and sequencing. Ready to drop into Notion.
Same approach for testing plans. Describe a component, get back coverage for happy paths, edge cases, failure modes. Review, adjust, execute.
The real value was upstream. Articulating a feature clearly enough for Gemini to understand it forced me to actually understand it. Half the bugs I avoided were caught in the prompting phase.
What I'm Most Proud Of
The terminal works. Not a fake CLI that prints strings. Real command parsing. ls, pwd, whoami, help. Easter eggs I won't spoil here.
Projects run inside the portfolio. My other apps open as windows. Visitors don't leave the site to see my work. They use it in context.
The invisible stuff: Keyboard navigation. Screen reader support. Reduced motion respected. Accessibility was a constraint from the start, not a box I checked later.
The over engineering was the point. Anyone can claim production ready code. Showing a GitHub repo with CI pipelines, test coverage, and passing accessibility audits is harder to fake.
Open some windows. Drag them around. Try the terminal.
If it breaks, that's on me.
Top comments (0)