Skip to content
← 1978.io blog.1978.io

The 78 UI Kit so far: v0.1 to v0.3

· 4 min read

This is a look back, written in October 2026. The blog didn't exist when these releases shipped, so rather than pretend it did, here's the whole story in one place. From v0.4.0 on, each release gets its own post.

If you haven't read it, Why I built the 78 UI Kit covers the "why". This one is the "what happened".

Aug 18–19: v0.1.0, the first public release

The first day was all foundation: the color tokens, light and dark themes, the theme switch, and the basic pieces (buttons, cards, forms, badges). Then the library adapters for Tabulator, FullCalendar and Chart.js, then modals, toasts, tabs and tables.

Day two added the dashboard pieces (KPI cards and small charts like sparklines and donuts, drawn without any chart library), the app shell (top bar, a sidebar that collapses to a rail, and a mobile drawer) and the theme generator. It went public as v0.1.0, MIT licensed and served from a CDN straight from GitHub.

Aug 20: v0.1.1, an honest sentence

No code changes in this one, just words, and it's my favorite release of the lot. The original docs said you could "re-theme in about 15 lines". It wasn't true: change only the accent color and the lighter tints of it don't follow, because they're their own tokens. So the claim came out, the wording got honest ("theme-forward"), and the generator does the full job instead.

This release also added llms.txt and llms-full.txt, so AI coding assistants can read the kit's reference instead of guessing class names.

Aug 21: v0.2.0, the first "real use" release

By now 78trade was using the kit every day, and it had hand-built a few things more than once. Those got promoted: a figure row (entry / target / stop style numbers), a split bar (one whole divided into parts), a segmented control, a styled disclosure (show/hide) and the toggle switch that should have been there from the start.

It also fixed a sneaky bug: an element marked hidden could still show up if a component gave it a display style. A "hidden" alert rendered as an empty colored bar. One line in the reset fixed it everywhere.

September: using it

Then things went quiet on the kit and loud everywhere else. The apps using it kept running into small things, and instead of fixing them on the spot, each one got written down. At the end of September the to-do file became a proper ticket board: 33 tickets, each with a "done when".

Sep 30: v0.3.0, the bug-and-tones pass

Sixteen tickets in one sprint, built in order and released together:

  • One tone vocabulary. Every component that takes a color meaning (badges, tags, alerts, text, toasts, modals) now understands the same six names: accent, success, warn, danger, info and dim. The old names (green, red, amber, yellow) still work, and always will.
  • Category colors for labels that aren't states, so "Tech" and "Energy" don't have to borrow "success" and "danger".
  • A second chart color that sits quietly behind the accent.
  • A handful of fixes found in real use: a sparkline dot that stretched into an ellipse on wide cards, chart grid lines that didn't follow a live theme switch, a table's expand toggle that was nearly invisible in light mode, and an alert dialog that didn't tell you how it was closed.
  • The site gained a Tones page and a Changelog & upgrading page, because when a release changes how something looks, you deserve to be told exactly what and how to keep the old look.

By the numbers

  • 4 releases in about six weeks, from the first commit on Aug 18 to v0.3.0 on Sep 30.
  • 39 commits on the kit itself.
  • 0 breaking changes. Some things look slightly different (each one is called out in the changelog), but nothing that worked stopped working.

What's next

v0.4.0 is being built right now: mostly the little pieces 78trade has been hand-building (quiet notes, status captions, stat-card rows, a span-aware grid, a table toolbar), a few leftovers from v0.3.0, an animated gradient text effect just for fun, and the "On this page" rail you can see on the docs site, moved into the kit so anyone can use it. It gets its own post when it ships.

Share this post

← All posts