unvibe

An open-source checker for websites that look templated.

Drawing
DWG 05
Revision
0.1
Year
2026
Role
Author
Status
Public
Type
Tools, Web, Open source
Tools
Node.js, React, TypeScript, GitHub Actions
Terminal output of the unvibe checker: five findings on a deliberately bad hero component, each with a line number, a rule name such as side-slide or em-dash, the offending line and a suggested fix.
Fig. 05.1The checker on a deliberately bad example from its own tests.

A command-line tool, a short guide and a set of React motion components, built from what I changed to make this site stop looking like a template. Run it on any project and it points at the stock copy, stock colour and stock motion, with the line and a fix.

§01Why

The first versions of this site and the Young Man's Services site worked, but both looked templated. The code was never the problem; the defaults were: buzzwords, em-dashes, gradients, and photos sliding in from the sides.

Fixing that took a list of specific changes, so I turned the list into a tool anyone can run.

§02What is in it

  1. C

    Checker

    A zero-dependency Node CLI with 16 rules across copy, colour and motion. It prints the line, the reason and a fix, and exits with an error so it can gate a build.

  2. G

    Guide

    Eight short chapters on content, copy, colour, type, layout, motion, details and checking, with a one-page checklist.

  3. M

    Motion

    The fade-up reveal, heading rise, rolling text and drafting cursor from this site, packaged as React components with no other dependencies.

§03Build

Run it
npx github:BuruCebe/unvibe ./src
Rules
Placeholder text, dead links, missing reduced-motion support, buzzwords, em-dashes, invented stats, gradient text, side-slide animations and more
Tests
Node's built-in test runner, with a deliberately bad fixture and a clean one; CI on every push
License
MIT
Next · DWG 01Young Man’s Services →