Single-page application built with Vite + React + TypeScript. Hosts my development journal (Markdown-driven), portfolio highlights, and bilingual résumé. Auth0 protects the private /studio route used to publish entries through Decap CMS.
- React 18 + Vite + TypeScript
- Framer Motion for transitions
- Auth0 React SDK
- Decap CMS (Git-based)
- Netlify build & deploy pipeline
- Markdown-powered dev journal (
src/data/posts) with code-focused entries. - Portfolio spotlight driven by
src/data/projects.ts. - Résumé pages in English (
/resume) and Spanish (/resume-es). - Private editing studio (
/studio) guarded by Auth0. - Placeholder assets in
public/media/placeholders/ready to swap with R2/CDN links.
npm install
npm run devVisit http://localhost:5173 for the site or http://localhost:8080 after running npm run cms to work inside Decap locally (requires Auth0 credentials in .env).
npm run dev– Vite dev servernpm run build– Production build + type checknpm run preview– Preview the production bundlenpm run cms– Launch Decap CMS locallynpm run new-post– Scaffold a Markdown journal entry
Copy env.example to .env.local and supply:
VITE_AUTH0_DOMAIN=
VITE_AUTH0_CLIENT_ID=
VITE_AUTH0_REDIRECT_URI=https://your-domain.dev
Add the same values to Netlify environment variables for production. If you consume external APIs, also set VITE_AUTH0_AUDIENCE.
src/
components/ # Layout + UI
data/ # Markdown posts + portfolio data
pages/ # Home, portfolio, blog, resume, studio
styles/ # Global styling (Bemo Light)
utils/ # Markdown + auth helpers
public/
media/ # Placeholder assets ready for CDN replacements
- Default Netlify build command:
npm run build - Publish directory:
dist - Ensure Auth0 callback/logout origins include your production URL and
/studio - Keep Netlify Git Gateway enabled for Decap commits
Personal site & journal for Daniel Antonio Montenegro. All feedback welcome.