Vibe Coding Forem

Cover image for Vibe Coded a Hardware Tester in a Weekend. (Spoiler: The UI took 10 mins, the Physics took 2 days)
jack
jack

Posted on

Vibe Coded a Hardware Tester in a Weekend. (Spoiler: The UI took 10 mins, the Physics took 2 days)

The Vibe: I wanted to build a simple, privacy-focused tool to test PC hardware (Mice, Keyboards, Screens) without installing shady .exe files.

The Tool: I opened my AI editor (Cursor/Claude), entered "flow state," and started prompting. My goal was www.hardwaretest.org.

Here is what I learned about the reality of Vibe Coding a tool that requires high-precision hardware interaction.

  1. Where Vibe Coding Shines (The UI) This part felt like magic.

"Make it dark mode." -> Done.

"Give me a grid of clickable colors for dead pixel testing." -> Done.

"Make it responsive for mobile." -> Done.

In about 2 hours, I had a beautiful, functional frontend deployed on Vercel. If I were hand-coding the CSS/Tailwind, this would have taken me a full day.

  1. Where the Vibe Died (The Logic) Then I tried to implement the Keyboard Polling Rate Test. I needed to detect if a gaming keyboard was actually reporting at 1000Hz (1ms latency).

I asked the AI: "Write a script to measure key press intervals." The AI confidently spit out code using standard Date.now() and addEventListener.

The Result? Jittery garbage data. The AI didn't understand that:

The Browser Event Loop is often slower than a high-end keyboard.

Date.now() isn't precise enough for sub-millisecond measurements.

DOM updates (rendering the number) cause layout thrashing that slows down the measurement.

  1. The "Manual Mode" Fix I had to snap out of "Vibe Mode" and put on my Senior Engineer hat. I spent the next 48 hours manually debugging and rewriting the core logic.

Switched to performance.now() for microsecond precision.

Implemented a sliding window average algorithm to smooth out the browser's main thread jitter.

Decoupled the Input Loop (data capture) from the Render Loop (requestAnimationFrame).

The Verdict
Vibe Coding is a force multiplier, but it's not a replacement for domain knowledge.

AI built the vessel (UI, Layout, SEO schema).

I had to build the engine (Timing algorithms, Physics).

The tool is now live and stable. It features a Keyboard Tester, Mouse Double-Click Detector, and a Dead Pixel Fixer (Canvas-based).

Check it out here: 👉 www.hardwaretest.org

I'm curious—has anyone else hit a wall where AI implies "it works" but the underlying physics/logic is completely broken?

Top comments (0)