Blog Introducing Office Lunch App

Published on
Office Lunch App homepage

Group lunch ordering is the kind of small, daily problem that quietly eats hours every week. Someone has to ask who's in, chase replies, juggle a menu link in a chat thread, collect orders, and remember who paid. Office Lunch App is our take on a tool that makes that whole rhythm feel effortless, even when you're coordinating across multiple teams.

Visit officelunch.app to see it in action.

Why we built it

We're a distributed team that still loves a good shared lunch when people are in the office. What kept tripping us up wasn't the food, it was the coordination: opt-ins lost in chat, restaurant links pasted in twice, and the same handful of people always doing the wheel of "who's ordering today?" Office Lunch App turns that into a calm, predictable flow. Admins set up restaurants and rules once, and everyone else just opts in, votes, and saves their favorite orders.

Office Lunch App user dashboard
Office Lunch App pricing page

Voting that actually picks a winner

Most lunch decisions are not really decisions, they're 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.

Cast your vote for lunch
Admin voting results and winner selection

Past winners are tracked too, so the same place doesn't sneak onto the list four weeks in a row.

Restaurants and saved orders, in one place

Each organization gets a restaurant list with menu links, budget tiers, and a one-click "Make Order" button. Employees can save their usual order at each restaurant so they're not retyping a sandwich name three times a week. Anyone can suggest a new spot, and admins review requests on a dedicated screen instead of digging through messages.

Restaurant management list
Restaurant requests review screen
Saved order preferences across restaurants
Admin order management for the day's restaurant

On lunch day, whoever is placing the order pulls up the order management view, sees who opted in with their saved choice, and works through a single consolidated list instead of stitching DMs together.

Built for multiple teams and orgs

Office Lunch App is multi-tenant from the ground up. If you run more than one office, agency client, or team, you can manage them as separate organizations, each with its own restaurants, users, and settings, but with shared admin oversight where it makes sense.

Manage multiple organizations
Manage team members and roles
Organization settings

Roles, opt-in defaults, and per-org preferences all live in settings, so each team can run lunch the way they actually want to.

Tokenized API access for automation

One thing we wanted from day one was the ability to automate opt-ins. If you're always in on Tuesdays, or you want a Slack workflow to flip you in for Friday, Office Lunch App has tokenized API access for exactly that. Generate a token, hit the endpoint, and your status updates without anyone touching the UI.

API tokens for automation

A CLI for the terminal-inclined

On top of the API, we ship an official command-line tool, olm, published on npm as @office-lunch/cli. It's the fastest way to opt in, place an order, or run admin tasks without leaving your terminal, and it slots cleanly into 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>

Because everything runs through the same tokenized API, the CLI is also a clean building block for automation. A short script in a cron job can opt your team in every Tuesday, or a GitHub Action can post the day's selection to Slack. Either way, no one has to babysit the UI.

Less back-and-forth, more lunch

Office Lunch App is the tool we wanted ourselves: opinionated enough to remove the busywork, flexible enough to fit how different teams already eat together. If your office lunch coordination feels heavier than it should, give it a try at officelunch.app.

Have a product idea like this one? Let's talk through what it should do.