Launching today

AwaitIO
Write a TypeScript function, get an admin screen
9 followers
Write a TypeScript function, get an admin screen
9 followers
Turn async TypeScript functions into internal tools. Every await io.input shows a form in the browser and waits for the answer. Build a secure, self-hosted back office in minutes with zero frontend code and zero telemetry. Free for up to 3 users.








Free Options
Launch Team / Built With

Framer AI AgentsDesign and publish professional sites with AI
Promoted



Hi Product Hunt, I'm Petr Homoky, the maker of AwaitIO.
I've been building systems and products for 15 years, and every one of them ends the same way: it needs a back office. Someone has to refund an order, extend a trial, fix a user's account.
That's why I built AwaitIO: to get your back office up and running in under 5 minutes. The UI is already done, a handful of components are ready to use, it runs on your own infrastructure, and you can add your own components as you go.
Backstory
For years I wrote my own back office solutions. Then I found Interval, and it won me over: you wrote a tool like any API handler, except it could await input from a person. Ask, await the answer, carry on. I had a back office running in no time, and every new action was a few lines. In 2023 Interval shut down.
I'd been in touch with the Interval team, gave them a lot of feedback and built my own layer on top, with Next.js-style routing and typed redirects between actions. I still had a list of things I wanted, but I didn't want to fork their repo and maintain it myself. So one day, on my way home from the office, I tried a proof of concept: everything runs in one instance, and you can replace any component with your own. It worked, and it became AwaitIO.
It isn't a fork. I wrote it from the ground up. But the core of Interval, how you call it and what it does, felt brilliant and flawless to me back then, and it still does today. So I took it as my inspiration, and that made moving my existing back offices from Interval to AwaitIO dramatically faster.
It runs on your own server and needs no database: install the package, initialize it, start your server. You own it, you run it.
How it works
AwaitIO is for TypeScript, and it's a Node app of its own. Create an AwaitIO instance, list your users, write at least one action and call listen(), just like you'd start an Express server. Every action is a plain async function. Have a look at the quickstart at docs.awaitio.com/quickstart to see how short that is.
Write a function. Every await io.input.{text,number,email}() shows a form in the browser and waits for the answer.
Use your own code. Call your database, ORM and services directly. Nothing to wire up.
Run it on your server. One Node process serves the UI and runs your actions. Nothing is hosted by us.
Use ready components, or your own. 20+ inputs, selects, tables, displays and a confirm. Missing one? It's one React file.
This is a whole refund screen:
And this is what your team sees when they use it:
They open your back office and click Refund order.
A page asks for the order ID. They type it and click Continue.
Your function loads the order from your database. A loader shows for a moment while it does.
The next page asks why to refund that exact amount, say $120.00. They write the reason and click Continue.
The refund is saved under their email, and they see the result: Refunded $120.00. Done.
That's the simplest example. You can put actions into folders, which become the navigation, and give a folder its own page with its own layout. One step can also ask for several things at once, say a plan and a note on the same page.
Demo
If you want to see it in action, log in to the back office of a made-up store at demo.awaitio.com. It starts as simple as the example above and grows from there: actions split into folders and subpages, and more and more complex actions. Click through whatever you like.
Link: https://demo.awaitio.com
Email: demo@awaitio.com
Password: demo
Pricing
I didn't want AwaitIO to be a SaaS, where your back office depends on me to manage your users or keep a service running. So it's source-available: the code is public, and it runs on your own servers.
It's built so a small team never hits a limit: every feature, any number of actions. The only thing that counts is how many people log in to your back office. Up to 3 users it's free, commercial use included. Larger teams pay one flat monthly price for the same software. No telemetry.
What's next
Next on the roadmap: an MCP server, so AI agents work only through actions you wrote and reviewed.
Back to today, though. What's missing for you to try AwaitIO, on your current back office or the next one you build?