Portfolio and business website for Alexander Böhm, built with Astro, TypeScript, and Svelte.
- Astro - Static site generator
- Svelte - Interactive components
- TypeScript - Type safety
- Bun - Package manager and runtime
- Biome - Linting and formatting
- Vercel - Deployment platform
- Bun 1.x or later
bun installbun devOpens the development server at localhost:4321.
bun buildRuns type checking and builds the production site to ./dist/.
bun previewPreview the production build locally before deploying.
src/
├── pages/ # Route pages and API endpoints
│ ├── api/ # Server endpoints (contact form)
│ └── de/ # German locale pages
├── components/ # UI components (.astro, .svelte)
├── layouts/ # Page layouts
├── data/ # Content data (EN/DE variants)
├── types/ # TypeScript types and Zod schemas
├── utils/ # Utilities (i18n, routes, etc.)
├── styles/ # Global CSS
└── images/ # Image assets
public/ # Static assets- Bilingual support (English and German)
- Contact form with email integration via Resend
- Responsive design
- Optimized images (WebP)
- SEO-friendly with sitemap generation
Copy .env.example to .env and configure:
RESEND_API_KEY= # Resend API key for contact form
PUBLIC_VERCEL_PROJECT_PRODUCTION_URL= # Production domain URLSee CONTRIBUTING.md for development guidelines.
All rights reserved.