iceoff Desktop app · in development

Office software for the age of AI

We rethought office software from the ground up, for AI.

Word, PowerPoint and Excel were designed for people to edit text and reproduce page layouts. AI arrived later, added on top. iceoff starts again at the bottom layer, the file itself, and asks what an office suite has to be for AI to read your work, keep it correct, and leave every decision to you. We are building it to replace Microsoft Office.

Rust + icedLocal models only, no cloudOne .iceoff file per project

iceoff — Ledgerline
Ledgerline · Pricing report · Section 5

5. Results

Retention of revenue did not suffer in a meaningful way. Gross revenue churn in the pilot group was %, against 5.8% in the control group. Two pilot accounts churned, both flagged as at-risk before the pilot began.

7Changed · used in 7 outputs
Number only · 7 places
Only the number changes. Whether the rest of each sentence still holds is your call. Nothing changes until you press.
Pricing report Ctrl Tab Commands Ctrl K
A web sketch of the prototype's core loop. Type another number into the report.

The problem

Today's office files were built to print pages

A .docx stores formatted runs of text so a page looks the same on every screen. That made sense when the page was the product. It leaves out what an AI collaborator needs most: where a sentence came from, which other documents repeat it, and who decided it.

So one figure ends up copied into five applications that know nothing about each other. When it changes, people search by hand. An AI handed those files is guessing too, because nothing in them records the link.

One pilot result, seven places

Word · report §1…churn stayed close to the control group at 6.1% versus 5.8%.
PowerPoint · slide 3Gross revenue churn stayed close to the control group at 6.1%.
PowerPoint · slide 5Gross revenue churn was 6.1%.
Word · CEO one-pagerGross revenue churn 6.1% vs 5.8% for control.
Outlook · all-companyChurn was about the same as in the control group (6.1% vs 5.8%).
Web · customer FAQChurn stayed close to other customers' (6.1% vs 5.8%).
Excel · number sheetGross revenue churn · 6.1% · 5.8%

From the ground up

We started at the bottom layer and rebuilt every layer above it

Adding an assistant to the old stack leaves the old stack in place. Each layer of iceoff was redesigned so the one above it can work with AI.

The file

Layer 1 · bottom

Office today

One file per document, built to reproduce a layout. The report, the deck and the spreadsheet are separate files with no shared memory.

iceoff

One .iceoff file per project: every output, every source file, where each number came from, and the history of each paragraph. It is a ZIP, like .docx, so it opens without iceoff. Sharing means sending the file.

The content

Layer 2

Office today

A number is a few characters. Paste it from a spreadsheet and the link to the cell is gone.

iceoff

Content remembers its basis. When you paste cell B3 of pilot_results.csv, iceoff records the cell and its text at that moment. When the file gets a new version, it knows which sentences depended on the old value.

Measured: inferring sources after the fact missed the one sentence that mattered, so the basis is recorded at the moment of writing.

The outputs

Layer 3

Office today

Word for the report, PowerPoint for the deck, Outlook for the email, Excel for the numbers. Four applications, four copies.

iceoff

One project holds any number of outputs: report, board deck, CEO one-pager, all-company email, FAQ, number sheet, a notice in three languages. Spreadsheets, PDFs, recordings and photos sit beside them as read-only sources. A change that starts in any output reaches the others.

The AI

Layer 4 · top

Office today

An assistant pane works on formats that record nothing about where content came from, so its suggestions are hard to check.

iceoff

AI works from the recorded basis and proposes; you press. Rules you agree to in advance can run on their own, and only for numbers, dates and amounts. Each one is logged and can be undone. Rewriting your words always waits for you. The model runs on your own computer.

The prototype

A white page and an island

The window holds two things: the page you are writing, and a dark island at the bottom. Outputs, sources, changes to review and commands all start from the island. iceoff never tints your text; its marks float beside the page. The interface below is in Traditional Chinese, the language of our first build.

The iceoff prototype showing a pricing report with a dark review list of seven sentences in other outputs, each with the old number struck through and the new one beside it.
Running codeChange a number once, review it everywhere. Churn moved from 6.1% to 7.4%. The island lists the seven sentences in other outputs that still say 6.1%: replace one, keep one, or replace all.
A number card beside the report showing that 6.1% came from pilot_results.csv cell B3 and is used in six outputs.
Running codeEvery number knows where it came from. Rest the cursor on 6.1% and a card shows its source, pilot_results.csv · B3, pasted on 9/22, and the six outputs that use it.
A CSV source opened read-only, with one changed cell outlined and a side card saying the old value still appears in eight places.
Running codeChanges can start in the data. Finance sends a new pilot_results.csv. iceoff matches rows and columns, outlines the one cell that changed, and counts the eight places that still carry the old value.
Eight output cards in a grid with a source file row below.
Running codeCtrl+Tab spreads out the whole project. Eight outputs for six audiences, each with a count of what needs you, and the source files underneath.
An automation dial with four levels; the fourth, AI rewriting, is locked.
Running codeAutomation with a ceiling. Level 1 swaps sourced numbers on its own and logs each swap. Level 3, AI rewriting without asking, is locked permanently.

Designed next, for any kind of work

Design mockups
A slide with five likely board questions beside it, each answered by a sentence from the report.
Rehearse with tomorrow's board. Overnight, a local model reads the report and asks the five questions the board is most likely to raise on each slide. Answers point to report sentences, and the gaps show where you would be caught out. The questions shown are unedited output from gpt-oss:20b.
A teacher's project with a parent notice in Chinese, English and Vietnamese, a class slide, a calendar entry and a homework note.
Outside the office too. A teacher moves the exam date once. The notice in Chinese, English and Vietnamese, the class slide and the calendar each show one item to review.
A popover on 7.4% showing it came from pilot_results.xlsx, Results sheet, cell B3, and lists where it is used.
Sources for spreadsheets, PDFs and video. The same basis extends to an Excel cell, a page of a PDF, or a time range in an interview recording, so any number can be traced back to its file.

Our constitution

Four things iceoff will never do

These four lines are in the repository's README, which we treat as the product's constitution. Changing them means changing who we are.

How we build

Built in close collaboration with Claude Code

iceoff is an AI-native office suite, and we build it the way we think people should work with AI. Claude Code is our research partner and our engineer. It writes the experiments, runs the local-model evaluations, draws the interface proposals, reviews its own work adversarially, and writes the Rust. The founder makes every call, and each decision is written down with its reason.

Every claim in the repository is ranked before we use it: measured (numbers from code we can rerun), reasoned (arguments and prior art), or opinion. Only the first kind is allowed to settle a design question.

264commits since 24 Aug 2026
23research studies, each with a written record
324interface ideas drawn, then reviewed by the founder
480rendered interface screens
73automated tests in the prototype, including headless UI tests
5,100lines of Rust in the current build
  1. Ask a question the product depends onDoes a sentence need to remember its source, or can we work it out later?
  2. Run it as a replayable experimentSame fixture, same twelve scenarios, every approach side by side.
  3. Draw it, many waysHundreds of mockups, so the founder chooses between real screens rather than descriptions.
  4. Build only what survivedThe prototype implements the one mechanism the experiments supported.

What the experiments showed

  • 6 of 6test scenarios handled when each sentence keeps one copy of the source text it was based on.
  • 3 of 6handled when, with no recorded basis, all 82 candidate sentences went to a model instead, at roughly ten thousand times the cost.
  • 14 of 15rehearsal answers from a local model (gpt-oss:20b) were sentences from the report: 12 exact, 2 off by a hyphen or a bracket. The fifteenth said the report had no answer, and it did not.

All three come from small, replayable tests on one sample document and one machine. They decide what we build next; they do not yet say anything about users.

Where we are

Two milestones done, the local model next

Milestone 1Done

Skeleton

The .iceoff file with crash-safe saves. Any number of outputs. CSV sources. Change a number and the other outputs list it for review. Nothing changes until you press.

Milestone 2Done

Basis

Record the source on paste. Number cards. New versions of a source file. Follow the basis downstream. Auto-swap for sourced numbers. History and restore for every paragraph.

Milestone 4Then

Every format

Slide, sheet and email editors. Excel, PDF, audio and video as sources. Export to Word, PowerPoint and PDF.