Blog Introducing Office Lunch App

A group lunch can generate a surprising amount of admin. Someone asks who is in, chases replies, finds the menu, collects orders, and remembers who paid. Office Lunch App puts that work in one place, even when several teams share the account.
Visit officelunch.app to see it in action.
Why we built it
We are a distributed team, but we still share lunch when people are in the office. The food was never the problem. Responses disappeared in chat, restaurant links were pasted twice, and the same few people kept asking, "Who's ordering today?" Now admins set the restaurants and rules once. Everyone else opts in, votes, and saves their usual orders.


Voting that ends with a decision
Most lunch decisions are long pauses in a chat. Office Lunch App gives everyone a quick voting view so the group can pick a restaurant in under a minute. Admins see the live results, can break ties, and lock in the winner without a follow-up thread.


Past winners stay in the history, so the same place does not sneak onto the list four weeks in a row.
Restaurants and saved orders, in one place
Each organization has a restaurant list with menu links, budget tiers, and a "Make Order" button. Employees can save a usual order for each restaurant instead of retyping it every week. Anyone can suggest a new place, and admins review those requests in the app instead of digging through messages.




On lunch day, the person placing the order sees everyone who opted in and each saved choice in one list. No stitching together direct messages at the last minute.
Separate settings for each team
If you manage more than one office or team, each can have its own restaurants, users, and settings. Administrators can oversee several organizations without mixing up their lunch plans.



Roles, opt-in defaults, and organization preferences live in settings, so each team can set its own routine.
API access for recurring tasks
We wanted to automate opt-ins from the start. If you always join on Tuesdays, or want a Slack workflow to opt you in on Friday, create an API token and update your status without opening the app.

A command-line tool for regular users and admins
On top of the API, we ship an official command-line tool, olm, published on npm
as @office-lunch/cli.
It lets you opt in, place an order, or run admin tasks without leaving the terminal. It also
works in shell aliases, cron jobs, and CI workflows.
Install it globally and configure it once with an API token from your settings:
npm install -g @office-lunch/cli
olm configure
olm status From there, the day-to-day commands read the way you'd expect:
olm opt-in # opt in for today
olm order set <restaurant-id> "Carnitas bowl, no beans"
olm vote up <restaurant-id>
olm suggest "Shake Shack" "https://shakeshack.com" Admins get a parallel set of commands for running the lunch itself, including viewing today's opted-in users, approving restaurant suggestions, and locking in the winning restaurant:
olm admin opt-ins --list not-responded
olm admin suggestions approve <id> --notes "Added it!"
olm admin lunch set <restaurant-id> The CLI uses the same API as the web app. A cron job can opt your team in every Tuesday, or a GitHub Action can post the day's selection to Slack. No one has to open the interface to keep the routine moving.
Less back-and-forth, more lunch
Office Lunch App is the tool we wanted for our own lunches. It handles the repetitive details without prescribing where or how a team eats. If lunch coordination takes more time than lunch, give it a try at officelunch.app.