Run the whole program from an account in your name.
The call for proposals, the review, the sponsor sessions, the chase for bios and slides, the schedule your website embeds. MIT-licensed. It deploys to your Cloudflare account, and the only bill is Cloudflare's.
No per-speaker pricing. No seats, no quote, no sales call, and no data you cannot export.

Leave in three steps.
Deploying is two commands. What costs you is the part that does not come across.
Nobody has publicly moved a live conference onto this yet. The import is built and tested; the first migration off a commercial tool is still ahead of us. If it is yours, the issue tracker is where it goes.
Deploy it into your own account
A D1 database, a KV namespace, an R2 bucket and three queues, then two commands. The hostname is yours, and the app only ever learns it at deploy time.
npm run deploy:migrate npm run deployBring last year's people in as a CSV
Columns headed Speaker Name, E-mail and Employer map themselves, and you see what will be created, updated and rejected before a row is written. People and the roster arrive that way. Last year's sessions, scores and decisions do not arrive at all.
Open the call
Build the form, publish it, invite the speakers you already know. There is no password for a speaker to set: they arrive on a link the event emailed them.
The six questions you cannot answer from a spreadsheet.
Every one is somebody waiting on you. Podium answers all six from one record of the program.
Who still hasn't sent a bio?
One board of what everyone still owes you, per speaker and per sponsor. Reminders go out without you.
Two reviewers work with the submitter.
A declared conflict refuses the score. Nothing is flagged for someone to catch later.
How many sessions does this sponsor actually get?
Used against bought, counted from the contract, on the same screen as the deal.
Two talks, one room, same slot.
The agenda catches it as you drop the card, not an attendee on the day.
The website schedule is two versions behind.
Publish a snapshot your site embeds. Roll it back in one click.
Every speaker emails me to ask where their talk stands.
They sign in and see status, next action, deadline, and what you still need.
A codebase a model can read, and change.
The rules live in a document written before the code, and the code is held to it. Ask an agent for behaviour the document does not cover and it stops instead of inventing it. When the two drift apart, the build fails.
Your own agent drives Podium through the management API rather than a browser. A refusal comes back typed and names the reason, not 400 Bad Request. There is no MCP server and no OpenAPI document; the API was built for a machine to call, and the specification was written for one to read.
MIT-licensed, so the fork is yours. It inherits the document and the check that fails when the code disagrees with it. A change you make is a merge you own, and nobody has run that upgrade in public yet.
The first-pass AI review is built and off. Switch it on and its scores sit beside your reviewers' rather than inside them. The evaluator that ships calls no external model.
Three of them, on the running product.
Photographs of Podium against its own seeded conference. The other three are on the features page.
Stop chasing people for bios.
Say once what an accepted speaker owes you: headshot, bio, slides, code of conduct, AV requirements. Podium tracks every one, for sessions and sponsors alike, and sends the reminders itself.
Mark a task blocking and it keeps that session off the public schedule. You find out now, not on the morning of the event.

Review that holds up when someone asks.
Reviewers get a queue, a rubric and a progress bar. Not a shared sheet with a hundred rows. A reviewer who submitted, is credited on, or has declared a conflict with a proposal cannot score it — the write is refused, not logged for someone to notice.
Run it open, single-blind or double-blind. Every score, comment and decision is recorded, so "why was this rejected" has an answer a year later.

Sponsor sessions are not an afterthought.
A sponsor session is paid for, not selected. It still needs content review, onboarding and a slot on the schedule. Most CFP tools model the call for proposals and leave this half in email.
A package is a countable set of entitlements: two session slots and a logo placement, one spent, two still open. The sponsor sees the same count you do.

The full tour: all six screens, and the parts nobody demos →
Keep your email provider, your spreadsheet and your site.
Podium sends through Resend or SendGrid, posts intoSlack, and mirrors the program two ways into Airtable. The core imports no provider's SDK, so swapping one for another is an install and a default.
Mail you can audit
Templates, quiet hours, batching and suppression stay on Podium's side; the provider only puts the message on the wire. "Did they get the acceptance email?" is a query, not a guess.
Two-way sync that loses no edit
An edit in the linked table applies only against the version Podium last pushed. A losing edit is not discarded; it goes into a conflict queue showing both values.
Adapters you can install today
- Resend
- SendGrid
- Slack
- Airtable
- Cloudflare Workers
Six things that are true before you look at a single screen.
None of these is a feature. They are consequences of how it is built.
Agents built it, and your agent can change it
The rules were written down before the code, and they are still the specification the code answers to. An agent that tries to build outside them stops. A check in the build fails when the code and the document disagree. Fork it and your own agent inherits the same guardrails.
164written rules, checked against the code in CI
It deploys into an account in your name
Your Cloudflare account, your database, your bucket, your speakers' data. Nobody here can read it, because nobody here has it. Everything comes back out as CSV or over API keys you issue, and a key for your marketing site cannot read a review or a speaker's email.
22API scopes, personal data its own
Read every line, and pay for none of it
MIT-licensed and on GitHub. No seats, no per-speaker charge, no activation code per conference, no edition that costs more. There is no company here to reprice it once you depend on it, and the licence on the version you hold cannot be revoked.
MITno tiers, no quote, no sales call
One record runs the whole year
The call for proposals, review, decisions, speaker onboarding, sponsor entitlements, the agenda and the schedule your website embeds. Not six tools that each own a fifth of the year and disagree about who is speaking. Attendee ticketing and badging are the part it deliberately leaves alone.
6screens covering the year end to end
Sponsor slots are counted, not chased
A package is a countable set of rights — two session slots, a logo placement — and a sponsor session spends one. Used against bought, on the same screen as the deal. A submission that would overspend a package is refused, and cutting a package below what the sponsor has already spent is refused too.
Every change leaves on a signed webhook
A proposal accepted, a task completed, a schedule published: each one goes out signed, to whatever you point it at. Retries back off from a minute to a day, and twenty failures in a row pause the hook. When your endpoint is back, replay that event type across the window it missed.
136named events you can subscribe to
It is not the right tool for every conference.
Podium does no attendee registration, no badging and no ticketing, and there is no hosted tier, so somebody deploys it. If that rules it out, the switching page names what to buy instead.
| Term | Podium |
|---|---|
| Licence | MIT, $0, every event you run |
| Hosting | Your Cloudflare account, from $5 a month |
| Your data | Your D1 database, exportable as CSV |
| Attendee ticketing | Not offered |
| Hosted tier | Not offered — you deploy it |
