Personal portfolio for Adeola Bada, Senior Backend Engineer. Built with Nuxt 4, Vue 3, TypeScript, and Tailwind CSS v4.
- Dual theme system — Terminal Dark and Minimal Pro, user-selectable with a first-visit prompt and persistent toggle
- Dark mode — available in Minimal theme
- SSG / SEO — static site generation via Nuxt, Schema.org JSON-LD, Open Graph, Twitter Card meta
- Sections — Hero, About, Experience, Speaking, Projects, Tech Stack, Contact
- Contact form — Formspree integration with success/error states
- Project thumbnails — live site screenshots via Microlink
| Layer | Tools |
|---|---|
| Framework | Nuxt 3.17 (Nuxt 4 compat mode) |
| Language | TypeScript |
| Styling | Tailwind CSS v4 + CSS custom properties |
| State | Pinia (manual localStorage persistence) |
| Contact | Formspree |
| Deployment | Static (nuxt generate) |
# Install dependencies
npm install
# Start dev server
npm run dev
# Build for production
npm run generateCreate a .env file at the project root:
NUXT_PUBLIC_FORMSPREE_ID=your_formspree_form_idAdeola Bada — Senior Backend Engineer
GitHub · LinkedIn · adeolabada.com
Licensed under the MIT License.