A minimalist black-and-white portfolio and blog built with Nuxt 4, TypeScript, and Nuxt Content.
This project is designed for developers and security-focused creators who want:
- file-based content editing (Markdown)
- strong typography and terminal/brutalist UI
- static-friendly performance
- built-in SEO essentials (RSS, sitemap, robots)
Live demo: https://briacd.com
Run locally:
npm install
npm run devThen open: http://localhost:3000
- Nuxt 4 + TypeScript strict mode
- Nuxt Content collections for:
- blog articles
- projects
- roadmaps (SEO track)
- Dark monochrome terminal-inspired UI
- Responsive layout for mobile and desktop
- Search + tag filters on blog/projects/roadmaps pages
- Markdown article pages with TOC and prev/next navigation
- Project pages with links and markdown content
- SEO roadmap section under
/seo/* - RSS feed:
/rss.xml - Sitemap:
/sitemap.xml - Robots file:
/robots.txt - GitHub stats block on home page
Install dependencies:
npm installStart development:
npm run devBuild for production:
npm run buildPreview production build:
npm run previewType check:
npm run typecheckCreate your local env file from the example:
cp .env.example .envSupported variables:
GITHUB_TOKEN(optional)- used by
/api/github-statsfor richer GitHub metrics
- used by
FOOTER_GITHUB_URL(optional)FOOTER_LINKEDIN_URL(optional)FOOTER_EMAIL(optional)
If footer variables are empty, their buttons are hidden automatically.
Contributions are welcome.
- Open an issue first for significant changes.
- Fork the repository.
- Create a feature branch.
- Run checks before pushing:
npm run typechecknpm run build
- Open a pull request with:
- clear summary
- screenshots if UI changed
- related issue reference
- Keep TypeScript strict-compatible
- Prefer composables for reusable query logic
- Keep UI monochrome and accessible
- Avoid unnecessary dependencies
MIT.