# geekyrahul.in — this website

> TL;DR: geekyrahul.in is a statically generated Astro site engineered so that search engines and AI assistants can read every page without running JavaScript. Every page ships as full HTML with JSON-LD structured data, a plain-Markdown twin, and an entry in llms.txt. Hosting costs $0 per month on Vercel's free tier, and a one-file feature-toggle system turns whole sections on or off with no code changes.

- Status: active
- Published: 2026-10-22
- Last updated: 2026-10-22

- Tags: meta, astro, geo

Note: This is a personal learning project, not a product or a service. It uses only public or synthetic data.

## What it does

This website is my public lab notebook: projects, writing, and videos about building AI agents.
It is generated statically with Astro, so every page is complete HTML at request time — readable
by a browser with JavaScript disabled, by a search crawler, or by an AI assistant fetching a page.

## Why I built it

A personal site in 2026 has two audiences: people, and the AI systems that increasingly answer
questions on their behalf. I wanted a site that treats both as first-class — and building that
properly (structured data, llms.txt, Markdown endpoints, answer-first content) is itself a
learning project, which is the point of this site.

## Architecture

```text
Markdown files ──► Astro content collections (Zod-validated) ──► static HTML
                                                                ├─ rss.xml, sitemap
                                                                ├─ llms.txt, llms-full.txt
                                                                ├─ {page}.md endpoints
                                                                └─ per-page OG images (sharp)
```

A single feature-toggle file controls every optional section: flag off means the route is never
generated, and the section disappears from navigation, sitemap, RSS, and llms.txt. Turning a
section on requires no code changes.

## What worked, and what broke

What worked: the toggle system. Routes are injected at build time based on flags, so a disabled
section returns a genuine 404 rather than an empty shell — verified by flipping a flag, rebuilding,
and watching the route vanish from the build output.

What broke: an early version loaded its CSS without the Tailwind directives, so the first build
rendered completely unstyled pages. Caught by screenshotting the built site rather than trusting
that "it compiled" meant "it looks right".

## What's next

- Publish the repository and wire automatic deploys on push.
- Run Lighthouse and the Rich Results Test after go-live and record the scores here.

## FAQ

### Why build a site instead of using a CMS?

Content lives in Markdown files in a Git repo, frontmatter is validated at build time, and every page is plain static HTML. There is no database to maintain and nothing dynamic to break.

### What makes it AI-crawler-friendly?

Full content in the initial HTML, robots.txt explicitly allowing reputable AI crawlers, an llms.txt index, a Markdown version of every page, TL;DR blocks at the top of each project and post, and typed JSON-LD on every page.

### Is the source code available?

The repository will be public on my GitHub (github.com/rpalsaxena). The README documents how to add content, flip feature flags, and deploy.
