How This Site Was Made
A lot of people have been asking me how I built this site. The short answer? Eleventy and a whole lot of 90s inspiration.
Why Eleventy?
I chose Eleventy for a few reasons:
- Simple - It's just JavaScript. No complex build processes.
 - Fast - Static sites are lightning quick.
 - Flexible - Use any template language you want.
 - No JavaScript Required - The output is pure HTML and CSS.
 
Plus, it's perfect for personal sites like this one!
The Tech Stack
Here's what powers this retro wonderland:
{
  "generator": "Eleventy",
  "templates": "Nunjucks",
  "styling": "Pure CSS",
  "hosting": "Your choice!",
  "vibes": "Immaculate"
}
Project Structure
The basic structure looks like this:
retroweird/
├── src/
│   ├── _includes/
│   │   ├── layouts/
│   │   └── components/
│   ├── posts/
│   ├── pages/
│   ├── css/
│   └── js/
├── _data/
└── .eleventy.js
Key Features
1. Modular Components
Everything is broken down into reusable components:
- Header
 - Footer
 - Sidebar widgets
 - Badge wall
 - Guestbook
 - Webring
 
This makes it easy to customize what shows up where.
2. Multiple Themes
I built four different themes:
- Default - Classic GeoCities vibes
 - Vaporwave - A E S T H E T I C
 - GeoCities - Maximum nostalgia
 - MySpace - Early 2000s social media
 
You can switch between them by changing one line in the config!
3. Data-Driven Content
All the customizable stuff lives in JSON files:
site.json- Site settingsbadges.json- 88x31 button collectionblogroll.json- Cool linkswebring.json- Webring navigationguestbook.json- Visitor messages
4. IndieWeb Ready
The theme includes support for:
- Microformats2
 - RSS feeds
 - Webmentions (optional)
 - rel="me" links
 
The CSS
The styling is pure CSS with CSS custom properties for easy theming:
:root {
  --font-pixel: 'Silkscreen', monospace;
  --font-display: 'Press Start 2P', monospace;
  --font-body: 'VT323', cursive;
}
Each theme overrides these variables to create totally different looks.
JavaScript Enhancements
The site works perfectly without JavaScript, but I added some fun extras:
- Cursor trail effects
 - Random link button
 - Visitor counter animation
 - Easter eggs (try the Konami code!)
 
All of it respects prefers-reduced-motion for accessibility.
Getting Started
Want to build your own retro site? Here's how:
- 
Install Eleventy
npm install @11ty/eleventy - 
Clone the theme
git clone https://github.com/yourusername/retroweird - 
Customize
Edit_data/site.jsonwith your info - 
Build
npm run build - 
Deploy
Upload to Neocities, Netlify, or anywhere! 
Tips for Retro Design
- Embrace maximalism - More is more!
 - Use web-safe fonts - Or fun Google Fonts
 - Don't be afraid of color - Neon everything!
 - Add personality - This is YOUR site
 - Have fun - That's the whole point!
 
Resources
- Eleventy Docs
 - GifCities - Free retro GIFs
 - 88x31 Buttons - Button collection
 - Google Fonts - Retro fonts
 
Questions? Comments? Sign my guestbook or check out the GitHub repo!
Happy building! 🚀