Skip to content

Cellwright

Kyle Curtis
Kyle Curtis
Founder

This project asks one question. Could David really beat Goliath, if he only had to win at one game? My David is a small AI model named Cellwright. Its one game is fixing broken Excel formulas. You show it the broken formula and the cells around it, and it writes the fixed one.

Before training, this model fixed 10 percent of my sealed test. After, it fixes almost 95. The biggest models still lead on the public test. The scoreboard below says so plainly. Every score comes from a fair test. The rules were locked in before training began.

One narrow job

Everyone has had a spreadsheet formula break on them. That is the one problem this model works on. You give it the broken formula and the cells around it. It gives you back a fixed formula. That is all it does.

I chose this job for a simple reason. A computer can grade the answer. The fixed formula either gives the right numbers or it does not. I am comparing a small model against giant ones, so I want scores nobody can argue with.

A fix also has to hold up. It has to run without errors. It has to give the right answer even when the numbers around it change. And it has to use the same cells the original was supposed to use.

The honest scoreboard

The comparison that matters most is against the model I started from. My sealed test holds 188 broken formulas. They were locked away before any training, so the model has never seen them. Under the same rules, the untouched model fixes 19. It ran out of room on every row. It never once finished an answer cleanly. After my training, the same model finishes every row. It fixes as many as 177. A small helper that picks between its answers reaches 179. The model could barely play the game before. Now it wins almost 95 percent of the time.

The public test holds 273 real broken formulas from the internet. One of the best big models fixes 230. Mine fixes 178, up from 165 on its first attempt, and the gap is closing.

Results I threw away

Before every training run, I write down the score it needs to hit for me to accept it. Once the run starts, that number cannot change. This keeps me from fooling myself.

One run scored 94 percent on my hardest test. That is the best score this project has ever seen. I threw it out anyway, because my written rule said two scores had to improve, and the second one got slightly worse. Several other runs died the same way. It stings every time. But when a score finally passes, it will actually mean something.

Real formulas, really audited

The next batch of training data comes from a famous public archive. It holds thousands of real spreadsheets from the Enron case. I ran a check across 5,000 of those workbooks. It pulled out 470,091 real formulas and turned them into 18,303 verified practice problems. Each one is a real break with a real fix.

Then my own audit failed the whole batch anyway. Three rare kinds of errors did not have enough examples. My rule says each kind needs at least 25, and I did not lower the bar after seeing the result. So no model has trained on this data yet. First the check has to pass.

Why bother

If a small model can match the big ones at one narrow job, you get something valuable. It would be cheap, fast, private, and fully mine. Each training run here costs less than a dollar, so I can afford to keep chasing that.

There is also a bigger reason. The habits on display here, the sealed tests, the frozen rules, the thrown-away wins, are the same habits I bring to every system I build for a client. This page does not claim David won. It shows how I will know if he ever does.

Questions about this system, or the problem it could solve for you?

Discuss your project