/admin. Every save commits straight back to your repo.
Key Features
One-Click Vercel Deploy
Clone the repo and deploy to a live
.vercel.app domain in under five minutes. The Save2Repo Vercel integration is installed automatically — no manual configuration required.Built-In Visual Studio CMS
A fully featured content editor lives at
/admin on your deployed site. Edit any section of any page, preview your changes, and save — all without touching a code editor.Schema-Validated Content
Every piece of content is validated by a Zod schema at build time. Silent content drift and mismatched field names are impossible — the build fails loudly instead.
Blog with Markdown Support
Write posts in Markdown or MDX. The blog supports tags, publication dates, cover images, and reading-time estimates out of the box.
Case Study Portfolio
Showcase your best work with rich case study pages that support project metadata, role, timeline, technology stack, and embedded media.
MCP Manifests for AI Agents
Automatically generated MCP manifests and an
llms.txt file make your portfolio discoverable by AI agents and LLM-powered tools.Automatic SEO Pipeline
JSON-LD structured data, a generated
sitemap.xml, and a robots.txt are produced at build time — no plugins, no third-party services.No Database Required
All content is stored as flat JSON files in
src/data/. You own every byte in your own GitHub repository, with a full version-control history.Architecture Overview
next-dev-portfolio is divided into two surfaces: the visitor-facing site and the Studio CMS.Visitor Surface
The public pages are standard Next.js App Router routes rendered at build time (static generation) or on-demand. They read their data from baked JSON files in thepublic/ directory, so every page load is fast, edge-cacheable, and requires no runtime database query.
Studio CMS
Studio is a Next.js route group (/admin) powered by @olonjs/studio. It provides a visual interface for every content schema defined in src/data/. No separate server is required — Studio runs inside the same Next.js application.
When
VERCEL_ENV is set (i.e., on a deployed Vercel instance), Studio requires the ADMIN_PUBLIC_KEY environment variable to restrict access to the /admin route. On localhost, Studio is open by default.How Content Works
All editable content lives insrc/data/ as JSON files, organised into three subdirectories:
npm run build), the OlonJS prebuild pipeline runs automatically:
- Syncs page definitions from
src/data/pages/topublic/pages/so the visitor site can serve them over HTTP. - Validates every file against its Zod schema — the build fails if any field is invalid or missing.
- Bakes the validated data to
public/data/so static pages can fetch it at runtime without a server. - Generates
sitemap.xml,robots.txt,llms.txt, and JSON-LD metadata from the content.
The Save2Repo Flow
When you edit content in Studio on your deployed Vercel site, the following happens:Public API Endpoints
next-dev-portfolio exposes a set of public HTTP endpoints that you can query directly, use in integrations, or reference from AI agents.TypeScript End-to-End
next-dev-portfolio is written entirely in TypeScript. The Zod schemas used for validation also generate TypeScript types, so your React components are fully typed against your content model. Refactoring a content schema surfaces type errors in your components immediately — no runtime surprises.OlonJS Packages
next-dev-portfolio is assembled from four focused OlonJS packages:
You interact with these packages through the template — you don’t need to configure them directly unless you want to extend the schemas or add custom sections.