AstroPortfolio

sanju.sh — Astro Portfolio Template

By Spikeysanju

A personal website template built with Astro, featuring writing, thoughts, and project showcases, with support for dynamic OG images and self-hosted fonts.

Explore the design

Compare the page layouts and mobile experience. Open any screenshot for a closer look.

2 previews
Desktop homepage1 / 2
Desktop captureTop of page

Actual screenshot captured by the server browser.

All pages & views 2

Screenshots show visual appearance; interactive behavior may differ.

Recorded 2026-10-05View source

What stands out

A quick read of the recorded project description.

01

Built with Astro, supporting server-side rendering on Cloudflare Workers

02

Includes three content sections: writings, thoughts, and ships

03

Generates dynamic OG images for each article at the edge via SVG and resvg-wasm

04

Self-hosted Uncut Sans font with four weights and woff2/woff fallbacks

05

Uses TailwindCSS, TypeScript, and Biome for styling, typing, and code quality

06

Code is open source under Apache-2.0

Template Details

sanju.sh is the source code for developer Spikeysanju's personal website, using Astro as the static site generation framework and deployed on Cloudflare Workers. The site presents a minimalist monochrome color scheme with one accent color, with content centered on personal writing and projects.

In terms of content structure, the site is divided into sections for writings (blog posts and long-form articles), thoughts (short ideas similar to tweets or quotes), and ships (project showcases). Articles are written in Markdown for easy reading and maintenance.

On the technical side, the project uses TailwindCSS for styling, TypeScript for type checking, and Biome for formatting and linting. Dynamic OG images are generated at the edge via SVG and resvg-wasm, and fonts use self-hosted Uncut Sans (four weights, with woff2 and woff fallbacks). The deployment process builds and then publishes via Wrangler as a Cloudflare Worker named sanju; the Astro Cloudflare adapter outputs a server bundle and static assets.

Regarding licensing, the code is released under Apache-2.0, allowing free use, modification, commercial use, and distribution, provided the license is included and attribution notices are retained; third-party assets such as demo images and fonts must be checked separately for their licenses.

AstroPortfolio

Is it right for your project?

Use Cases

  • Building a personal website or blog focused on text content
  • Showcasing personal projects and short thoughts while publishing long-form articles
  • Sites that need automatically generated share preview images for each article
  • Developers who want to deploy an Astro site to Cloudflare Workers

Suitable For

  • Individual developers who prefer a minimalist monochrome design style
  • Those using Astro who want a reference for a content-focused site structure
  • Site authors who need self-hosted fonts and a dynamic OG image solution
  • Users who accept the Apache-2.0 license terms and are willing to retain attribution notices

Getting started & customization

Use these recorded setup notes alongside the repository instructions for your chosen version.

  1. 1

    The project uses Bun as the package manager, and the build command is bun run build

  2. 2

    Deployment is done via wrangler deploy --name sanju to publish as a Cloudflare Worker

  3. 3

    The Astro Cloudflare adapter outputs dist/server and dist/client, and wrangler.jsonc points to the adapter entry

  4. 4

    The README mentions that the old Cloudflare Pages project was removed after the Astro 7 migration, and production deployment should use Workers

  5. 5

    The code is under Apache-2.0; distribution requires including the license and retaining attribution notices; third-party assets such as demo images and fonts must be checked separately for their licenses

Read repository instructions

License & source material

Usage conditions & limitations

Free to use · keep license notice

This entry covers the free version under Apache-2.0 in the public repository; the free scope is the code of this version and does not imply that external services or third-party assets are free.

Must comply with when using

  • Free use, modification, commercial use, and distribution are permitted; distribution requires including the Apache-2.0 license.
  • Modified files must prominently indicate changes and retain relevant copyright, patent, trademark, and attribution notices.
  • If the original project includes a NOTICE file, applicable attribution notices must be retained when distributing derivative works.
  • The license includes an applicable contributor patent grant; initiating patent litigation as described in the license terminates that patent grant, and no trademark rights are granted.
  • The code is provided as-is; warranties and limitations of liability are governed by the original license and applicable law.

Additional costs & items to verify

  • Demo images, fonts, icons, and other third-party assets must be checked under their respective licenses; they cannot be judged solely by the code's Apache-2.0 license.
  • External services such as domains, hosting, databases, payments, or AI may incur additional charges.
  • Production deployment of this template depends on the Cloudflare Workers service and requires using Wrangler to publish the site as a Worker named sanju, which is an external hosting service requirement.
  • Deployment requires using the Wrangler CLI and specifying a Worker name, meaning a Cloudflare account and corresponding deployment permissions are needed.
  • The build output depends on Astro's Cloudflare adapter, and the server-side rendering portion must run in the Cloudflare Workers environment rather than pure static hosting.
  • The README explicitly requires switching production deployment to Cloudflare Workers; the old Cloudflare Pages project has been removed, so deployment options are limited.
View Original Text Basis

no-charge, royalty-free, irrevocable copyright license

Original License Text

the site is deployed as a cloudflare worker named `sanju`.

Original README

bunx wrangler deploy --name sanju

Original README

the astro cloudflare adapter writes a worker bundle to `dist/server` and static assets to `dist/client`.

Original README

the old cloudflare pages projects were removed after the astro 7 migration. use workers for production deploys going forward.

Original README
https://github.com/Spikeysanju/sanju.sh/blob/main/LICENSEhttps://github.com/Spikeysanju/sanju.sh/blob/main/README.md

Compiled by DeepSeek based on repository license and README ·2026-10-05. Results only cover the materials read; dependencies, images, fonts, and subsequent term changes are subject to their respective original texts.

Project checks & description sources

Template Information

Source platforms
Astro Themes
Documentation and maintenance reference score
More documented · 87 / 100
Technologies
Astro
Website type
Portfolio
How this score is calculated

Our heuristic uses license records (up to 30), a demo link (12), a preview (10), stars (15), recorded maintenance (15), description completeness (8), feature records (5) and classification data (5). It is not a code, security or performance test, or a Google score. A link does not establish tested functionality.

What to verify for this project

Repository update recorded
2026-09-10
Screenshot last checked
2026-10-05

A demo link is listed. Check it with your own content and viewport sizes; its presence does not confirm that forms, authentication or payments work.

The catalog identifies Astro as the primary stack. Check the actual dependency manifest and lockfile for versions and hosting requirements. These notes use recorded metadata, not a code audit or a deployment test.

Use a selection guide →

How this description was prepared

AI-assisted description based on catalog records and repository material. Repository authors are not automatically the reviewers of this description.

Review declaration: [email protected] · 2026-10-06

Inspect the recorded source material

SHA-256: dac96437a47fb00ab98e4fa0c1107190e5284b1aa00821d8529d6a15cc122415

2026-10-05T18:08:02.206Z

Source file / repository
![ A website with the title "Sanju's internet space" and navigation links for "home", "writing", "thoughts", and "ships".](https://github.com/Spikeysanju/sanju.sh/assets/23400022/ff3120ee-281b-4607-995e-bc2e8f9edef6)

# 🌐 sanju.sh – internet space
hey! this is my personal corner on the web where I share my thoughts, ideas, and projects. feel free to explore and contact me if you have any questions or just want to chat.

## 📖 about project
this is a simple personal website i built using [astro](https://astro.build/), a static site generator. i chose Astro for its speed, flexibility, and ease of use. i hope you like the site!


## ✨ features
- **writings**: a collection of my blog posts and articles
- **thoughts**: a place for me to share my random thoughts and ideas (more like tweets or quotes)
- **dynamic og images**: auto-generated per post using svg + resvg-wasm on the edge
- **self-hosted fonts**: uncut sans, four weights, woff2 + woff fallback

## 🛠️ tech stack
- **astro**: content-focused web framework with ssr on cloudflare workers
- **tailwindcss**: utility-first css framework for rapid prototyping
- **markdown**: for writing content in a simple and easy-to-read format
- **typescript**: for type-checking and better code quality
- **biome**: Format, lint, and more in a fraction of a second.
- **cloudflare workers**: hosts the production site with static assets and server rendering

## 🎨 design
- i wanted to keep the design simple and clean. i used a monochrome color scheme with a pop of color for the accent.
- i also used a lot of whitespace to make the content easy to read and navigate.
- i'm a big fan of minimalism and KISS (keep it simple, stupid) and i think it works well for a personal website like this.
- i hope you like the design as much as i do!

## 🚀 deployment
the site is deployed as a cloudflare worker named `sanju`.

```bash
bun run build
bunx wrangler deploy --name sanju
```

the astro cloudflare adapter writes a worker bundle to `dist/server` and static assets to `dist/client`. `wrangler.jsonc` points at the cloudflare adapter entrypoint, and wrangler follows the generated `dist/server/wrangler.json` during deploy.

the old cloudflare pages projects were removed after the astro 7 migration. use workers for production deploys going forward.

## 🤝 contributing
if you have ideas or suggestions, feel free to open an issue or submit a pull request. i'm open to collaborations and contributions.

## 📬 contact
you can reach me at [email protected] or on twitter. don't hesitate to get in touch!

## 📜 license
this project is open source under the Apache License 2.0. you're welcome to use the code for your own projects. if you do, a shoutout would be appreciated but it's not required.
Report a correction

Explore similar templates

Compare previews and descriptions within the same stack and category.