Retro-futuristic site built with Astro.
Current architecture is intentionally minimal and dynamic:
- high-level principles pages
- hybrid AI-powered live content feed (browser AI first, Cloudflare Worker fallback)
- Astro (static output)
- TypeScript
- Preact islands
- Astro sitemap integration
npm install
npm run devBuild and preview:
npm run build
npm run preview/home/principles/signals/about/contact
Main files:
src/components/islands/LiveSignalsWidget.tsxsrc/lib/universal-ai.tssrc/lib/feed-sources.ts
Per item output:
- TL;DR summary
- Why it matters
- Smart tags/categories
- Link to full item
- Try browser AI (
window.ai.languageModel) when available - Try Apple Intelligence bridge if present
- Fallback to Cloudflare Worker
/summarize - Final fallback heuristic summary
- GitHub releases (selected public repos)
- Trusted RSS/Atom blogs
- Worker-assisted fetching to handle CORS/domain restrictions
- Source allowlists for safer feed ingestion
- Client cache in
localStorage(1 hour) - Worker edge cache (
caches.default) - Optional KV metadata for conditional requests (
ETag/Last-Modified)
Worker lives in worker/.
Endpoints:
POST /summarizeGET /github-releasesGET /rss-feedGET /proxy
Worker safeguards:
- Workers AI model fallback chain (tries your requested
llama-3.3-70b-instruct-awqfirst) - host allowlists for RSS/proxy endpoints
- conditional upstream metadata via KV (
ETag/Last-Modified) - retry/backoff for upstream and GitHub calls
See worker/README.md for deployment and bindings.
Set frontend env var to enable Worker integration:
PUBLIC_AI_WORKER_URL=https://your-worker.workers.devGitHub Actions workflow:
.github/workflows/azure-static-web-apps-delightful-water-0cb5fbc10.yml
Pipeline:
npm installnpm run build- Upload
dist/to Azure Static Web Apps