Skip to main content
Bright pink graphic with playful doodle character and bold UI Little text.
NoA Ignite — Bad UI Battle 2.0 — image 2
NoA Ignite — Bad UI Battle 2.0 — image 3
NoA Ignite — Bad UI Battle 2.0 — image 4
NoA Ignite — Bad UI Battle 2.0 — image 5
NoA Ignite — Bad UI Battle 2.0 — image 6
NoA Ignite — Bad UI Battle 2.0 — image 7
NoA Ignite — Bad UI Battle 2.0 — image 8
NoA Ignite — Bad UI Battle 2.0 — image 9
NoA Ignite — Bad UI Battle 2.0 — image 10
NoA Ignite — Bad UI Battle 2.0 — image 11
NoA Ignite — Bad UI Battle 2.0 — image 12
NoA Ignite — Bad UI Battle 2.0 — image 13
NoA Ignite — Bad UI Battle 2.0 — image 14
NoA Ignite — Bad UI Battle 2.0 — image 15
NoA Ignite — Bad UI Battle 2.0 — image 16
NoA Ignite — Bad UI Battle 2.0 — image 17
NoA Ignite — Bad UI Battle 2.0 — image 18
NoA Ignite — Bad UI Battle 2.0 — image 19
NoA Ignite — Bad UI Battle 2.0 — image 20

1 / 20

DesignNoA Ignite

Bad UI Battle 2.0

Completed202522

Overview

I hosted the second Bad UI Battle at NoA Ignite on 18 November 2025, with a two-hour build session, live demos and audience voting.

I built the registration and gallery site with Next.js and Supabase, and entered Worst Authenticator, a deliberately difficult two-factor authentication demo.

BAD UI BATTLE is a one-afternoon hackathon at NoA Ignite where good taste is forbidden — teams build interfaces that technically work but actively fight the user, then demo them live for crowd votes. I hosted the second edition on 18 November 2025 and competed with a coded entry called Worst Authenticator.

Most hackathons reward polish. This one inverts the brief on purpose. Teams get a two-hour build window, three minutes on stage, and the audience picks the worst UI via QR code. If the room groans during your demo, you are winning.

Running the event

I organised teams, kept time, ran the demos and tallied votes while competing under the same rules. I also built the registration and gallery site with Next.js and Supabase, including submission uploads and a public archive.

Browse every submission from both editions: Bad UI Gallery

My entry — Worst Authenticator

Worst Authenticator was my coded entry: a deliberately hostile two-factor authentication demo with illegible type, misaligned controls, guilt-trip copy and frustrating interactions.

  • A coded interactive demo of the authentication flow.
  • Leaned into real anti-patterns: fake urgency, mystery steps, broken hierarchy.
  • The worse the live reaction, the better the score.

Why it works

Breaking familiar interaction patterns on purpose gave us concrete examples of why they matter. The demos prompted useful discussion about navigation, hierarchy and user control. Screenshots from the event are shown on this page.

This was the second time we ran it. The first edition — September 2024, Figma entry, how the format started — is on the BAD UI BATTLE (2024) project page.