Skip to content

built in the open

the honest list

Changelog

What has shipped, dated, with the reasoning a click away.

2 released10 comingnow v0.4

September 20262 releases

  1. v0.4Release

    Board, timeline, saved employers and dark mode

    • Save your employer, client and course once. The composer stops asking.
    • A client is never named outside your journal — the industry stands in.
    • Board and timeline views, filtered from the URL.
    • Dark mode, resolved before first paint.
    Why, and what it means

    The journal stopped being a single list.

    Saved employers, clients and courses. Save each once, mark it current, and it is filled in for you — instead of retyping it daily and leaving "Infosys", "infosys" and "Infosys Ltd" as three different employers to every query underneath.

    The client rule. Naming your employer on a resume is ordinary; naming their client is an NDA breach. So the two are stored separately and treated differently — a client is never shown outside your own account, and its industry stands in for the name. That is not a preference you can toggle. It is a check constraint in Postgres, with tests that try to break it.

    Three views. List is the diary. Board moves entries through Logged, Shaping and Resume-ready, so the last column is already your shortlist. Timeline shows a stretch of weeks with the shape of the habit above it. Filters drive all three and live in the URL, so a filtered view is a link you can send.

    Clone. Copy last week's entry onto today and edit the differences. The outcome is deliberately left behind — carrying an old number forward is how a resume ends up with a figure you cannot defend.

    Honest pricing. The page advertised three tiers and a trial for features that have not shipped. It now says what the beta actually includes.

    Auth. Password sign-in and reset now work alongside the email link. Google sign-in is gone for now — the OAuth client was never configured, so the button was a dead end for everyone who pressed it.

  2. v0.3Release

    The journal, auth and the mobile app

    • Write, edit and delete entries, filed as work, project or learning.
    • Row-level security on every table, default-deny, tested both ways.
    • A one-sentence summary per entry, length enforced in code.
    Why, and what it means

    The first pillar is live: you can write in Flexmywork.

    The journal. Entries you can write, edit, delete and file. That is the whole feature, deliberately — it is the source every later pillar reads, so it had to be boring and correct before it was allowed to be clever.

    Row-level security. Every table is default-deny, keyed to the signed-in user. The database decides who may read a row, not the application, so a query with a forgotten filter returns nothing rather than someone else's journal. Tested in both directions with pgTAP.

    One-line summaries. Each entry gets a single sentence from Claude Haiku, so a long entry is still scannable six months later. The 160-character limit is enforced in code after the model answers, not requested in the prompt — a model asked politely for brevity will sometimes decline; a length check will not.

    Also: the site, the blog, this changelog, and a mobile app sharing the same logic layer as the web — same queries, same validation, same rules. Only the screens are written twice, on purpose.

    Where it stands: early. One pillar of four. The journal is solid, everything around it is thin.