Portfolio
A continuously evolving portfolio used to practice design, animation, and modern frontend patterns.
Overview
This portfolio is a long-running project that has evolved alongside my growth as a developer. It began as a static HTML/CSS site, was later migrated to React with Vite, and is now built with Next.js. Each iteration reflects new tools, patterns, and design principles I've learned over time. The site also serves as the official domain for my published apps, hosting privacy policies and terms of service required for App Store distribution.
Media Gallery
Problem & Solution
Early versions of my portfolio quickly became outdated as my skills improved, making it difficult to reflect my current abilities.
Instead of treating the portfolio as a finished product, I designed it as an evolving system — a place to experiment with modern tooling, subtle animations, and component-driven design while maintaining a clean and professional presentation.
Key Features
- Component-driven UI built with shadcn/ui and TailwindCSS
- Subtle, purposeful animations to enhance UX without distraction
- Modular layout that supports iteration and content reorganization
- Deployed as a stable domain for App Store privacy policies and legal pages
- Continuously updated to reflect current skills and projects
Technical Highlights
- Migrated the project across multiple stacks (HTML/CSS → React + Vite → Next.js)
- Implemented motion-based UI interactions using the Motion library
- Used shadcn/ui components as a foundation for rapid experimentation and reuse
- Designed flexible layouts to accommodate different project types and page structures
- Balanced animation performance and accessibility with visual polish
Challenges & Learnings
Animation Without Overuse - Learned to design subtle, UX-driven animations that support interaction and hierarchy rather than overpowering the content.
Design Identity - Iterated on typography, spacing, and layout to find a visual style that feels personal, confident, and professional.
Content Organization - Refined how projects, sections, and information are structured to keep the site scannable while still expressive.
Product Decisions
- Treated the portfolio as a living project rather than a static deliverable
- Used real experimentation instead of artificial demos
- Practiced new components and UI patterns directly in production
- Prioritized clarity and restraint over visual noise
Interested in this project?
Check out the live demo or view the source code on GitHub