I built an AI feature into Cells, a spreadsheet app I have been building with Next.js 16, React 19, Convex, and HyperFormula. This is a writeup of what the feature solves, the technical choices behind it, what broke on first contact with a real user (me), and what I would do differently.

What the app solves, and why this feature

Cells is a real-time spreadsheet: per-user workbooks behind Better Auth, sparse cell storage in Convex, formulas evaluated client-side by HyperFormula, autosave with undo/redo. It already worked for people who know spreadsheets. The problem is everyone else.

Formula syntax is the single biggest barrier to spreadsheet use. Users know exactly what they want, "average of sales where the region is West", but not that this is =AVERAGEIF(A2:A100,"West",B2:B100). Every other feature in the app (formatting, copy/paste, undo) helps people who already know the tool. Nothing helped the ones who do not.

So the feature is natural language to formula. Select a cell, click a sparkle button next to the formula bar, describe the formula in plain English. The model returns a formula, the app validates it, shows a computed preview, and inserts it only when you confirm. A second mode, Ask, answers plain-text questions about the visible data. I chose this over flashier options (AI fill, chat sidebars) because the output is a single string that the formula engine can verify before it ever touches the sheet. Smallest surface, most checkable output.