This is a submission for Frontend Challenge - Halloween Edition, Perfect Landing
What I Built
Spooktacular β25 is a βcreepy but funβ Halloween landing page with a touch of retro vibes.
Instead of creating an event for humans, I flipped the idea: this is a website for ghosts, zombies, and other supernatural beings who want to plan their Halloween night out β or rather, their night of haunting.
I wanted the page to feel like a mix between a spooky movie poster and an event portal.
Because I love horror movies, sound was a must-have β it sets the mood immediately and gives the page a cinematic feel. I also spent quite some time choosing images that matched the tone but still felt cohesive with the color palette.
Demo
Journey
One of the most fun parts of this project was how playful it became along the way.
I like the βExorcism Riskβ location rating β a small example of the humor that kept the project alive (or undead π»). I was really just having fun with it.
From a technical side, I tried a few new things:
- A custom popup dialog that appears when you βsubmitβ the form
- A sound toggle switch to enable or disable background audio
- Smooth scrolling between sections using
scrollIntoView({ behavior: "smooth" })
I had worked with audio before, but only simple play/stop buttons β so the toggle felt like a nice little level-up.
Iβm especially proud of how the sound effects and overall atmosphere came together.
If I had more time, Iβd love to add more content for the locations, working links, and a few more mischievous Easter Eggs hidden in the site. I also still have a picture that I really wanted to integrate but unfortunately there just was no use for it at this point.
License
Creative Commons β CC BY-NC 4.0
Feel free to use this project for personal or educational purposes β remix it, learn from it, or give your ghosts a new home. π
Thanks for the cool challenge! :D
..........
π Frontend-loving dev & intern, persistent tinkerer
π½ Alien & Catpuccin rainbow vibes
β Indie Web & Old Web, Retro-Glitter-Feeling

Top comments (0)