This Site
This site is almost entirely vibecoded with Astro and Claude.
It’s built on my Forgejo as a static site every 2 hours.
The garden is composed of some Obsidian notes I’ve made public. The visualizations are made from my personal data.
Social Layer
I’ve integrated this site with the ATProto network, mostly because it was really straight forward to do so. Everything in the Atmosphere is public and microcosm provides an easy API.
Identity
This site’s identity is did:web:brad.quest, hosted on my own PDS.
The Atmosphere
At build time, the site pulls data from several ATProto services:
Hypertext
- Comments - Bluesky posts, Margin annotations or highlights, Semble bookmarks all appear like a ‘comments’ section
- @mentions - Any
@handlegets resolved to a DID at build time and linked to AT Protocol viewer - Margin notes - Annotations or highlights from Margin show up natively on the page
- Tags - Hashtags from ATProto records that mention an article are absorbed into that article’s tag cloud
Activity
- Reading - Book tracking via Bookhive for the reading page
- Bookmarks - Saved places from BeaconBits show as orange markers on the map. Bookmarks from Margin and Semble appear in the activity feed
- Photos from Grain get added to the Map and their own RSS feed
- Favicon sync - The site’s accent color cycles through a gruvbox palette based on time of day in PST. The @brad.quest profile avatar on Bluesky is updated to match
- Bluesky - Posts and reposts from @bradwenner.photo appear in the activity feed and on the Now page
Indieweb & RSS
I’ve also set up receiving Webmentions from the indieweb.
Future Improvements
- FujoWebDev/lexicon-guestbook - atproto guestbook with example Astro app