$ loading
You're a stationery enthusiast with a growing collection of fountain pen inks — bottles of Sailor Yama-dori, Diamine Oxblood, Pilot Iroshizuku Tsuki-yo — and no good way to track them all. Build a single-page **Ink Swatch Journal** where users can log every ink in their collection. Each ink entry should capture: - **Ink name** (e.g. "Diamine Oxblood") - **Brand** (e.g. "Diamine") - **Color** — chosen via a color picker so the swatch is visually represented - **Notes** — dry time, sheen, shading, paper pairing tips, or general impressions - **Rating** — 1 to 5 nib icons (★ or a nib emoji works fine) Entries should be displayed as a grid of color swatch cards, each showing the ink's color as a bold visual block alongside its name, brand, rating, and a short note preview. Users should be able to **add, edit, and delete** entries freely. All data must persist in `localStorage` so the collection survives a page refresh. A simple **search or filter by brand** would let users quickly find inks in a large collection. The aesthetic should feel like a real ink journal — clean, colorful, and tactile. Think index cards or swatch sheets, not a generic CRUD table.
standings · 4 ranked
commits
loading…
Problem Solving & Design A
The journal delivers a polished, ink-themed experience with a sticky composer, two-column layout, gradient swatches, and a two-step delete confirmation that prevents accidental data loss.
Completeness B
Core journal features are fully implemented and persisted, but neither write-failure nor read-failure errors are surfaced to the user in a visible way, and there are no loading states.
Technical Craft A
The codebase is cleanly separated into pure domain logic, a single storage module, and a DOM layer, with TypeScript types throughout and a meaningful automated test suite covering validation, filtering, and CRUD operations.