Personal platform for Douglas M. Galloway — systems thinker, builder, coach.
- Astro (SSR mode with Vercel adapter)
- Content Collections for notes and HDK content
- Vercel Edge Functions for authentication
- Buttondown API for newsletter
- IBM Plex Mono typography
- Plain CSS (no frameworks)
- Install dependencies:
npm install- Create
.envfrom.env.exampleand add your API keys:
BUTTONDOWN_API_KEY=your_buttondown_api_key
AUTH_SECRET=your_random_secret_string_min_32_chars
SITE_URL=https://damdug.com- Run development server:
npm run devThe site is configured for Vercel deployment. Push to main branch to deploy automatically.
/src/pages- All routes and API endpoints/src/content- Content collections (notes, hdk)/src/components- Reusable Astro components/src/layouts- Layout templates/src/styles- Global CSS/legacy- Archived original site files
The /resources route is protected by middleware. Users must:
- Submit email via SignupForm
- Receive magic link via email
- Click link to set auth cookie (90 day expiry)
- Access granted to /resources
Magic link flow: SignupForm → /api/subscribe → email → /confirm → /api/verify → /resources