The Intent
What CloneCore has going on
CloneCore runs on Nuxt 3 with Vercel handling deploys, builds, and caching. TypeScript and SCSS keep everything clean and maintainable, and GitHub acts as both version control and the content backend — including admin authentication. Most of the site is statically generated for raw speed, while dynamic features like the admin panel and auth are layered on top where they actually matter.
The goal was pretty simple: build the kind of portfolio I'd be proud to hand to a client. So the whole thing comes with a managed theme system, a content dashboard for adding and organizing portfolio items, and a consistent visual identity that carries across pages, components, and even the pixel mascot around the UI. Everything is designed to feel like pieces of the same world instead of random features glued together.
The animated background and the theme-reactive sprites on the homepage follow the same philosophy: visuals and systems work together, not separately.
The Admin Panel
The part nobody sees, but everyone should appreciate.
The admin panel is a private dashboard locked behind GitHub authentication. Once you're in, you can manage three content areas: web projects, Blender add-ons, and 3D artworks. Each category is a clean list of entries with thumbnails, titles, and an associated image folder. You can reorder items, delete them, or edit them through a simple form UI. Adding something new works the same way: fill out the form, drop images in the right folder, and the panel handles the rest.
Whenever you submit changes, the admin bundles up the JSON updates and any new images, then asks the backend to create a GitHub branch and a pull request. Vercel builds a preview automatically. You check it. You merge it. The site updates. The workflow stays civilized.
- Changes ship as GitHub PRs with their own preview deploys.
- Order in the admin maps exactly to the homepage layout.
- Access is restricted to repo collaborators via GitHub OAuth.

The admin panel in action — managing web projects with live preview and drag-to-reorder.
Content Architecture
The JSON brain at the center of everything.
Every card on the homepage — whether it's a web project, an add-on, or an artwork entry — comes from structured JSON. Each item has an ID, title, description, tags, images, and optional badges or status flags. The front end doesn't care where it came from; it just maps the data into cards, modals, and galleries.
Because the content structure and the UI are cleanly separated, the admin doesn't need to know anything about how the site is built. They just fill out a form, upload images, and the system generates the JSON automatically. No hand-editing components. No digging through config. Just content in, site updates out.
{
"id": "example-project",
"title": "Example Project",
"description": "A short summary of what this thing is.",
"externalLink": "https://example.com",
"tags": [
"Web Design",
"Nuxt"
],
"images": [
"/images/web-projects/example/hero.png"
],
"badge": "Designed & Built"
}
The same pattern powers add-ons, artwork, and web projects.