Welcome to the repository for my personal website, cesargdm.com. This site serves as a digital hub for my work, thoughts, and projects. It's designed to be fast, responsive, and easy to navigate, leveraging modern web technologies.
- 🌍 Internationalization: The site supports multiple languages, offering a global user experience.
- 🖼️ Dynamic OG Image Generation: Open Graph images are generated on-the-fly to ensure social sharing looks great every time.
- 📄 Markdown-Driven Content: All content is sourced from Markdown files, making it easy to update and manage.
- 🔍 Built-in Search: A search index is generated at build time and filtered in the browser, so search needs no external service.
- 🧑⚖️ MIT License: This project is open-source under the MIT License, encouraging community contributions.
- 🏆 Lighthouse: see Benchmarks for current measured scores.
- 🤖 Workers AI assistant: An on-site chat powered by Cloudflare Workers AI, answering in César's voice.
- 💅 Zero Runtime CSS: Styled with Vanilla Extract — CSS authored in TypeScript and compiled away at build time, so no styling runtime ships to the browser.
To start the development server, run:
bun devThen, open http://localhost:4321 in your browser to view the site. The root path redirects to /en or /es.
Building needs no Cloudflare credentials. To exercise the Workers AI chat locally, opt in to remote bindings with a Cloudflare token:
ASTRO_CF_REMOTE=1 bun devTo build the project for production, use:
bun run buildThis produces the Worker and static assets in dist/. Deploy with:
bunx wrangler deployMeasured on https://cesargdm.com/en, mobile preset:
| Category | Before (Vercel/Next) | After (Cloudflare/Astro) |
|---|---|---|
| Performance | 86 | 98 |
| Accessibility | 100 | 100 |
| Best Practices | 100 | 100 |
| SEO | 100 | 100 |
| Metric | Before | After |
|---|---|---|
| Largest Contentful Paint | 3.3 s | 2.0 s |
| Speed Index | 5.3 s | 2.7 s |
| Cumulative Layout Shift | 0.088 | 0 |
| Total Blocking Time | 20 ms | 0 ms |
| Page weight | 628 KiB | 487 KiB |
Reproduce with:
bunx lighthouse https://cesargdm.com/en --output=json --output-path=./lighthouse.jsonThis project is licensed under the MIT License. See the LICENSE file for details.
Contributions, issues, and feature requests are welcome! Feel free to check the issues page for existing issues or open a new one.
- Cloudflare Workers for hosting and Workers AI.
- Astro for the web framework (React islands for interactivity).