David
Blumenau
Menu
Selected work

Case study 01 / PanelForge

A home for the work between ideas.

A web workspace for images, conversations and coding-session history. Built around finding a result again, revising it and keeping its context.

One reference. One colour change.Compare the generated images.Two generated outputs, with the original retained.
LaravelVueTypeScriptMySQLRedis
Creative workspaceA personal engineering project

An actual image revision

Change the colour.
Keep the original.

This newly generated blue teapot was the sole reference for a revision: turn its red lid and handle mustard yellow.

Compare the two images
Original blue teapot with a red lid, knob and handle, on a cream background above a grey oval shadow.
OriginalRed lid and handle. The source file stays intact.Download the original JPEG
Revised blue teapot with a mustard-yellow lid, knob and handle, retaining the same recognisable composition.
RevisionMustard lid and handle. Saved as a separate image.Download the revision JPEG

Web previews are resized and compressed. The JPEG links download the exact saved files.

The original file is unchanged. PanelForge’s gallery links the revision back to it.

The edit keeps the composition recognisable. This is a generative result judged by inspection; it does not establish pixel-perfect preservation.

Watch a 4-second motion study
AI-generated with WAN 2.7 from these two images, through PanelForge. Silent preview: the returned audio track is omitted; the video frames are unchanged.

Returned video: 1172 × 786, four seconds.

What happens: The blue teapot stays in place as steam rises and clears. Its red lid and handle gradually turn mustard yellow.

Download the silent motion study
How this clip was made

PanelForge used the original as the start frame and the revision as the end frame in one WAN 2.7 render. The actual render, save, poster and download paths were checked in an isolated workspace.

Requested: four seconds, 720p and 16:9. Returned: 120 frames at 1172 × 786, plus audio. This preview removes that audio without changing the video frames or timing.

The steam and colour timing differ from the prompt. This is a generative result; repeatability was not tested. Provider-reported usage was $0.50 against a $0.40 estimate, without an independent invoice check.

Read the motion study checks
See the actual reference and result

Two completed PanelForge jobs, using Gemini 3.1 Flash-Lite Image on 15 October 2026. The second used only the new original as its reference. These captures review the completed generations.

Actual PanelForge gallery detail showing the mustard teapot, its edit prompt, and Based on Original with View Original (#35769).
The gallery links the revision to its retained original. That “View Original” link was followed successfully. This focused crop excludes the account navigation.
Actual PanelForge chat showing the original reference attachment, the colour-change instruction, and the completed mustard teapot result. Personal avatar covered.
The attached reference, edit instruction, and result in the actual revision chat. The personal avatar is covered with an opaque rectangle. The two calls created separate conversations, connected by image lineage.

Recorded job costs total $0.082965. This is the cost returned by the two jobs, without an independent invoice check. Requested size: 1K, 3:2; returned images: 1264 × 848.

Read the file and reference checks

01The starting point

Making an image is one step.

Finding the right version later, changing part of it, and keeping its references together take a workspace. I started PanelForge with projects, scenes and panels, a gallery, and painted masks for image revision.

Image editing now lives in chat: attach a gallery reference, describe a change and keep the result connected to its original. Conversations and coding sessions give other work a home in the same application.

PanelForge
PanelForge gallery with a workspace tree beside a collection of images.

The gallery brings asset browsing and organisation into the same interface.Select the image to explore the details.

PanelForge

The gallery brings asset browsing and organisation into the same interface.

Open full-resolution image

02What the workflow looks like

A useful path through the product.

  1. 01

    Give a result a place

    Workspaces contain projects, scenes and panels. The gallery shows that hierarchy alongside images, audio and documents, so an asset can keep its context after the first task.

  2. 02

    Carry a reference into a conversation

    The teapot demonstration attaches one original image to an editing request. Its new result retains the gallery link back to that original. Editing a past chat instruction follows a separate branching path.

  3. 03

    Find the work behind the result

    Code History presents imported coding sessions as a list, a day view and a weekly digest. A session preview lets someone skim before opening the full transcript.

Recorded in the product

A walk through PanelForge

Live web application · existing generated artwork · edited recordingOpen an image from a safe-for-work gallery, inspect its original prompt and generation information, collapse the metadata panels, and return to the collection. The recording browses existing artwork.
What happens in this recording

Live web application · existing generated artwork · edited recording

Open an image from a safe-for-work gallery, inspect its original prompt and generation information, collapse the metadata panels, and return to the collection. The recording browses existing artwork.

03Design + engineering

The decisions underneath.

01 /

One gallery to navigate

In November 2025 I brought separate browsing and gallery screens together. Organisation and viewing could happen in the same place, with a tree and bulk assignment.

02 /

Organisation belongs to the person

I moved image ownership and placement into each user’s relationship with an asset. One shared image can then have a different context for each person, instead of forcing everyone into the same folder structure.

03 /

Keep a web application to maintain

I removed the NativePHP/Electron wrapper in March 2026 and kept the web application as the maintained product. The later workspace migration also retired older Lightroom and iCloud export actions.

Explore the individual features

The smaller pieces of this story.

Branching workbenchKeep the good answer. Try another direction.Reference to chatTake the image straight into the conversation.Give a creative library a homeMove the project. Keep its contents together.

Code History

Find the work
behind a change.

Many short sessions made the weekly view hard to scan. Daily digests give it structure; a session peek adds context before opening the full conversation.

Actual app. Synthetic sessions.The transcript includes an unreleased two-line UI fix. These are saved captures, with no live agent or analysis running here.

Follow one session
Actual Code History week view with seven daily columns and four clearly labelled synthetic sessions, including three empty days.Open full size
Scan the weekSeven daily columns give the archive a readable shape. This capture contains four hand-authored synthetic sessions.
Actual session peek showing a synthetic opening prompt, the final prompt, the closing reply and a notice that the session has not been analysed.Open full size
Read the context firstA card opens the first prompt, last prompt and closing reply. This synthetic session has no analysis; the interface says so.
Actual stable imported Codex transcript using the full conversation pane, with synthetic messages and a permanent label identifying the unreleased UI fix.Open full size
Give the conversation the full paneThe stable imported transcript fills its pane. This capture includes an unreleased two-line UI fix that hides archive edit actions.
Watch the 25-second walkthrough

The silent recording follows Week, Day, List, a session peek and the imported transcript, including its reload. The original app frames retain their loading transitions; the captions identify the synthetic archive and unreleased fix.

Read the scene captions
About these captures and the retained archive

Four sessions were written by hand and imported through the app’s actual endpoint into a disposable database. The real parser, projection and summary services produced the views shown here. No model response or analysis was generated during the proof.

The archive bytes and rows were retained. Login and view preferences can write separate state. Narration is a separate derivative action and was not used. The small $0.00 day totals aggregate absent costs; they are not measured spend.

The tagged source rejected archive edits on the server while still exposing edit actions in the interface. The two-line UI fix hides those actions for imported sessions. It is private and unreleased.

Read the concise source and file receipt

04Selected release history

It got here one decision at a time.

These are historical changes recorded in repository tags. The capture and current-state notes below describe what is being shown here.

  1. Major

    One gallery to navigate

    PanelForge brought browsing and the gallery together, with a project tree and bulk assignment. Viewing and organising an image could happen in the same place.

    PanelForgeweb-v3.0.0
  2. Major

    A gallery for more than images

    Audio and document assets joined images in the gallery, extending the same organisation to other media.

    PanelForgeweb-v6.0.0
  3. Minor

    Address a mobile loading problem

    The release reduced conversation payloads and changed timeout and reload handling after a long mobile loading hang. It treated opening a chat on a phone as a product problem.

    PanelForgeweb-v9.12.0
  4. Major

    A workspace above the project

    Workspaces became the top level of organisation. Migration and move support carried existing assignments into the new structure.

    PanelForgeweb-v10.0.0
  5. Patch

    A preview before opening

    Code History gained a session peek. A weekly digest could now lead to a quick preview before someone opened the full transcript.

    PanelForgeweb-v10.20.95
  6. Patch

    Give the transcript the full pane

    Read-only coding transcripts gained the full pane. This followed patches for digest cards, session previews and selecting human-written prompts for those previews.

    PanelForgeweb-v10.20.97

About the material shown here

Product views.
Release notes.

Selected screenshots and edited recordings accompany changes checked against repository history through October 2026.

Current product and capture

The gallery captures show the working product. The teapot comparison uses two actual Gemini image jobs initiated through PanelForge MCP on 15 October 2026, with the new original as the sole editing reference. They run in separate conversations connected by image lineage; the interface captures review the completed jobs. The Branch Lab separately runs the actual interface and fork service in a controlled local fixture. Its answers are seeded, its comparison footage includes a disclosed unreleased source fix, and no model inference is claimed for that branch run.

Source and historical evidence

The first image and revision loop was working in May 2025. The releases below trace the product’s changes through October 2026.

About the demonstrations

Product imagery uses selected material prepared for this portfolio. Recordings show the interface in use. Architecture graphics describe system relationships and do not show live service availability.