Overview
HomePageAgain is a full-stack social platform I designed and built from the ground up. It recaptures the creative spirit of GeoCities and early web communities while incorporating modern architecture: a custom template language with state management, event handlers, and dynamic rendering; decentralized identity with seed phrase recovery; a drag-and-drop page builder; and scalable media storage. Users can build expressive personal pages, connect through community structures called ThreadRings, and truly own their digital identity.
Key Features
-
Pixel Homes & Neighborhoods: Create and customize your own 8-bit pixel house that lives in a neighborhood with other users. Your home is your identity on the platform.
-
ThreadRings: A genealogy-based community system where groups connect through classic 88x31 badges. ThreadRings form organic networks of like-minded creators and communities.
-
Visual Profile Builder: Drag-and-drop interface for building your personal page, with full CSS and template support for those who want complete control.
-
MIDI Background Music: Bring back the charm of auto-playing background music with MIDI support on personal pages.
-
Guestbooks: Classic guestbook functionality lets visitors leave messages on your page, fostering genuine community interaction.
-
Decentralized Identity (DIDs): Own your identity with seed phrase recovery. Your account and data belong to you, not the platform.
Template Language
I built a custom template language that lets users create interactive pages without traditional programming. Here's what it looks like:
<Var name="counter" type="number" initial="0" />
<Text>You've clicked {counter} times</Text>
<Button>
<OnClick>
<Increment var="counter" />
</OnClick>
Click me!
</Button>
<Button>
<OnClick>
<Reset var="counter" />
</OnClick>
Reset
</Button>
Features include variable declarations with types, dynamic rendering with <ShowVar>, event handlers, and sequential action execution.
Technical Highlights
- Custom Template Language: XML-like scripting with state management, event handlers, and dynamic rendering
- Built with Next.js and TypeScript for a modern, type-safe codebase
- Cloudflare R2 for scalable, cost-effective media storage
- Node.js backend with robust API architecture
- Decentralized identity implementation with seed phrase recovery
- Custom drag-and-drop builder with real-time preview
