← What I've Built
City event

How can residents put their Halloween decorations on one map, without adding work for City staff?

The City of Melville wanted a Halloween home tour: residents sign up their decorated homes, and everyone drives the route on one map. I built the sign-up, a simple approval screen for City staff, and the public map. It runs for two weeks in October as a free pilot, and 34 homes signed up.

Screenshot of How can residents put their Halloween decorations on one map, without adding work for City staff?

Status: running from October 16 to November 1, 2026. Built and hosted by me for the City of Melville as a free pilot. Resident names, addresses and photos are blurred in the screenshots, including the list of homes in the image above.

The starting point

A nearby city runs a Halloween home tour, and I wondered whether Melville could have one too. Families sign up their decorated house, and on Halloween everyone drives or walks around with a map. None of it is hard to build, but a city office rarely has the time or the staff to set it up from nothing.

So I built a prototype first and sent it to the City. They liked it, and a few days later we agreed to run it for real this year. The event got its name, The Spooky Drive, and went live on October 16.

What the City needed

  • Residents sign up in a minute, on a phone. No account, no password.
  • Staff decide what goes on the map. Every entry waits for approval before it’s public.
  • Only Melville addresses. The street is picked from the City’s own street list, so the map doesn’t fill with typos.
  • Privacy kept simple. Only the street address, photos and a short note go public, and the resident agrees to that before sending. Names and emails stay with staff.
  • Nothing to install on the City’s website. The City links to the event page, so there was nothing for their web vendor to change.

How I built it

I followed the same five steps I use on every project.

Empathize

I looked at how a nearby city runs its tour, and thought about the two groups who would use it: residents signing up on a phone, often in the evening, and City staff who would check every entry on top of their usual work.

Define

The goal was one small tool with three parts: a sign-up form, an approval screen, and a public map. No logins for residents, no editing for staff (approve, hide or remove only), and a fixed start and end date.

Ideate

I kept the staff side as small as possible. If a resident wants to change something, they email the City contact, staff remove the entry, and the resident signs up again. That meant fewer buttons for staff and fewer ways for things to go wrong.

Prototype and test

The first prototype used the City’s website style, so staff could picture it on their own site. We met twice: once to agree how it would work, and once for a dry run with the staff member who approves entries. After that meeting, the City sent me its final street list, and I reorganized the street choices to match it.

Implement

The real event page got its own Halloween look, separate from the City’s site. I set up the database in Canada, a confirmation email for residents, and a printable map for staff. The page closes sign-ups and the map on its own on the dates we agreed, so nobody has to remember to switch it off.

What it looks like

Signing up. One button opens the form: name and email (private), house number and street, up to three photos and a short note. Before sending, the resident sees what will be public and agrees to it.

The Submit my house form with name, email, house number, a street list, a photo picker, a short note and a consent checkbox
The sign-up form.

Approving entries. Staff sign in with a code sent to their email. New entries wait in one list with tabs for Waiting, On the map and Hidden, and each entry has three buttons: Approve, Hide and Remove.

The staff screen with tabs for waiting, on the map, hidden and all entries, and one waiting entry with Approve, Hide and Remove buttons
The staff screen. Resident details are blurred.

The map on a phone. Approved homes appear as pumpkins. When homes are close together, they group into one bigger pumpkin with a number, and a tap zooms in. Under the map, a button opens a searchable list of every home.

The map on a phone, with pumpkin pins across Melville, numbered pumpkins where homes are close together, and a Browse all 32 homes button
Grouped pumpkins on a phone.

A map to print. Staff can save the whole map as a PDF, for anyone who would rather drive with a printed page.

One thing that went wrong

On the first day, a resident commented on the City’s Facebook post: every time she tried to add a photo, the form disappeared. The likely cause was the photo previews. They loaded full-size phone photos all at once, and phones with less memory, especially inside the Facebook app, reloaded the page. I changed the previews to small thumbnails, made one at a time, and the form now keeps what was typed if the page reloads anyway. The fix was live the same afternoon.

I watched the Facebook comments as closely as the map. That’s where residents told us what wasn’t working.

After sign-ups close: a little Halloween magic

When sign-ups close on October 30, the Submit button changes to See the Halloween magic. It opens an AR page: stand in front of a decorated home, hold up a phone, and the Spooky Drive comes to life on the screen. The event title sits at the top, the same pumpkin and skulls from the event page appear over the home, friendly ghosts drift around, and a witch flies past. The City agreed to try it for the last days of the event. It works in Chrome on Android phones.

The AR view in front of a decorated house at night: The Spooky Drive title plate at the top, friendly ghosts, the haunted house, the moon and the pumpkin with two skulls, framed by a purple spider web, and an End AR button
The AR view, with the event title and artwork.

One look, from the first post to the last ghost

I wanted the event to feel like one thing, not a set of separate tools. So the same title, typeface, colours and artwork carry through every step a resident takes:

  • The Facebook posts and reels that announced the event
  • The event page, with the pumpkin, the skulls and the haunted house in the header
  • The sign-up form and the confirmation email
  • The map, where every home is a pumpkin
  • The AR view, where that same header artwork appears in front of a real home
  • The closing message once the event ends

Whether someone found the event on Facebook, signed up their home or stood on the sidewalk with a phone on Halloween night, they saw the same Spooky Drive from start to finish.

The AR start page with the title The Spooky Drive, a short description, an orange See the Halloween Magic button and a safety note about not using it while driving
The AR start page uses the same title, with a safety note.

How it’s going

These numbers are from October 30, the last day of sign-ups. I’ll update them after the event.

  • 34 homes signed up. 32 went on the map, and staff hid one. Together they shared 60 photos from 20 streets.
  • About 810 visits to the event page in its first two weeks. About 62% came from Facebook.
  • About 84% of visits were on a phone, which is why the phone layout came first.
  • Every resident got a confirmation email right away, and all of them were delivered.
  • Google Maps cost: $0. The event stayed within Google’s free monthly usage.

Related: Could a small town run its own Halloween home tour map?

Talk about your version