AARVION / LABS← Gallery

Build log

Dated notes from building the Labs series. Not a changelog: the decisions, the small gotchas, and the things we chose not to do. The commit that added each entry carries the same date.


2026-04-12

Set up the company GitHub account and wrote the plan for the Labs series: 30 repositories, each runnable, each with a live demo. First decision: no build step for demos, so a client can open one and it works.

2026-04-13

Sketched the shared design tokens: navy #0b0f1a, gold #f5c26b, blue #3a7bff, Poppins headings and Inter body. One stylesheet for every demo so the account reads as one studio, not thirty forks.

2026-04-14

Wrote the shared runtime helpers: SVG line and donut charts, tables, formatting, storage, toasts. Rewriting a table renderer thirty times would have been the real cost of this series.

2026-04-15

Started Pulse. Funnel semantics first: first-touch anchor, ordered steps, conversion window; retention cells that cannot be observed stay null rather than zero, because an unobservable week is not a 0% week.

2026-04-16

Seeded dataset generator for Pulse: mulberry32, growth-skewed signups, decaying return visits. 120,000 events in about 110 ms, so the demo can regenerate the dataset on every load.

2026-04-22

Decided the gallery would be one Pages site with every demo in a subfolder instead of thirty Pages sites. One deployment, one place for a client to browse, one build log.

2026-04-23

InvoiceFlow money model: integer minor units, discount applied before tax, largest-remainder split for line totals. Float currency bugs are the quickest way to lose a finance client.

2026-04-27

Wrote the project gate: required files, README substance, screenshots, demo asset checks, runtime smoke test, no placeholder text. If a repository does not pass, it does not get published.

2026-05-02

Deskly SLA engine: business hours, holidays, and pause-on-customer reconstructed from ticket history. A countdown is easy; pausing it at the right instant is the part that breaks support desks.

2026-05-10

Slotwise DST conversion: a wall time can map to zero, one or two instants. Tests written before the UI so the ambiguity is handled once, in the engine, not in every screen.

2026-05-17

Leadpipe forecast: committed, weighted and ceiling pipelines instead of a single number. Sales teams argue with a number; showing the assumption is what makes it useful.

2026-06-20

SchoolKit report card: credit-weighted GPA, competition ranking, print CSS. Printed output is still a requirement for most schools, so the stylesheet is part of the feature.

2026-08-01

QueueKit: atomic claim with UPDATE ... RETURNING, full-jitter backoff, leases. Built the dead-letter replay first because that is what on-call actually needs at 2am.

2026-08-10

SocketChat: RFC 6455 framing by hand on node:http. Tested the masked Hello vector from the RFC before writing a single room, which made the rest of the server straightforward.

2026-09-12

SearchLite: Porter stemmer checked against the published vocabulary sample, then BM25 with configurable k1 and b. The demo exposes the per-term score breakdown so a ranking can be explained.

2026-09-13

RAGForge evaluation harness: 36 labelled questions, hit at k and MRR. A retrieval demo without an evaluation number is a magic trick, not an engineering sample.

2026-09-20

Arvion UI contrast audit: WCAG ratios computed in JavaScript, and a token pair below 4.5:1 fails the audit page. Tokens that fail should be visible in the system, not discovered by a user.

2026-09-27

GharKo Sathi Flutter case study: job state machine and offline queue written as pure Dart and tested against shared JSON vectors, so the JavaScript mirror in the demo cannot drift.

2026-09-28

Landing Kit: six templates on one conversion framework. Documented why each section exists instead of shipping six pretty pages with no argument behind them.

2026-10-18

Motion Lab: every recipe has a prefers-reduced-motion fallback, and the playground includes a cubic-bezier sampler. Motion that ignores the user's setting is a bug, not a style choice.

2026-10-25

SyncKit convergence test over thirty random seeds with network partitions. If two clients do not converge after the partition heals, the demo is a lie, so the test came first.

2026-10-26

Final pass before publishing: re-shot every screenshot with the random-port capture script, checked each one shows its own project, and recorded the demo GIFs that now sit at the top of each README.


Arvion Technologies, Kathmandu, arviontech.net · GitHub