
Research
GemStuffer Campaign Abuses RubyGems as Exfiltration Channel Targeting UK Local Government
GemStuffer abuses RubyGems as an exfiltration channel, packaging scraped UK council portal data into junk gems published from new accounts.
create-geocities-app
Advanced tools
Scaffold a complete 1990s Geocities-themed static website in seconds.
βββββββ ββββββββ βββββββ ββββββββββββββββββββββββββββββββββββββ
ββββββββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
βββ ββββββββββ βββ ββββββ βββ βββ βββββββββ ββββββββ
βββ βββββββββ βββ ββββββ βββ βββ βββββββββ ββββββββ
βββββββββββββββββββββββββββββββββββββ βββ βββββββββββββββββββ
βββββββ ββββββββ βββββββ ββββββββββ βββ βββββββββββββββββββ
geocities-boilerplate β¨ Welcome to 1996 β¨
geocities-boilerplate is a CLI tool that generates a fully self-contained, retro 1990s Geocities-style personal website. Think neon colors, blinking text, animated star trails, marquee banners, visitor counters, and guestbooks β all of it, generated instantly with a single command.
The generated site is pure static HTML, CSS, and vanilla JavaScript. No build tools, no frameworks, no dependencies. Just open index.html in any browser and relive the golden age of the web.
npx create-geocities-app my-site
Then open my-site/index.html in your browser. That's it!
Live demo: https://sugardaddyapp.github.io/geocities-boilerplate/
The demo is generated with all options enabled (neon theme, sparkle cursor, falling stars, all 5 pages). It is automatically rebuilt and deployed to GitHub Pages on every push to main.
When you run npx create-geocities-app my-site, you'll be walked through a series of prompts:
| # | Prompt | Type | Description |
|---|---|---|---|
| 1 | Site name | text | Your homepage title, e.g. CoolDude's Homepage |
| 2 | Your name | text | Displayed in headers, footers, and contact sections |
| 3 | Color theme | select | Choose from 5 retro color palettes (see below) |
| 4 | Extra pages | multi | About, Gallery, Guestbook, Cool Links |
| 5 | Cursor effect | select | Sparkle, Star Trail, Comet, Rainbow, or None |
| 6 | Falling effect | select | Stars, Snow, or None |
| 7 | Welcome alert | yes/no | Show a alert() greeting when the page loads |
| 8 | Auto-play music | yes/no | Play a Web Audio API 8-bit jingle on load |
| 9 | Fake high count | yes/no | Start visitor counter at ~10,000 (looks popular!) |
npx create-geocities-app my-site --yes
my-site/
βββ index.html β Homepage
βββ about.html β About Me (if selected)
βββ gallery.html β Photo Gallery with lightbox (if selected)
βββ guestbook.html β Guestbook (if selected)
βββ links.html β Cool Links (if selected)
βββ css/
β βββ style.css β Full retro stylesheet (theme-specific)
βββ js/
βββ main.js β All JS effects (counter, cursor, music, etc.)
Zero runtime dependencies in the generated output. Every file is self-contained and works offline.
Choose a theme during setup. Each theme controls background, text, link, and accent colors throughout the entire site.
| Theme | Background | Primary Text | Headings | Links | Feel |
|---|---|---|---|---|---|
neon | #000000 | #00FF00 | #FFFF00 | #FF00FF | Hacker/Matrix vibes |
space | #000033 | #CCCCFF | #FFDD00 | #00FFFF | Deep space explorer |
candy | #FF69B4 | #FFFFFF | #FFFF00 | #00FFFF | Sweet and electric |
forest | #003300 | #CCFFCC | #FFDD00 | #99FF99 | Dark enchanted forest |
windows | #008080 | #000000 | #000080 | #000080 | Classic Windows 95 |
Every generated site includes a homepage with:
<marquee> tag)hue-rotate animation cycles through all colorstext-shadow breathes in and out| Effect | What it does |
|---|---|
| Sparkle β¨ | Random glitter glyphs (β¦, β§, β
, Β·) spawn at your cursor and float upward |
| Star Trail β | Yellow β characters follow the cursor and fade out with a scale-down animation |
| Comet βοΈ | An orange-to-white horizontal streak trails behind cursor movement |
| Rainbow π | Colored dots cycle through the full hue spectrum as you move the cursor |
| None | No cursor effect |
| Effect | What it does |
|---|---|
| Stars β | 60 colored star characters (β
) fall from top of screen with random sizes, speeds, and drift |
| Snow βοΈ | 40 white circular snowflakes drift downward with random horizontal drift |
| None | No falling effect |
| Effect | Details |
|---|---|
| Visitor counter | Odometer-style LCD digit boxes, animates on load, persists via localStorage |
| Live clock | HH:MM:SS display in the sidebar, updated every second |
| Marquee banner | CSS @keyframes scroll animation β pauses on hover |
| Blinking text | CSS @keyframes blink β used on NEW badges, bullet points, and decorations |
| Rainbow headings | CSS filter: hue-rotate() animation cycles through all colors |
| Neon glow pulse | text-shadow breathes in/out on all major headings |
| Spinning globe | π emoji spins continuously via CSS rotate animation |
| Under construction | Yellow/black diagonal-stripe caution tape with a spinning π§ icon |
| Page entry animation | Content fades and slides up on load |
| 8-bit music jingle | Square-wave melody via Web Audio API β plays on first interaction; toggle with the PLAY/STOP button |
| Matrix rain | Press M on any page to toggle a green Matrix-style canvas rain effect |
| Custom scrollbar | Themed scrollbar matching the color palette (Chrome/Edge/Safari) |
| Gallery lightbox | Click-to-expand image viewer with caption, close button, and ESC key support |
To host your generated site on GitHub Pages:
mainhttps://<username>.github.io/<repo-name>/geocities-boilerplate/
βββ .github/workflows/
β βββ deploy-demo.yml # Auto-deploys demo/ to GitHub Pages
βββ bin/
β βββ cli.js # CLI entry point with ASCII banner
βββ src/
β βββ generator.js # Core: reads templates, interpolates vars, writes files
β βββ prompts.js # Interactive prompts using `prompts` package
β βββ themes.js # 5 color palette definitions
βββ templates/ # Source templates (included in npm bundle)
β βββ index.html
β βββ about.html
β βββ gallery.html
β βββ guestbook.html
β βββ links.html
β βββ css/style.css
β βββ js/main.js
βββ demo/ # Pre-generated demo (not in npm bundle)
βββ scripts/
β βββ build-demo.js # Regenerates demo/ with all options enabled
βββ package.json
βββ PLAN.md # Full project plan and design decisions
βββ README.md
Templates use {{VARIABLE_NAME}} placeholders that are replaced by the generator. Key variables:
| Variable | Description |
|---|---|
{{SITE_NAME}} | Site title from user prompt |
{{AUTHOR_NAME}} | Author name from user prompt |
{{THEME_NAME}} | Human-readable theme name |
{{BG}}, {{TEXT_COLOR}}, etc. | Theme color values (CSS hex) |
{{CURSOR_EFFECT}} | Selected cursor effect key |
{{FALLING_EFFECT}} | Selected falling effect key |
{{WELCOME_ALERT}} | "true" or "false" |
{{PLAY_MUSIC}} | "true" or "false" |
{{FAKE_HIGH_COUNT}} | "true" or "false" |
{{NAV_LINKS}} | Generated navigation <a> tags based on selected pages |
{{YEAR}} | Current year |
git checkout -b feat/my-awesome-featuretemplates/, src/, or bin/node bin/cli.js test-site --yes && open test-site/index.htmlnpm run build:demo--theme <name> CLI flag to skip the theme prompt# Clone
git clone https://github.com/sugardaddyapp/geocities-boilerplate.git
cd geocities-boilerplate
# Install
npm install
# Test the CLI
node bin/cli.js my-test-site
# Rebuild demo
npm run build:demo
# Open demo
open demo/index.html
MIT Β© Jamey Baldwin
Also checkout my other projects: Best Sugar Daddy Apps Best Sugar Daddy Apps 2026 Best Sugar Daddy Apps NPM Best Sugar Daddy Apps Socket
Best viewed in Netscape Navigator 4.0 at 800Γ600 resolution.
FAQs
Scaffold a 1990s Geocities-themed static website in seconds
The npm package create-geocities-app receives a total of 0 weekly downloads. As such, create-geocities-app popularity was classified as not popular.
We found that create-geocities-app demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
GemStuffer abuses RubyGems as an exfiltration channel, packaging scraped UK council portal data into junk gems published from new accounts.

Company News
Socket was named to the Rising in Cyber 2026 list, recognizing 30 private cybersecurity startups selected by CISOs and security executives.

Research
Socket detected 84 compromised TanStack npm package artifacts modified with suspected CI credential-stealing malware.