Inspiration

I was thinking about the hackathon theme, "What would you ship if the internet was ending tomorrow?" I realized that if the internet was ending, the last thing people would need is accountability! I wanted to build something that was fundamentally useless but hilarious, and an excuse generator seemed perfect. Then I thought, why not make it a 2-in-1? So I added the "debunker" – a feature that intentionally breaks its own purpose, creating more chaos. I just wanted to see if I could make something so simple yet so wrong.

What it does

It generates these incredibly specific, ridiculous excuses like "I can't attend because my pet rock is training for the Olympics and I must attend." But that's not all! I added a "Debunk Excuse" button that's supposed to counter the excuse, but it doesn't work logically at all – it just adds more absurdity or sometimes generates a new excuse. I also added a second "Generate Excuse" button that does something different, like shouting the excuse (in a visual way) or making the text bigger. I made it so the logic is intentionally broken and chaotic.

How I built it

I kept it super simple, just me and the basics: HTML, CSS, and JavaScript. I didn't use any frameworks or libraries, just vanilla JS. I created arrays for different parts of the excuse (subjects, actions, reasons) and used Math.random() to pick parts and combine them. For the cursed features, I just wrote JavaScript functions that didn't follow standard logic – like the debunker function that sometimes just generates a new excuse instead of debunking. I focused on getting the core idea down quickly and then adding the chaotic elements.

Challenges I ran into

Getting the "broken logic" just right was harder than expected! I spent time trying to make the "Debunk" button feel genuinely nonsensical without just breaking the page entirely. I also had to figure out how to make the "Alt" button interact with the display in a slightly different, glitchy way (like increasing text size). I kept second-guessing if the chaos was cursed enough or if it was just broken. Balancing the simplicity of the tech stack with the intentional complexity of the "broken" features was a challenge, but I think I pulled it off.

Accomplishments that I'm proud of

I'm really proud that I built the whole thing myself, from start to finish, in a short time. I managed to create something that genuinely feels cursed and chaotic while still being functional as a basic web app. The "Debunk" button logic is probably my favorite part – it does something, but it's completely wrong, and I love that. I also think the idea of having two "Generate" buttons that do different things is pretty neat. I built something simple that turned out more chaotic than I initially planned, which is a win in my book for this hackathon.

What I learned

I learned that intentionally breaking logic in a controlled way is actually more fun and sometimes more challenging than making things work perfectly. I reinforced my knowledge of basic web technologies (HTML, CSS, JS) and confirmed that you can build something engaging and chaotic without complex frameworks. It was a good exercise in rapid prototyping and embracing the absurd.

What's next for The Ultimate Excuse Debunker & Alternate Reality Generator

I don't know if I should add anything, as the cursed simplicity is part of the charm! But maybe I could add more excuse parts to make them even more ridiculous. I could potentially add more "conflicting" buttons with their own broken logic. Or maybe introduce a timer that randomly changes the excuse on its own, just to add more chaos. I might even add a feature where the excuses get saved locally in a really janky way, just for the hell of it. But honestly, I'm tempted to just leave it as this perfect little ball of chaos. We'll see!

Built With

Share this project:

Updates