An HTML report, or Markdown, which becomes a readable page.
spry publish q3-report.html
spry publish team-notes.mdSPRYLOOM PAGES
A report, a document, or a checklist your team fills in, at a private address. Pages can save data too: every tick and sign-off is kept, stamped with who made it. No server, no database to set up, and only the people you invite can open it.
$ spry publish ./month-end-close
✓Uploaded
●Live in 0:03
✓a page: no server, no database
✓saves data in ticks (shared)
close.acme.spryloom.app
THREE WAYS TO PUBLISH
Each one ends the same way: a private link your coworkers sign in to. Publish again and the link stays the same.
An HTML report, or Markdown, which becomes a readable page.
spry publish q3-report.html
spry publish team-notes.mdAn index.html with its images, CSS and scripts beside it.
spry publish ./reportIn Claude Code, Codex or Cursor, with Spryloom added.
Publish this report for my team.LET IT SAVE
A page can keep lists of records: a checklist, a sign-off, a sign-up sheet. Here is a finance team’s month-end close, from the first sentence to the app it grows into.
“Make a checklist for our month-end close: the 23 steps, who owns each, and a tick when it’s done.”
Your agent writes it, in Claude Code, Codex or Cursor. It decides this is a page that saves data, and tells you why.
Your coding agent
Make a checklist for our month-end close: the 23 steps, who owns each, and a tick when it’s done.
✓Built Month-end close: a page that saves datapublish
A shared list of ticks, with no server. If you later want reminder emails, it becomes an app.
It’s live in seconds, behind your team’s sign-in.
Spryloom keeps its lists for it. No database to set up, no build, nothing to run. Only the people you invite can open it.
close.acme.spryloom.app● Live
ticksshared with everyone
noteseach person’s own
Invitedthe finance team, 5 people
The finance team opens it and ticks off their steps.
Everyone sees the same close, from a link, on a laptop or a phone. No spreadsheet to email round, and nothing to install.
Bank reconciliationEmily · Mon 10:12Done
Payroll accrualSam · Mon 15:40Done
Revenue recognitionAlexOpen
Board pack numbersMeganOpen
Nobody types their name. Spryloom already knows.
Every tick is stamped with who saved it and when, from their sign-in. When the auditor asks who did the bank reconciliation, the answer is already there.
Bank reconciliationDone
emily@acme.com
saved Mon 10:12 · from Emily’s sign-inOnly Emily, or the page’s owner, can change this.
“What’s still open for the close?”
Your agent can read the page’s records as you, and add your own. It sees exactly what you’d see in the page.
Your coding agent
What’s still open for the close?
✓Read ticks on Month-end closepage_data
2 of 23 steps are open: revenue recognition (Alex) and the board pack numbers (Megan).
“On day three, email whoever still has a step open.”
That needs a schedule, so it becomes an app, with a server, its own database and a morning reminder. Same address, same people, every record moved in.
Your coding agent
On day three of the close, email whoever still has a step open.
✓Month-end close is now an apppublish
page_ticksrecords moved in
Close reminderdaily · 9:00
Same address. Nobody signs in again.
HOW SAVING WORKS
Ask for a tool that keeps a list, and your agent chooses a page that saves data when that is all it needs, and tells you why. Here is what it does for you.
With Spryloom added, your agent knows how. It declares the lists and writes the page to use them; you write none of this yourself.
Make a checklist for our month-end close, and publish it for the finance team.In spryloom.yaml. Shared: everyone sees every record. Own: each person sees theirs, and the page’s owner sees all.
runtime:
frontend: static
backend: none
data:
lists:
ticks: shared
notes: ownIts scripts call /~data on the page’s own address. Spryloom adds who saved each record, and when.
await fetch('/~data/ticks', {
method: 'POST',
headers: { 'Content-Type': 'application/json',
'Spryloom-Request': 'data' },
body: JSON.stringify({ step: 'Bank reconciliation' }),
});Every record is stamped with who saved it and when, from their sign-in, and only they or the page’s owner can change it. spry data close shows a page’s lists; spry data export close saves every record as JSON and CSV. Saving data from a page →
WHAT PEOPLE MAKE
Each starts with one sentence to your agent. Lists are shared with everyone who can open the page, or each person’s own. How saving works →
The finance team ticks off the close, step by step. Each tick shows who made it and when, ready for the auditor.
“A checklist for our month-end close.”Design, QA and support each sign off on the release. The page shows who signed, and when, from their sign-in.
“A sign-off page for this release: design, QA, support.”Every employee confirms they read the new policy. They see only their own confirmation; HR sees who hasn’t.
“A page where everyone confirms they read the new policy.”Each new starter ticks off their own first-week tasks and sees only theirs. The page’s owner sees everyone’s progress.
“A first-week checklist each new hire works through.”Reminders, email or rules on a server: your agent adds one, and the next publish makes it an app with every record moved in.
“On day three, email whoever still has a step open.”WHAT YOU GET
The same sign-in that protects apps on Spryloom protects pages. Every version is kept, so you can roll back.
Only the people you invite can open it, after they sign in by email.
There is no server to start. It opens the moment someone clicks the link.
It can save lists of records, and becomes an app at the same address when it needs a server.
PAGE OR APP?
You don’t choose up front. A page can keep lists of records, like a checklist or a sign-up sheet. When it needs a server, your agent adds one and the next publish makes it an app at the same address, with every record moved into its database.
| Question | A page | A page that saves data | An app |
|---|---|---|---|
| What it is | Files: HTML, CSS, scripts, images | The same files, plus lists Spryloom keeps for it | A running program with a server |
| Good for | Reports, documents, fixed dashboards, prototypes | Checklists, sign-offs, sign-up sheets, a month-end close | Approvals, reminders, anything with rules on a server |
| Publishes in | About 3 seconds | About 3 seconds | A minute or two, while it builds |
| Saves data | No | Lists of records, each stamped with who saved it | Yes, in its own database |
| Scheduled jobs and email | No | No | Yes |
| Counts toward your apps | No | No | Yes |
| Who can open it | Only people you invite | Only people you invite | Only people you invite |
| Versions and rollback | Yes | Yes, for its files | Yes |
A page can load chart and style libraries from cdnjs, jsDelivr and unpkg, and fonts from Google Fonts. Its scripts can save to its own lists and can’t send data anywhere else. Saving data from a page →
FREE DURING THE BETA
Install spry, sign in with your email, and publish. Nobody has to approve you.