Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A minimal personal website built with Astro, featuring blog posts, thoughts, and auto-generated OG images.
sanju.sh is an open-source personal website template built with Astro that combines a blog, a micro-thoughts feed, and a project showcase into a single static site served from Cloudflare Workers. The project is created by Sanju (GitHub user Spikeysanju) and is licensed under the Apache License 2.0, so anyone can reuse the code for their own corner of the web.
sanju.sh is a minimal personal website built with the Astro static site generator. It takes Markdown content as input — blog posts and short thoughts — and outputs a fast static site with server-side rendering on Cloudflare Workers. The design uses a monochrome color scheme with a single accent color, generous whitespace, and a self-hosted Uncut Sans font in four weights (WOFF2 with WOFF fallback). The repository includes the full source code, deployment configuration, and documentation.
dist/server and static assets to dist/client, with a wrangler.jsonc configuration. The site is deployed as a worker named sanju.bun run build then bunx wrangler deploy --name sanju to publish; the Astro adapter writes the worker bundle and client assets automatically.The site is built with Astro's Cloudflare adapter. During the build, content from Markdown files is transformed into HTML pages, and the adapter produces a worker bundle in dist/server plus static assets in dist/client. Deployment uses Wrangler, and the production worker is named sanju. The old Cloudflare Pages projects were removed after the Astro 7 migration.
Yes, the source code is published under the Apache License 2.0. You can use it for your own projects, and attribution is appreciated but not required.
It uses Astro, Tailwind CSS, TypeScript, Biome, and Bun for building, with Cloudflare Workers for hosting. Fonts are self-hosted as WOFF2/WOFF.
Yes, Open Graph images are auto-generated per post on the edge using SVG plus resvg-wasm, so each article gets a unique preview image without manual design work.
