AI Research Intern at CMAP, Ecole Polytechnique. Personal portfolio built with Nuxt 4 and deployed to Cloudflare Workers.
- Framework β Nuxt 4 with Cloudflare Workers preset
- UI β Nuxt UI v4 + Tailwind CSS
- Content β Nuxt Content with D1 database
- Database β Cloudflare D1 (SQLite)
- Cache β Cloudflare KV
- Deployment β NuxtHub on Cloudflare
- Package Manager β Bun
- Validation β Zod
- Composables β VueUse
- Icons β Iconify
# Install
bun install
# Dev server
bun run dev
# Build
bun run build
# Lint
bun run lint
# Deploy
bun run deployCopy .env.example to .env and configure:
NUXT_HA_URL= # Home Assistant instance URL
NUXT_HA_TOKEN= # Home Assistant long-lived access token
NUXT_DISCORD_USER_ID= # Discord user ID for activity
NUXT_WAKATIME_* # WakaTime API keys (optional)Only NUXT_HA_URL + NUXT_HA_TOKEN are needed for the live status widget. The site works without any env vars.
artsite/
βββ app/
β βββ components/
β β βββ content/ # MDC components (NowStatus, TalkCard, HoverTextβ¦)
β β βββ home/ # Homepage sections (Skills, Timeline, Live widgets)
β βββ composables/ # useContent()
β βββ pages/ # File-based routing
β β βββ index.vue # Home
β β βββ projects/ # /projects & /projects/[slug]
β β βββ talks.vue # /talks
β β βββ uses.vue # /uses
β β βββ hobbies.vue # /hobbies
β βββ app.vue
βββ content/
β βββ index.md # Homepage content
β βββ talks.json # Talks data (upcoming/past)
β βββ uses.md # Hardware & software setup
β βββ hobbies.md # Hobbies
β βββ projects/*.md # Project pages
β βββ experiences/*.md # Work experience
β βββ education/*.md # Academic background
β βββ skills.json # Skills data
β βββ contact.json # Contact links
βββ server/
β βββ api/ # Content & integration API endpoints
β β βββ ha/ # Home Assistant proxy (status, media, monitors)
β βββ routes/resumes/ # Static PDF resume endpoints
βββ types/ # TypeScript definitions & navigation config
βββ nuxt.config.ts
βββ content.config.ts # Content collections with Zod schemas
βββ wrangler.jsonc # Cloudflare Workers config
βββ package.json
| Route | Description |
|---|---|
/ |
Home β research focus, skills, experience timeline, live telemetry |
/projects |
Project portfolio grouped by type |
/projects/[slug] |
Individual project page |
/talks |
Academic presentations β upcoming & past |
/uses |
Hardware, software, and homelab infrastructure |
/hobbies |
Personal interests |
/resumes/en |
English resume (PDF) |
/resumes/fr |
French resume (PDF) |
MIT Β© Arthur Danjou