Dmytro Plavutskyi
Independent Founder & Product Builder

Case · Private beta

RefKit

Versioned visual contracts for AI coding agents

Role
My own product — strategy, design, engineering and release, done by me.
Status
Private beta
Verified
2026-08-23
See it yourself
refkit.dev

The problem

An agent can be told a feature. It cannot be told a design. You describe what you want, something arrives, it is wrong in a way you can see and cannot name, and the next prompt is a worse version of the first.

The approach

  • Capture a reference page and your own page, reading values from what the browser actually rendered
  • Turn the decision into clauses: borrow this from the reference, keep your own here, lock this so nothing may touch it
  • A human approves the contract; it ships as a versioned file on the branch and can be amended but never rewritten in place
  • After the change, capture again and measure every approved clause against what rendered
  • Anything that could not be measured returns unknown — never a pass

Who it's for

  • Developers who hand interface work to coding agents and get back something almost right
  • Teams that need a design decision to survive a session and show up in a diff
  • Anyone tired of arguing with a model about a design nobody wrote down

What it's built to give

  • A design decision written down as measurable values instead of adjectives
  • A contract the agent reads before it writes a line of interface code
  • Failures reported with numbers, and a named element for each one
  • A record of what was approved that lives in the repository, not in a chat

Scope in development

  • Chrome side panel that captures a reference and your own page
  • Borrow, Keep and Lock clauses approved by a human
  • A versioned contract file installed for coding agents by one command
  • A verification run that measures each clause against the rendered result

What this case does not claim

Boundaries are part of the case. If it's not listed as existing, it isn't claimed.

  • Private beta — access is by request
  • Local-first: signed-in pages stay with the user
  • A clause that could not be measured returns unknown, never a pass
  • It decides nothing a human did not approve first

What I build now.

My attention is on three products: Ryntra, Squadic and RefKit. This page stays as a record of what came before.