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.
What is sanju.sh?
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.
Key Features
- Writings — a collection of Markdown blog posts and articles, each rendered as an HTML page.
- Thoughts — a section for short quotes or tweet-like updates, distinct from full articles.
- Dynamic OG images — every post gets an auto-generated Open Graph image using SVG and resvg-wasm, generated on the Cloudflare edge.
- Self-hosted fonts — the Uncut Sans typeface is served locally in four weights with WOFF2 and WOFF fallbacks, avoiding third-party font requests.
- Tailwind CSS — utility-first styling for rapid layout and consistent spacing.
- TypeScript — type-checking across the codebase for better maintainability.
- Biome — formatting, linting, and analysis in a fraction of a second.
- Cloudflare Workers deployment — the Astro Cloudflare adapter bundles server code to
dist/serverand static assets todist/client, with awrangler.jsoncconfiguration. The site is deployed as a worker namedsanju.
Who is it for?
- Developers who want a clean, lightweight blog and portfolio without a content management system.
- Astro users who want a reference implementation of SSR on Cloudflare Workers, including dynamic image generation and self-hosted fonts.
- Minimalist writers who want to publish long-form posts and short thoughts in Markdown with a simple, fast front end.
What can you do with sanju.sh?
- Write a personal blog: add Markdown files to the writings collection and publish them with a single build.
- Share quick updates: post short thoughts in the dedicated section, styled like tweets or quotes.
- Deploy to a Cloudflare Worker: run
bun run buildthenbunx wrangler deploy --name sanjuto publish; the Astro adapter writes the worker bundle and client assets automatically. - Customize everything: since the design is minimal and the code is open source, you can swap colors, fonts, and layout without a heavy theme system.
How does sanju.sh work?
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.
FAQ
Is sanju.sh free to use?
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.
What tech stack does it use?
It uses Astro, Tailwind CSS, TypeScript, Biome, and Bun for building, with Cloudflare Workers for hosting. Fonts are self-hosted as WOFF2/WOFF.
Does it support dynamic social images?
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.








