Understand
Before I touch code, I get clear on what the project is actually for, what it needs to do, what constraints I'm working with, and what "done" looks like for this one.
Frontend Engineer

I'm a 19-year-old creative developer. I build because I like watching an idea turn into something you can actually use — logic, games, anything interactive. That's the part that pulls me in.
I learned React properly in December 2025. Scene Hunt was the first project — a movie app I built specifically to get comfortable handling async logic and API calls inside React.
Ducor Residences came next — a full hotel site I built to practice Next.js on a real multi-page project, from a blank page to something that actually feels finished.
I prefer solving problems the right way in code over moving fast and cutting corners. Right now, I'm freelancing and spending the rest of my time learning creative front-end work — GSAP, Three.js, WebGL — to build sites that feel less like pages and more like something you interact with. This portfolio is part of that practice too.
I'm currently open for freelance work. Reach out if you've got something to build.
Before I touch code, I get clear on what the project is actually for, what it needs to do, what constraints I'm working with, and what "done" looks like for this one.
I look at what the project needs — API structure, how the pages and pieces connect — and map it out before I start building, so I'm not figuring it out mid-build.
This is where most of the time goes. With the plan already set, I build it out piece by piece.
Once it's built, I go back through it, test that everything works the way it's supposed to, and fix what's off before calling it done.
A movie discovery app built with React — browse trending titles, search in real time, and save favorites, all backed by the TMDB API.
A guest house demo site for a fictional Monrovia hotel — a cinematic, hospitality-grade web experience built to feel premium, restrained, and comfort-focused.
A Chrome extension that scrapes transaction records off an internal dashboard and syncs them into Google Sheets automatically, replacing a manual copy-paste job.
html( html )
css( css )
typescript( typescript )
react( react )
next.js( next.js )
tailwind( tailwind )
motion( motion )
gsap( gsap )
three.js( three.js )
sql( sql )
node.js( node.js )