Personal website of Davide Imola β Software Engineer, conference organizer, and tech speaker.
# Install dependencies
pnpm install
# Run development server
pnpm dev
# Build for production
pnpm build
Visit http://localhost:3000
All content is managed through simple TypeScript files in /src/content/
:
src/content/
βββ speaking-events.ts # Conferences, talks, podcasts
βββ projects.ts # OSDay, Schrodinger Hat, open-source
βββ blog-posts.ts # Blog metadata
βββ now.ts # "What I'm doing now" section
βββ uses.ts # Tech stack & tools
βββ blog/ # MDX blog posts
β See Content Management Guide
Japanese-inspired aesthetic (ε) combining traditional elements with modern minimalism:
- Akane Red
#C91F37
β Primary accent - Kanji accents β ι (way), ε΅ (create), θͺ (speak), ζΈ (write)
- Seigaiha pattern β Ocean waves background
- Ma (ι) β Respect for negative space
- Contact Form Setup β Resend API integration
- Newsletter Setup β Kit (ConvertKit) integration
- Features Changelog β New features log
- Menu Optimization β Navigation changes
- Brand Identity β Complete design system
- Brand Audit β Initial site audit
- β Dark minimalist theme with Japanese aesthetics
- β Fully responsive (mobile-first)
- β SEO optimized (meta tags, structured data, sitemap)
- β MDX blog with syntax highlighting
- β Contact form with Resend API
- β Newsletter integration with Kit
- β "What I'm Doing Now" section
- β "/uses" page (tech stack showcase)
- β Dynamic content (no database needed)
- β TypeScript strict mode
- β Performance optimized
Category | Technology |
---|---|
Framework | Next.js 15 (App Router) |
Language | TypeScript 5 |
Styling | Tailwind CSS 4 |
Content | MDX + TypeScript |
Syntax | PrismJS |
Resend API | |
Newsletter | Kit (ConvertKit) |
Deployment | Vercel |
pnpm dev # Start development server
pnpm build # Build for production
pnpm start # Start production server
pnpm lint # Run ESLint
pnpm lint:fix # Fix linting issues
pnpm format:write # Format all files
pnpm typecheck # Type checking
pnpm check # Lint + typecheck
Optimized for Vercel:
- Push to GitHub
- Import on vercel.com
- Add environment variables (see docs/setup/)
- Deploy automatically on every push
Environment variables needed:
RESEND_API_KEY
β Contact formCONTACT_EMAIL
β Email recipientCONVERTKIT_API_KEY
β NewsletterCONVERTKIT_FORM_ID
β Newsletter form ID
davideimola.dev/
βββ src/
β βββ app/ # Next.js App Router
β β βββ _components/ # Reusable components
β β βββ about/ # About page
β β βββ blog/ # Blog listing
β β βββ contact/ # Contact form
β β βββ experience/ # CV/Resume
β β βββ projects/ # Projects showcase
β β βββ speaking/ # Speaking engagements
β β βββ uses/ # Tech stack & tools
β βββ content/ # Content files (EDIT HERE!)
βββ docs/ # Documentation
β βββ setup/ # Setup guides
β βββ development/ # Development docs
β βββ design/ # Design system
βββ public/
βββ logos/ # Company logos
- Website: davideimola.dev
- Email: [email protected]
- GitHub: @davideimola
- LinkedIn: davideimola
Β© 2025 Davide Imola. All rights reserved.
Built with β€οΈ using Next.js and Tailwind CSS.