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-card with name, photo, URL, email, and org. The card wraps the introduction only.
  • rel="me" toGitHub,Bluesky (also markedatproto for IndieLogin),LinkedIn, andThea Foundry. Reciprocal links: set the GitHub profile website tohttps://karthikg.in so 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 fromsrc/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 _atproto DNS TXT record.

Source

The code is atgithub.com/karthikg80/personal-site.