Show HN: Recalc – Spreadsheet where cells can be Claude Code or Codex terminals

Posted by sshah03 1 day ago

Counter24Comment5OpenOriginal

I built this because it was useful for me when building evals/benchmarks, and I decided to put it up for free for others. The goal was quite simple, make it easy to use a lead claude code / codex session in a panel on the side, while allowing every cell to also be a terminal session running claude/codex, and make it possible to continue a session in an actual terminal window if I needed to. They can all talk to each other using cells on the grid, named cells, or the MCP server that effectively glues the app together. I also found it useful for managing context within related but disparate sessions.

My real benchmark runs with recalc are internal to my startup, so to demonstrate some of the functionality I built a small FDA Bench with the tool (obtain and put together dossier's of FDA submissions, and see if a harnessed Claude could have accurately predicted pass/fail): https://github.com/sshah03/recalc#a-model-benchmark

It is still very much a work in progress, but given the versatility of spreadsheet apps, wanted to see how others see themselves using it and what doesn't exist that would be useful to them. Currently runs locally on macs, linux as well but that's less tested, and Windows hasn't been tested at all so that'll come in the future.

Comments

Comment by quiet_ledger44 23 minutes ago

[flagged]

Comment by tuoxie2004 1 hour ago

[flagged]

Comment by giannischatz 4 hours ago

Interesting approach. One thing that always bites spreadsheet-centric tools: cell references survive insertion/deletion in weird ways (formulas don't, LLM "cell pointers" definitely won't).

If a cell's agent output lives at A3 and someone inserts a row above, is the agent now watching A4? The naive answer is yes, but then re-running the agent might produce different output than what's displayed in the referenced range elsewhere. Spreadsheet users are very used to this working magically for formulas — if agents break the invariant, it'll feel broken even when nothing technically is.

How are you handling that?

Comment by sshah03 2 hours ago

I punt on this a little bit, in that to make it easier I don't allow actions that would cause issues with this when an agent is still running (insert, delete, sort rows etc...) because it's tough to handle for mid-execution.

However, in the other cases, references get rewritten the same way everywhere (whether it's a formula, or an agent's watch list), so {A3} becomes {A4} etc... everywhere with the same process. Also in that case, it doesn't get marked for needing to be "re-run" because it checks value itself is unchanged, even if the cell being referred to changed.

I've tested it quite a bit. Given all of the moving parts in a spreadsheet app there's still the possibility that given enough usage someone encounters some combination of moves where this fails, but I think if that does happen it should be a fixable bug.

I also provide a backup solution with "Named cells", basically off sheet cells that can be used for constants and such and referenced by name instead of by cell, if needed.

Comment by compiler-guy 1 hour ago

I think you could use named cells to fix the insert/delete row problem in general.

The named cell can have a trivial `=SheetName!a3`. Those will be automatically updated with insert and delete just like any other formula.

They can be referenced directly for reading, and for writing you can do a quick parse and find the original.

Comment by sshah03 49 minutes ago

That's a good point. I can keep it separate from user named cells, but make sure everything has a unique identifier I track. Even a million cell workbook would really only add about 50mb of memory, so should be doable.

I'll play around with this, thanks for the idea!

Comment by loveTech 1 day ago

[dead]

Comment by sshah03 1 day ago

Thanks! I do have some videos in the repo demonstrating what it can do; however, if from your experience building fluxcut you have some suggestions on what would make them more useful to people I'm happy to take them!

Comment by loveTech 16 hours ago

[dead]

Comment by loveTech 16 hours ago

[dead]

Comment by loveTech 16 hours ago

[dead]