AI changelog

A public release log for the site. It records versions, tools, editorial notes, and the parts where an agent held the wrench.

Current release
v0.10.7
Archive
24 entries · 19 tools named

How involvement is recorded

No AI
Written and edited without AI help.
AI-assisted
AI helped with implementation or polish; the direction and final edit are human.
Co-created
Human direction plus agent implementation/editing. Dmitrii keeps final control.
AI-generated, human-edited
AI produced a first pass; a human editor rewrote and approved the result.

Release ledger

Newest first · ordered by the public release record

  1. v0.10.7

    Current release

    Add Садовник personal-auditor case

    Садовник (the local personal-auditor / growth OS) is now part of the project ledger and has a full case study.

    • Project card (/projects/sadovnik/): status ongoing, local-first, evidence boundary stated up front.
    • Case study covers the four-step loop (evidence → proposal → approval → measure), the observed-not-causal receipts, and the division of labour with the agent factory. It closes on the honest open item: the system has not yet closed a full measurement loop.
    • Proof panel renders the decision loop with the approval gate as the boundary.

    Release check

    Changelog-order, redirect and portfolio invariants, typecheck and the production build all passed. The new case renders at /projects/sadovnik/ and the ledger count increments to 13 projects.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, React, TypeScript, MDX, CSS, Hermes

    Human editor note

    Dmitrii asked to add Садовник to the portfolio and fix the flagged small items. Hermes wrote the honest case study, the proof panel and the changelog entry, and verified the build. The case states plainly that Садовник is a private local tool with no public deploy and no causal outcome claims.

  2. v0.10.6

    Self-hosted the Putin Out the Fire archive

    The FSB newsletter is now fully self-hosted and no longer points at a dead resource.

    • Dead Substack link removed: every PUT issue body linked to putinoutthefire.substack.com, which now returns 404. All 17 links across the eight published issues now point to the on-site archive (/media/put/), and the "Subscribe free" / "Subscribe or manage email" labels read "Read the archive". There is no live subscription to point at anymore.
    • Human-readable newsletter name: the newsletter is now shown as "Putin Out the Fire" instead of the internal acronym "PUT", across the newsletter block, the media index, issue breadcrumbs, and each issue's eyebrow. The stale "latest" pointer moved from №007 to №011 · Putin and the FSB State.
    • Issue text already preserved on-site: the issue bodies themselves were already self-hosted as MDX + broadsheet HTML, so no newsletter text was lost with the dead link. Only the subscribe references pointed off-site.

    Release check

    Changelog-order, redirect and portfolio invariants, typecheck, lint and the production build all passed. The changed routes render without a reference to putinoutthefire.substack.com; the remaining external links in issue bodies are named open sources (Meduza, Bloomberg, Jamestown, OSW, RUSI, Britannica, Kremlin.ru), not subscription surfaces.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, React, TypeScript, MDX, Hermes

    Human editor note

    Dmitrii asked to replace a dead newsletter link with on-site content, give the newsletters human-readable names, and record the change in the changelog. Hermes implemented and verified the build.

  3. v0.10.5

    Positioning chooses a reader

    The site now says who product editing is for and keeps three different kinds of proof in the right order.

    • One primary reader: the homepage and Toolshed now address product leads whose flow works inside the team and loses a new reader.
    • A distinctive role with a concrete object: product editor stays, followed by the words, structure and assumptions the work actually changes.
    • Live work before the stopped case: Flatmate and Danskertesten now lead the selected set. Counterfile follows as evidence discipline, not as a commercial outcome.
    • Claim boundaries stay attached: every selected case names the role, dated source, observable software result and the outcome it does not establish.
    • Illustration stays labelled: the Flatmate dossier panel now says that its example is illustrative rather than presenting generated household details as live user evidence.

    Release check

    Focused selection and proof-panel tests, the repository checks, lint, production build and bundle budgets passed. Browser passes at 1440, 1280, 390 and 320 px found no overflow or clipped changed copy; changed display headings stayed to two lines and standalone text actions remained 44 px. The mobile reading fallback stayed fully visible. The exact reduced-motion seam was unchanged from its previous verified pass.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, React, TypeScript, MDX, CSS, Codex

    Human editor note

    Dmitrii authorised Codex to resolve the audience, role explanation and first-proof order after the positioning audit.

  4. v0.10.4

    Homepage corridor clarified

    The homepage now carries its evidence into one clear, restrained next step.

    • A commercial bridge, not another sales block: after the selected cases, one text action opens Toolshed without claiming current availability or repeating the service list.
    • Headlines keep their shape: the newsletter heading now holds to two lines at desktop and narrow mobile widths instead of becoming a five-line staircase.
    • Actions are easier to reach: primary text actions and desktop navigation have 44 px interaction areas without changing their visible weight.
    • Keyboard users can bypass navigation: a focus-only skip link moves directly to the page content.
    • One continuous surface: the portrait hero now resolves into the forest background instead of ending at a hard image seam.

    Release check

    Eleven repository tests, changelog and route invariants, typecheck, lint, the production build and bundle budgets passed. Browser passes at 1440 px, 390 px and 320 px found no horizontal overflow or clipped copy; reduced motion kept the full living-type sentence visible. The new action was clicked through to Toolshed, and the skip link moved focus to the page content.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, React, TypeScript, MDX, CSS, Codex

    Human editor note

    Dmitrii asked Codex to assess the homepage positioning, fix objective presentation problems and leave strategic choices for discussion.

  5. v0.10.3

    Homepage signature simplified

    The homepage keeps one moving sentence. The evidence is allowed to stand still.

    • One signature: living type remains the desktop interaction. The second text-flow effect and the clay WebGL surface are gone.
    • The whole sentence on small screens: at 600 px and below, and for reduced-motion visitors, the living-type paragraph stays contiguous and visible instead of breaking around the object.
    • Less decorative JavaScript: removing Three cuts the deferred clay chunk measured at 129,483 bytes gzip in the preserved candidate.
    • A truthful budget: the bundle check now follows static imports, so the shared Pretext layout chunk counts toward the deferred budget once.

    Release check

    Eleven repository tests, typecheck, lint, the production build and bundle budgets passed. The homepage stayed at about 152.4 KB gzip initially, with 15,024 bytes gzip for the complete deferred Pretext chunk. Browser passes at 1440 px, 390 px and 320 px found no horizontal overflow or clipped copy; the two narrow widths rendered the complete static paragraph.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, React, TypeScript, MDX, CSS, Codex

    Human editor note

    Dmitrii asked Codex to continue the long-term personal-site plan. Codex preserved the experiment, simplified it and ran the checks under review.

  6. v0.10.2

    PUT archive and booking path repaired

    This release repairs two public paths without changing the homepage's visual direction.

    • PUT stays on site: the homepage action now opens the existing PUT archive instead of a dead Substack page.
    • Formats are findable: Toolshed links to the written review, while email remains the main contact action.
    • First contact: Toolshed and the written review ask for the problem by email. No calls.
    • Route coverage: production smoke now checks Toolshed, Booking and the PUT archive.

    Release check

    Repository tests, typecheck, lint, the production build, bundle budgets, direct route checks and desktop plus 390 px browser passes were completed before publication.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, React, TypeScript, MDX, CSS, Codex

    Human editor note

    Dmitrii set the direction for the personal site. Codex mapped the work, implemented the first two repairs and ran the checks under review.

  7. v0.10.1

    Core Return Desk frozen with evidence

    • Added Core Return Desk to the complete project ledger as an archived, unproven product artifact.
    • Published the working CSV import screenshot, 65-test gate and desktop/mobile browser results without presenting the demo fixture as customer evidence.
    • Recorded the negative-result decision: no real operator sessions, public deployment, demand, recovered money or revenue claim.
    AI involvement
    Co-created
    Toolchain
    TanStack Start, MDX, Vitest, Puppeteer, Hermes

    Human editor note

    Dmitrii made the product and stop decisions. AI agents helped implement, test, research and document the workflow. The published limits were checked against the frozen repository evidence.

  8. v0.10.0

    Selected work, stated honestly

    This release turns the project archive into a portfolio without hiding the archive. Four evidence-rich cases now lead the page; the full project ledger remains directly below them.

    What changed

    • Selected work: VitaSide, Flatmate.dk, DIMAS fest and AndelPlan are selected through project metadata rather than a duplicate hardcoded list.
    • Living portfolio surface: the same selection now feeds the homepage desk. On the projects page, the four records move through a typographic current and one clay-coloured field with fluid edges instead of sitting in a stack of detached cards.
    • Three new cases: VitaSide documents a local-first health sidecar, DIMAS fest separates its live browser product from the pending physical-party test, and AndelPlan exposes verified facts, estimates and unknowns as different states.
    • Project-specific evidence panels: each flagship case contains an editorial proof surface that demonstrates the product's core decision and its evidence boundary without invented screenshots or metrics. AndelPlan uses named neighbourhoods and claim states.
    • Credibility pass: Flatmate now reflects the current housing-first product rather than an old questionnaire concept. Platå's case and publication note are updated from three to seven situations. Danskertesten distinguishes what the diagnostic can observe from causes it cannot infer.
    • Full ledger preserved: all projects remain visible in their original ordered archive below the selected layer.

    Release check

    The release gate covers unit tests for project selection and proof-panel boundaries, formatting, lint, production build, link and route smoke checks, plus desktop and 390 px browser review before publication.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, React, TypeScript, MDX, CSS, Node test runner, Codex

    Human editor note

    Dmitrii approved the portfolio direction and owns the product work described here. Codex implemented the selection layer, built and refined the case-study panels, checked source material, narrowed unsupported claims, ran the anti-slop review and tested the release.

  9. v0.9.4

    Type in motion

    This release loosens the homepage without replacing its editorial system. The changes stay close to the previous composition and add motion only where it carries meaning.

    What changed

    • Living type: Pretext lays out a short editorial passage line by line around a slowly moving context shape. The ordinary HTML paragraph remains available before JavaScript and to assistive technology.
    • Fluid boundaries: the proof and newsletter sections now meet the page through custom moving silhouettes instead of rigid horizontal cuts.
    • Handwritten evidence: Tegaki generated the animated “research first” note beside the 0 / 8 research count. It ships as a lazy SVG asset rather than a large browser runtime.
    • Motion discipline: reduced-motion preferences stop the drifting boundaries and preserve the completed handwritten mark.

    Release check

    Codex ran formatting, lint, content checks, the production build, and desktop and mobile browser checks before publication.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, React, TypeScript, CSS, Pretext, Tegaki, Codex

    Human editor note

    Dmitrii named the problem and the desired restraint: soften the slide-like rhythm without redesigning the publication. Codex researched the two libraries, implemented and tested the release, and is named in the public record. Dmitrii remains the editor and owner.

  10. v0.9.3

    Editorial reset

    This release treats the site as one publication. Codex is named here because it performed the implementation and production pass under Dmitrii's direction.

    What changed

    • Visual system: removed the remote Google font kit, generic card grids, glow, decorative chips, repeated hero stacks and the old fixed firefly layer. The palette, type hierarchy, navigation and footer now belong to one editorial system.
    • Page composition: rebuilt the homepage around a real portrait and evidence ledger. Projects, Journal, Media, About, Toolshed, Trails and this release log now have purpose-specific structures.
    • Editorial claims: separated shipped features from evidence, removed unsupported user and client claims, repaired stale roles and dates, and cut internal production notes from public copy.
    • Media archive: repaired nested links and old placeholders, gave Denmark Decoded its own canonical page, and removed dead controls and internal review labels from PUT.
    • Access and resilience: restored text contrast, kept content visible without animation, repaired mobile navigation semantics and removed duplicate page landmarks.

    Release check

    Codex ran formatting, content-order and redirect checks, the production build, desktop and mobile browser checks, and the live production smoke test for this release.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, MDX, TypeScript, CSS, Codex

    Human editor note

    Dmitrii set the brief: remove every trace of template-like AI design and take the result to production. Codex audited the live surfaces, rewrote and implemented the release, ran the checks and handled deployment. Dmitrii remains the editor and owner.

  11. v0.9.2

    Counterfile - honest negative-result case study

    Counterfile joins the project archive as a case study about stopping well. The product reached release-candidate quality; the merchant need did not reach evidence quality.

    What shipped

    • Project card - Counterfile is marked archive, not live, with the line that matters: the code reached release candidate; the need did not.
    • Full burrow - product boundary, implemented release-candidate features, the original hypothesis, Shopify-native and competitor falsification signals, and the decision to park the business.
    • Evidence ledger - zero real merchant sessions, zero validation spend, no public product deployment, Need UNPROVEN. The moderated study is recorded as NOT RUN - SUPERSEDED, NOT FAILED.
    • Synthetic boundary - SIM01-SIM08 are described only as deterministic protocol fixtures. They are not users, quotes, demand, conversion, price evidence or validation.
    • Embedded product surface - a lightweight HTML/CSS replica of the fictional sample shows the real missing item, upload-fit blockers and the separate market verdict without publishing the prototype.
    • Production smoke - /projects/counterfile/ is now part of the production route check.
    • Mobile footer repair - the shared footer links now wrap below tablet width instead of widening a 390 px viewport to 495 px.

    The case does not make failure theatrical. It records the cheaper and more useful result: engineering readiness and business readiness are different ledgers.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, MDX, TypeScript, Hermes

    Human editor note

    Dmitrii approved the conclusion and publication. The case keeps synthetic tests, real participants and analyst inference in separate ledgers.

  12. v0.9.1

    Taste & text overhaul - voice bible, hero, work-with-me, ledes

    A text-and-taste pass across the surfaces visitors hit first, following a new docs/VOICE-BIBLE.md and the audit in docs/TEXT-AUDIT.md. No layout or route structure changed - copy only.

    What shipped

    • Homepage - new hero (Every interface is a text. Most are badly edited.), rewritten lead, three path blurbs, and hook lines on all seven shortcut cards (previously title-only).
    • About - opening paragraph rewritten to drop the transformation-list and philosophy-denial patterns; About index lead sharpened.
    • Work with me - full rewrite: destabilizing opener kept, "What I actually do" trimmed of resume language, "Who this is for" leads with the frustration instead of a demographic list, new closing filter line.
    • Project frontmatter - Danskertesten, Knowledge Weaver, Commercial and Platå body/tagline copy tightened. Flatmate and Samovar were already benchmark and untouched.
    • Journal - new ledes on №03, 12, 13, 14, 15, 16; blurbs sharpened on 12 and 13. №01 and №19 ledes are benchmarks and untouched.
    • Journal / trails / media indexes, cluster pages, newsletter block - intro copy replaced with sharper claims per the "witty tests" list in docs/REWRITES.md.
    • New docs - VOICE-BIBLE.md, TEXT-AUDIT.md, REWRITES.md, TASTE-ROADMAP.md for the remaining design-taste batches (burrow theme on case studies, note-form lede typography, journal marginalia hover).

    Not in this release

    Phase 3 (design taste: burrow theme on project pages, lede typography, marginalia hover) and Phase 4 (measurement) from docs/TASTE-ROADMAP.md are scoped but not started.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, MDX, Cursor

    Human editor note

    AI is in the toolchain and on the record. The lines worth quoting were chosen by a human - that is what editors are for.

  13. v0.9.0

    Editorial track - draft review, short notes, photos

    Editorial sprint: shorter journal notes, factcheck-before-review, and inline photos - without returning to long auto-essays.

    What shipped

    • Draft review (/drafts/$id) - Russian UI, stepper, factcheck panel with «Исправить по фактчеку», sticky actions; approve blocked while risky claims remain (unless forced).
    • Pipeline - after factcheck, auto-fix uncertain/risky claims and re-run factcheck; format presets (note / essay / burrow) + shared brand voice in agents.
    • polish-note - two-pass Opus polish (npm run polish:note) for drafts outside Studio.
    • Photos in MDX - <Figure />, MdxImage, staging script (npm run stage:image), upload panel on draft review (local/fs; Worker needs commit + redeploy for assets).
    • Publish - internal frontmatter (editorNotes, factcheck, …) stripped from exported MDX.

    Ops note

    Image upload on production Worker cannot write to disk; stage locally, commit under public/images/content/, then redeploy.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, OpenRouter, MDX, Cursor

    Human editor note

    Studio stays optional; this release makes human review the default path while keeping draft tools usable when needed.

  14. v0.8.3

    SEO - canonical and sitemap trailing slashes

    After Google Search Console setup, URL Inspection showed /journal/ as “alternate with canonical” because the live URL uses a trailing slash (trailingSlash: always) while rel=canonical and sitemap <loc> values omitted it.

    What shipped

    • canonicalPath / canonicalUrl in src/lib/seo.ts - all pageHead canonicals and og:url now match served URLs (e.g. https://dmitrii.dk/journal/).
    • Sitemap - every <loc> uses the same trailing-slash convention (including /projects/knowledge-weaver/).
    • Project burrows - projects_.$slug now uses pageHead (canonical + twitter/og parity); Knowledge Weaver and other burrows were missing rel=canonical before.

    After deploy

    In GSC, re-inspect and Request indexing for:

    • https://dmitrii.dk/journal/
    • https://dmitrii.dk/projects/knowledge-weaver/

    Sitemap will refresh on next crawl; no resubmit required unless GSC shows errors.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, Cursor

    Human editor note

    GSC inspection flagged /journal/ as a canonical alternate; fix aligns meta and sitemap with router trailingSlash: always.

  15. v0.8.2

    Ops sync - docs, burrow timeline, homepage shortcuts

    Housekeeping release: the public site was already on v0.8.1, but internal docs and the Knowledge Weaver burrow still described v0.8.0 as latest. This closes that gap.

    What shipped

    • Knowledge Weaver burrow - version and honest timeline extended through v0.8.1 and this release.
    • Ops docs - docs/NEXT-ITERATION.md and docs/LAUNCH-CHECKLIST.md updated to v0.8.1+ reality (Tetrad open, Platå/Commercial shipped, smoke green).
    • Homepage shortcuts - Commercial project burrow and Tetrad media archive added to the open-tunnels grid (Platå was already there from v0.8.1).

    Still manual (ops)

    • Studio production: Neon DATABASE_URL + Cloudflare secrets → ./scripts/setup-studio.sh
    • Google Search Console: verify domain, submit sitemap (see docs/NEXT-ITERATION.md)
    AI involvement
    Co-created
    Toolchain
    TanStack Start, MDX, Cursor

    Human editor note

    Direction is mine. Agent synced stale ops docs and meta content to match what v0.8.1 already shipped to production.

  16. v0.8.1

    Cross-repo content - Platå, profiles, Husky notes, burrows

    Content sprint synthesising work from other repositories into the Infinite Forest - without portfolio bloat or empty tunnels.

    What shipped

    • Newsletter block on the clearing - PUT Substack link + Denmark Decoded subscribe form (Buttondown).
    • Platå - project card, full burrow, journal #15, shortcut on homepage, trail stop on Language as social contract.
    • Flatmate refresh - journal #16 (Profile Signal Kit / sparse profiles), burrow section on editorial profiles.
    • Husky - journal #17 (RU translator's notes on «Партизан» adaptation); trail stops on language and representation paths.
    • Commercial burrow opened - editorial systems case study for client work.
    • Tetrad media burrow opened - notebook archive with indexed entries and honest draft holds.

    Still manual (ops)

    • Studio production: Neon DATABASE_URL + Cloudflare secrets → ./scripts/setup-studio.sh
    • Google Search Console: verify domain, submit sitemap (see docs/NEXT-ITERATION.md)
    AI involvement
    Co-created
    Toolchain
    TanStack Start, MDX, Cursor

    Human editor note

    Editorial direction and all essay arguments are mine. Agent implemented content from recent sessions across plata, roomsy, and journalism repos; ops: homepage newsletter block.

  17. v0.8.0

    Foundation sprint - git, burrow, automated log, journal depth

    This release closes the gap between code maturity and operational truth - the site now tells its own story in the AI changelog without version drift on the homepage.

    What shipped

    • Git repository initialized - Git-as-CMS is no longer aspirational; the Forest has version history.
    • Automated site version - homepage transparency block reads src/lib/site-version.ts, which pulls the latest entry from src/content/changelog/ (order 0). No more stale 0.5.0 on the clearing.
    • Knowledge Weaver burrow - /projects/knowledge-weaver is now a full case study: architecture, stack, AI pipeline, design system, and honest gaps. The meta-project is no longer a shelf card marked “soon”.
    • Journal 08 expanded - 08-expertise-society upgraded from stub to full essay (knowledge & power cluster). Definition-of-done depth target met: ≥ 6 full journal essays.
    • PUT burrow acknowledged - media checklist synced with code (put.mdx already had burrow: true; docs were behind).
    • Release tooling - scripts/log-release.mjs scaffolds the next changelog entry and bumps order fields; scripts/validate-redirects.mjs guards legacy 301 map.
    • Homepage shortcut - Knowledge Weaver added to open tunnels on the clearing.

    Still manual (ops, not code)

    Studio production configuration remains a private deployment task; the public release does not expose its operational setup.

    How to log the next release

    node scripts/log-release.mjs 0.9.0 "Short title here"
    # Edit src/content/changelog/0.9.0.mdx body, then:
    npm run deploy
    

    The homepage and /ai-changelog pick up the new version automatically after deploy.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, MDX, Cursor, Git, Drizzle, OpenRouter

    Human editor note

    Direction and editorial calls are mine. The release added the Knowledge Weaver burrow, expanded journal 08 and consolidated the publishing checks.

  18. v0.7.0

    Project shelf cleaned up

    Removed a stale card-game placeholder from the projects shelf. Added Knowledge Weaver instead: the current dmitrii.dk rebuild as a living public system for projects, essays, media work, archives, reading trails, and AI-transparency notes.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, MDX, Hermes

    Human editor note

    Direction is mine: remove a stale card-game placeholder and replace it with something alive on the site. Agent renamed the project entry and rewrote the card around Knowledge Weaver as the site’s current operating-system project.

  19. v0.6.0

    Modeling archive restored

    The old life-modeling photos were still present in the previous site's archive. The new /about/modeling page restores them as a 24-plate field archive with captions, artist metadata, responsive image layout, and a lightbox. The Academy David works are credited to Dada Novikova with the supplied Instagram link.

    AI involvement
    Co-created
    Toolchain
    TanStack Start, MDX, React, CSS, OpenDesign

    Human editor note

    Photo archive and artist corrections are mine. Agent moved the assets, curated the plate grid, built the lightbox, fixed image orientation metadata, and added Dada Novikova credit for the David studies.

  20. v0.5.0

    Depth pass - clusters, trails, case studies, related links

    Second depth pass: journal cluster landings (/journal/cluster/...), related reading blocks on essays, six reading trails with shareable URLs, open Samovar and rØST case studies, and shortcuts on the homepage - lateral navigation without a bigger menu tree. Fixed nested-link crash on the journal list (mobile contrast + Invariant failed).

    AI involvement
    Co-created
    Toolchain
    TanStack Start, Tailwind v4, MDX, Cursor, OpenRouter

    Human editor note

    Architecture and copy direction are mine. Agent implemented cluster landings, reading trails, Samovar and rØST case studies, related links, and journal card fixes.

  21. v0.4.0

    Launch prep - SEO, journal articles, transparency log

    Pre-launch pass: fixed Open Graph image and favicon, added robots.txt and sitemap.xml, opened the first journal essay as a full article route, compressed the portrait asset, and documented the launch checklist in docs/LAUNCH-CHECKLIST.md.

    AI involvement
    Co-created
    Toolchain
    Lovable, TanStack Start, Tailwind v4, MDX, Cursor

    Human editor note

    Checklist and copy are mine. Agent wired og:image, sitemap, robots.txt, journal detail route, compressed assets, and this changelog entry.

  22. v0.3.0

    Git-as-CMS - content moves to MDX

    The site is now editable as a folder of .mdx files. Adding a new project, journal entry, or about page is a git commit away - no TypeScript edits required.

    AI involvement
    Co-created
    Toolchain
    Lovable, TanStack Start, Tailwind v4, MDX

    Human editor note

    All collections (projects, journal, media, about, toolshed, changelog and case studies) now live as MDX files under src/content/. Frontmatter is validated with zod; the site can be edited outside Lovable as a normal Git repo.

  23. v0.2.0

    Case study template + first project page

    /projects/flatmate opens as the first full case study - dark reading theme, single column, frontmatter-driven layout. Introduces a reusable ArticleShell component with prose styles and an AI involvement footer - the same template now carries journal essays and future case studies.

    AI involvement
    Co-created
    Toolchain
    Lovable, TanStack Start, Tailwind v4

    Human editor note

    Case-study copy is mine, lightly edited from the original Flatmate notes. The agent built the shell and wired the route.

  24. v0.1.0

    Initial scaffold - site shell

    Six top-level routes (home, projects, media, journal, toolshed, about) built from the original design notes. Case study pages existed visually but not yet as routes; the article template came next.

    AI involvement
    Co-created
    Toolchain
    Lovable, TanStack Start, Tailwind v4

    Human editor note

    Layout and tokens follow the design handoff verbatim. Voice and copy are mine; the agent did the porting and component plumbing.