Colophon
How this site is put together. I keep the observations and make the editorial decisions. An agent helps me ask questions, shape drafts, and check for privacy leaks. I review and approve every published word.
Site
A static site built with Astro 7 and TypeScript. Project entries and workbench notes are Markdown content collections. There is no database, account system, or analytics. Incoming webmentions are collected by webmention.io.
Hosting and DNS
Production is the Vercel projectkarthikg80s-projects/personal-site, deploying frommain. The karthikg.in zone stays on DigitalOcean. Only the apex A record points at Vercel (76.76.21.21). Nameservers were not moved, so mail,supabase.karthikg.in, and the studio subdomains stay put.
Identity
- Homepage
h-cardwith name, photo, URL, email, and org. The card wraps the introduction only. rel="me"toGitHub,Bluesky (also markedatprotofor IndieLogin),LinkedIn, andThea Foundry. Reciprocal links: set the GitHub profile website tohttps://karthikg.inso IndieWebify.me can verifyrel="me"both ways.- The footer links this site into theIndieWeb Webring.
- Full-text Workbench Notes RSS at /rss.xml.
- Notes accept Webmentionsand can POSSE to Bluesky with a
u-syndicationrel="syndication"link back to the original. Replies and bookmarks are first-class note types. - Bridgy backfeed brings Bluesky likes, replies, and reposts on those copies back towebmention.io, which the note correspondence tray already displays. Connecting the Bluesky account on Bridgy is a one-time step outside this repo — seedocs/indieweb.md.
- Markup is checked withIndieWebify.me(rel-me,h-card,h-entry).
- IndieWeb wiki user page:User:Karthikg.in(create via IndieAuth; paste-ready markup is indocs/indieweb.md).
- Notes appear publicly only after both the editorial draft flag is removed and the privacy-review flag is set. Raw observations stay outside this public repository.
- A private, unlinked drafting room keeps encrypted working notes on the current device. It sends a note to an editorial agent only after an explicit request, and it cannot publish by itself.
- Wander page is generated from
src/data/feeds.opml. Replace that file to refresh the list. The same file is at /feeds.opml. - AT Protocol handle
@karthikg.in, proven by/.well-known/atproto-didand a_atprotoDNS TXT record.
Source
The code is atgithub.com/karthikg80/personal-site.