Restoring the Beginning of All Dreams

In the late 90s, I started interviewing for website developer jobs.

That sounds simple enough now, but there was one awkward problem: many web shops, offices, and interviewers did not always have reliable internet access. Sometimes they wanted to talk about websites without being able to actually look at them.

So I made a workaround.

I created Lewie’s 1999 Resume CD.

Image 1. Lewis Moten Web CD Portfolio

It was a little portable version of who I was online. It had my résumé, examples of my work, and thankfully, a copy of my original GeoCities website. At the time, I was just trying to make sure people could see what I had built. Decades later, that CD became the reason I still have so much of my original content – including GeoCities.

Some of the site survived through the Internet Archive. Some of it did not. Some pieces are broken. Some outside services are gone. Other GeoCities archive projects tried to preserve what they could, but I never found my own site listed in the places I checked.

The copy on my old résumé CD became my best source.

The site was originally hosted at GeoCities Athens/Acropolis/4507 and made around 1996, when I was living in Moorefield, West Virginia, catching chickens every night, and programming during the day. My username was moonhalo, and the site was called “shoomi and the begining of all dreams.” Yes, “begining” was spelled that way. I am keeping it. That misspelling is part of the artifact, and spell check wasn’t available in web browsers, IDE’s, or graphic editors back then.

Image 2. Animated Home Page

The username, Moonhalo was based on an experience I had one night while working, looking up at the sky and seeing what appeared to be a giant halo surrounding the moon. I hadn’t seen anything like it before, and haven’t seen anything since. A few months later, I saw the Hale-Bopp comet, but that was something entirely different. In addition, the “Halo” part is influenced by how Nine Inch Nails sequentially numbered their albums as Halo 1, Halo 2, and so forth.

Video 1. Lunar Halo’s Explained
Video 2. NIN Halo’s

The site was dream-themed, strange, colorful, and very much a product of the late 90s personal web. It had frames, no-frames pages, browser badges, GeoCities branding, LinkExchange banners, a MIDI soundtrack, a Java applet marquee, a visitor counter, guestbook links, email forms, and a custom font called Burton's Nightmare.

It was not just a homepage. It was a little world.

I restored it a couple of years ago, fixing a few links and images on GitHub pages, but much of it was still inoperable, and it was good enough to get the idea of the site’s mood. The missing items were the music, marquee, and fonts, and an old program written in Visual Basic 4 required much more care to download onto an older version of Windows.

I started looking at the site recently and reflecting on it. I have found a place for that world to live again through GeoCities.ws, and I am going in full swing, restoring the old features. I am not just fixing broken links or cleaning up markup. I am trying to recover the behavior, the feel, and the playful weirdness that were there.

Most of the restoration work is being released under the name Shoomi because that was the site’s original identity. It feels right for the repairs to come from the same imaginary little corner of the web that made the original mess.

The source code is available on GitHub, and I am trying to build many of the repairs as reusable drop-in fixes without touching the original content too much. Some of them are specific to my old page, but I am also trying to make them useful to anyone else restoring similar old sites.

The old custom font needed help. In the 90s, I could offer a font download and hope people installed it. Today, that is not how visitors expect a page to work. So the restored site uses modern webfont loading to restore the original look without requiring anyone to install anything.

I also recovered and rebuilt a very 90s tool: Cool Color Writer.

Back then, I made a Visual Basic program that generated old-school <FONT COLOR=…> markup, and my brother is credited with helping. It lets you create colored text effects letter by letter, the kind of thing that made perfect sense when personal web pages were hand-built, experimental, and proudly excessive. I no longer had the source code, but I had enough clues from the old executable, screenshots, strings, generated HTML, and memories to recreate it as a browser tool.

Video 3. Shoomi’s Homepage
Image 3. Cool Color Writer

The MIDI soundtrack is one example.

I originally converted the song to an MP3 and called it done, but I balked at the huge file of 3MB compared to a 16 KB MIDI file. The original MIDI file was tiny because it was not an audio recording. It was a set of instructions. It depended on the visitor’s computer to decide what those instruments sounded like.

So I built a browser-based MIDI parser and sequencer and added some sample sounds. It can read MIDI files, inspect tracks, show metadata, display activity as the song plays, mute tracks, and reassign sounds. Instead of just hearing the music, you can watch the structure of the file come alive.

Video 4. MIDI Playback

Then there is the Java applet marquee.

The original site used an applet to animate text across the page with colorful effects. Modern browsers do not run Java applets, so I rebuilt that feature with HTML5 canvas and JavaScript. It can replace the specific applet I used, but I also added new modes, more configuration, and the ability to specify dot images for different visual effects. It started as a rescue and became a little restoration toolkit, with the ability for others to join in and create their own modes. The original applet had stars, rain, and snow. I added fireflies, dust, clouds, balls, bubbles (popping), fireworks, embers, sparkles, comets, matrix, confetti, leaves, and static. I got a little carried away and even added the ability to play the background animations in reverse.

Video 5. Marquee Restoration

Then there is the visitor counter.

The old counter was one of those tiny 90s homepage rituals. You put a small image on your page, it counted the hits, and suddenly your site felt alive. My original counter service is long gone, so I started building a small hit counter service of my own.

That project has become more than a replacement. I am recreating the old strip-based counter style, where digits are pulled from a single image and assembled into a visitor count. I am also experimenting with different server-side versions and modern client-side rendering, so the counter can feel old without being locked to old infrastructure. Along the way, I found one of my old custom counter strips, which I called “Blue Tea Counter,” and I suspect it was influenced by Enya’s “Tea-House Moon,” which I often listened to around that time.

Image 12. Blue Tea Counter
Video 6. Enya – Tea-House Moon

The more I restore, the more I realize this is not just about getting an old page working again.

It is about preserving a particular era of the web: when personal websites were handmade, services were scattered everywhere, and every page felt like a small experiment. A homepage might rely on a GeoCities form, a third-party guestbook, a LinkExchange banner, a CGI counter, a Java applet, a MIDI file, a downloadable font, and a pile of HTML written by hand.

That fragility is part of the story.

A lot of the old web disappeared because it was built from tiny dependencies. When those services went away, the pages did not just lose features. They lost personality.

This restoration is my attempt to put that personality back.

Not by pretending it is still 1999, and not by turning the site into a modern portfolio, but by letting old ideas run on modern technology. Java applets become canvas. MIDI becomes Web Audio. Downloadable fonts become webfonts. Dead counters become new tiny services. Broken tools become browser-based restorations.

And through all of it, Shoomi gets to dream again.

Sources

Leave a Reply

Discover more from Lewis Moten

Subscribe now to keep reading and get access to the full archive.

Continue reading