****
homepageagain.png
_[]X
HomePageAgain
homepageagain.readme
_[]X

HomePageAgain

A full-stack social platform I designed and built from scratch. Includes a custom template language with state management and event handling, drag-and-drop builder, and decentralized identity.

metadata.json
_[]X
"date": "January 15, 2025"
"stack": [
"Next.js",
"Node.js",
"Cloudflare R2",
"TypeScript",
"Full-Stack",
"Custom Language"
]
links.exe
_[]X
homepageagain.md
_[]X

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