Personal brand website for Jason Green. Built with Astro and Tailwind CSS, deployed on Vercel.
- Framework: Astro (static-first, islands architecture)
- Styling: Tailwind CSS v4
- Build Tool: Vite (built into Astro)
- Formatter: Prettier + prettier-plugin-astro
- Hosting: Vercel
- Domain: jasongreen.biz
# Install dependencies
npm install
# Start dev server (http://localhost:4321)
npm run dev
# Build for production
npm run build
# Preview production build locally
npm run preview├── public/ # Static assets (favicon, images)
├── src/
│ ├── pages/ # File-based routing (.astro files)
│ └── styles/ # Global CSS (Tailwind entry point)
├── astro.config.mjs # Astro + Tailwind + Vercel config
├── tsconfig.json # TypeScript config
└── package.json
The site auto-deploys via Vercel's GitHub integration:
- Push to
main→ triggers a production build and deploy to jasongreen.biz - Push to any branch / open a PR → triggers a preview deployment with a unique URL
No CI/CD config files are needed — Vercel detects Astro automatically and runs npm run build.
main— production branch, auto-deploys to jasongreen.biz- Feature branches — create a branch per issue, open a PR, get a preview deploy
- In the Vercel dashboard → Project Settings → Domains:
- Add
jasongreen.bizandwww.jasongreen.biz
- Add
- At your domain registrar, set DNS records:
Arecord:jasongreen.biz→76.76.21.21CNAMErecord:www→cname.vercel-dns.com
- Vercel automatically provisions and renews SSL/HTTPS certificates
www.jasongreen.bizredirects tojasongreen.biz(configured in Vercel dashboard)
If needed, set environment variables in the Vercel dashboard under Project Settings → Environment Variables. Access them in Astro via import.meta.env.VARIABLE_NAME.
# Format all files
npx prettier --write .
# Check formatting
npx prettier --check .