Skip to content

FreeSpark development journal · Part 2 of 4

Making local work survive the next conversation

IndexedDB chats, workspace previews and a context budget.

An assistant becomes much more useful when the work is still there after you close the tab. The next FreeSpark changes moved chats into IndexedDB with a one-time migration and cross-tab synchronization, then gave the model a more deliberate context budget.

That addresses two different limits. Browser storage needs to preserve the conversation reliably, while the language model can only read a bounded amount of material at once. Summarizing older turns and reserving room for the answer is more predictable than sending everything until a small model runs out of context.

Workspace changes also gained a preview, approval, history and revert path. If the assistant is about to edit a file, you should be able to see the proposed change and recover an earlier version. A chosen folder remains the boundary for those tools; having file features in the interface doesn't grant access to your entire computer.

The application structure grew clearer too. Interface code was split into modules with an explicit initialization order. Local file context, richer text rendering and on-device Python chart work followed, giving documents and calculations a more useful place in the conversation.

The earlier safety pass had also isolated JavaScript and previews rather than giving generated content ordinary application privileges. Those protections need to stay connected to the actual execution path as the interface evolves.

This stage was about making the assistant a place to do work you can keep. Better persistence, a reviewable file change and a known context limit are less flashy than another model in the picker, but they're the details that decide whether you can return to a task and understand what happened.

FreeSpark development journal

View the journal

Live4 entries so farUpdated New (4 entries updated in the last 14 days)

  1. Part 1FreeSpark: useful AI on the hardware you already haveDevelopment work: Sep 9, 2026Updated , new
  2. Part 2Making local work survive the next conversationDevelopment work: Sep 9 – 10, 2026Updated , new
  3. Part 3Checking whether Spark actually helps the modelDevelopment work: Sep 10 – 11, 2026Updated , new
  4. Part 4Route, gather, then write the answer onceDevelopment work: Sep 12 – 13, 2026Updated , new

Arrow keys move through the results, Enter opens one, Command or Control with Enter opens it in a new tab. Tab and Shift+Tab change which kind of results are shown.