About this Site
Design choices, purpose, and other information about this website.
Feb 3 – 6, 2026 · in progress
This page covers the site itself. For information about me, my background, and projects, see the About Me page.
Purpose
This site serves as my personal hub—what some call a digital garden—where I share writings, projects, and other interests.
It’s a space for documenting my thoughts, experiments, and lessons learned—primarily in programming and technology.
Design Choices
As a long-time reader of Gwern Branwen’s website, this website is heavily inspired by his design choices, such as:
- Minimal, predictable layout
- Serif typography with justified text
- Status indicators for writings (draft, in progress, finished, etc.)
- More features to come as the site evolves
Layout
Before building this site, I gathered inspiration from various personal websites, blogs, and digital gardens to find a layout that suited my needs. Some of the inspirations include:
I settled on a three-column layout: a left sidebar for navigation and table of contents (where applicable), a central content area, and a right sidebar for footnotes and supplementary information.
Statuses
Writings on this site can have one of the following statuses:
- Draft: The writing is in its early stages, and may be incomplete or not fully polished. You may encounter rough ideas, unfinished sections, placeholders, and other signs of work in progress.
- In Progress: The writing is actively being worked on and is more complete than a draft, but may still need refinement or additional research. Some pages—like this one, the home page, or about me—may remain in this status indefinitely, as I continue to update them over time.
- Finished: The writing is considered complete and polished. It has undergone thorough editing, fact-checking, and refinement. While future updates may occur, the core content is stable and ready for readers.
- Abandoned: The writing has been intentionally left incomplete or is no longer being actively worked on. This status indicates that the author has decided not to pursue further development of the content, and it may remain in its current state indefinitely.
- Notes: The writing is a collection of informal notes, ideas, or observations. It may not follow a structured format and is intended for personal reference rather than formal publication.
These statuses help readers to understand the current state of each writing and set expectations accordingly. They also serve as a reminder for me to revisit and update my writings as needed.
Tags
Each content is tagged with relevant keywords to make navigation and discovery easier. Tags can be both content-related and meta. You can click on any tag to see all content associated with it.
Indexes
Indexes are special pages that aggregate links to related content, making it easier to navigate and discover what’s here. Think of them as tags we use to organize content.
This website has two types of indexes available:
- Automated indexes: These are generated automatically based on tags. For example a post containing the tag
generative artandsomething elsewill generate two additional pages when building this site:/tags/generative-artand/tags/something-else, which list all content tagged with those tags. - Manual indexes: These are curated by me, where I handpick and organize content based on what I think is more useful for readers. For example I maintain a Writings Index, where I list all my writings, or a Projects Index for all the projects I have worked on. These indexes may include additional information, such as summaries, dates, or other metadata, to help readers find what they’re looking for.
I maintain manual indexes:
- Writings Index: A comprehensive list of all my writings, sortable by date, filterable by tags and statuses.
- 3D Index: A list of all my 3D printed (then painted) figures, with some details about each.
- Projects Index: Complete list of my side projects, where applicable with links to the source code repositories.
To find all the indexes, see Tag: index; to find all the tags, see Tag: tags11. I know, I know, URL structure is a bit weird. I may change it in the future, but for now it works™..
Colophon
Hosting
Batin.sh is hosted on Cloudflare Workers. As a static site, it benefits from Cloudflare’s global CDN for fast load times worldwide.
The choice of Cloudflare is primarily due to its generous free tier, ease of use, and my familiarity with the ecosystem. Despite occasional outages that make headlines, I find it reliable enough for a personal site.
Stack
The site is built with Astro, a static site generator, using MDX for content and Tailwind CSS for styling.
A bit of custom JavaScript handles interactivity—like table of contents highlighting—but the site is primarily static HTML and CSS for performance, simplicity, and accessibility.
Markdown sources are publicly accessible—just append .md or .mdx to any page URL (e.g., this page’s source). Useful for reading or feeding to an LLM.
The source code isn’t public yet, but I may open-source it in the future.
Footnotes
I know, I know, URL structure is a bit weird. I may change it in the future, but for now it works™. ↩