Anticode Open builder

Turn a spreadsheet into an app with search and filters, and know it's a snapshot

Plenty of useful lists live in a spreadsheet nobody outside the office can read comfortably: a supplier directory, a list of local walks, a price list, a reading list. You can turn a spreadsheet into an app with search, filters and tidy cards by pasting its data into Anticode. The catch, and it matters: the app holds a copy of the data as it was, not a live link to the sheet.

Updated · By the Anticode team

When this is the right move

It fits a list that changes occasionally and is read far more often than it's edited. It doesn't fit a sheet that several people update daily and expect everyone else to see straight away. Ask yourself how often the data changes, and who needs to see the change:

Which spreadsheets suit a snapshot app
SpreadsheetChangesFit
Directory of local suppliers or clubsA few times a yearGood
Price list or product catalogueMonthlyGood, with a dated update routine
Event programmeBefore each eventGood
Team task tracker edited by five peopleHourlyPoor: keep the sheet, or use a shared tool
Stock levelsEvery salePoor: see the inventory tracker page

Prepare the sheet first

  • One header row, one record per row, no merged cells, no notes typed into random cells.
  • Consistent values in columns you'll filter by. "Kent", "kent" and "Kent " become three filters.
  • Separate fields for things people search on separately: town and postcode, not one address blob.
  • Remove what shouldn't be public. Private phone numbers, internal notes, cost prices. A published app is open to anyone with the link.
  • Check the size. Hundreds or a few thousand rows paste comfortably. Very large sheets should be trimmed to what readers need.

Export as CSV, or copy the cells and paste them straight into your request.

What the app should do with the rows

Search
One box that matches across the columns people actually search: name, town, tags.
Filters
Buttons or drop-downs built from a column's distinct values, with counts ("Walking groups (14)").
Cards or table
Cards on phones, a sortable table on wider screens, with the most important two or three fields visible.
Detail view
Tap a card for the full record, with email and phone as real links.
Shareable filters
The current search and filters kept in the address after the #, so someone can send a filtered list.
Favourites
Optional, saved in the reader's own browser.

A typical request: "Turn this spreadsheet into an app: our directory of 180 youth sports clubs. Search by name or town, filter by sport and age group, cards with name, sport, ages and town, and a detail view with contact links. 'Last updated' date at the top. Our colours are navy and yellow." Then paste the rows.

Keeping it up to date

The app runs in a sandbox with no network, so it can't read Google Sheets, Excel online or any other live source. The data is fixed into the app when it's built. Two ways to update it:

  1. Paste the new data as a change request, check a few records, and publish again. Version history keeps the previous versions if something goes wrong. Good for occasional updates.
  2. Keep the records in a CMS collection edited in the Anticode dashboard. The app reads the collection (read-only) when it's opened, so edits appear without a rebuild. Good when records change regularly, though you edit them in the dashboard rather than in your spreadsheet.

Either way, show a "Last updated" date, and decide who is responsible for updating it, or the app will quietly go stale.

Limits

  • No live sync with Google Sheets, Excel or Airtable in either direction.
  • Visitors can't edit the shared data. A visitor's own changes stay in their browser.
  • No private access. There's no password-protected version; leave out anything confidential.
  • Not a database. For a multi-user app on top of real data, the Next.js export gives a developer a starting point with Postgres, or use a tool built on your sheet.

Want people to add rows instead of read them? A form whose submissions go to Google Sheets through a connector is the usual pattern: see form submissions to Google Sheets. For a directory as a whole website, see directory website.

Questions people ask

Can I turn an Excel file with several tabs into one app?

Yes. Paste each tab and say how they relate, such as clubs on one tab and venues on another, joined by a venue name.

Will formulas in my sheet still work?

The app gets values, not your formulas. If it needs to calculate something, describe the calculation and check the results.

Can I hide some columns?

Yes. Better still, delete private columns before you paste, so they're never in the published app at all.