A portfolio…
but not the scrolling kind.
A small desktop world you can explore.
Windows open.
Objects respond.
The space feels alive.
This isn’t about showing projects—
it’s about building an experience.
An interactive desktop-style portfolio
where users don’t scroll…
they explore.
Click icons → open windows → move things around → discover content.
It’s closer to an application
than a traditional website.
Built to feel:
- calm
- nostalgic
- slightly magical
A place… not a page.
Most portfolios are predictable.
Scroll → sections → done.
This one does the opposite.
Interaction first.
Exploration over consumption.
Systems over static pages.
Because real frontend skill isn’t just styling…
it’s how things behave.
- 🪟 Draggable window system (open / close / focus / stack)
- 🖥️ Desktop-style navigation (icons instead of links)
- 🎨 Dynamic theme system (light / dark painterly modes)
- 🎠Interactive visual center (canvas / 3D / motion)
- ⚡ Smooth motion & micro-interactions
- đź§ Data-driven content system (scalable architecture)
Everything is designed as a system, not a collection of sections.
- React + Vite + TypeScript
- Tailwind CSS
- Motion (animations)
- Zustand (state management)
- HTML Canvas API (interactive visuals)
Simple tools.
Complex behavior.
Built in layers:
System → Layout → Interaction → Personality → Content → Polish
Key principles:
- Window system is independent
- Canvas runs separately (no unnecessary re-renders)
- Theme controlled via CSS variables
- Content driven by structured data
No messy coupling.
No “just make it work” shortcuts.
Everything has a place.
Not just what I build…
but how I think:
- System design over hacks
- Clean state management
- Scalable architecture
- Interaction-focused UI
- Attention to emotional design
- Balance between logic and aesthetics
If you understand this project…
you understand me as a developer.
This portfolio is meant to be:
- explored, not skimmed
- interacted with, not scrolled
- felt, not just seen
The goal isn’t “look at my work”
It’s:
“this feels different…”
git clone https://github.com/your-username/your-portfolio.git
# install dependencies
npm install
# start dev server
npm run dev
Open:
http://localhost:5173
Then… explore a little.
This project isn’t about being flashy.
It’s about control.
Every interaction…
every motion…
every system…
is intentional.