Skip to content
build vs buy data platform
Trends Restaurant Data Intelligence Platform Product

Restaurant Data Platform: Build vs. Buy (and a Bill of Materials)

Eric Lehto
Eric Lehto

Somewhere around location fifteen, a version of this conversation happens in every growing restaurant company. Someone on the leadership team, often the CFO, sometimes a newly hired head of IT, looks at the monthly software bills and says it out loud: "Why don't we just build this ourselves?"

It's a fair question. AI writes code, and Snowflake is a credit card away. Every POS vendor publishes an API. Your website admin has some free time. On a whiteboard, a custom restaurant data platform looks like a warehouse, some pipelines, and a dashboard tool. How hard could it be?

We're in an unusual position to answer that, because CONVX builds custom Snowflake data platforms for a living. Our company heritage is in exactly this kind of work for the restaurant and hospitality industry as well as the public sector, where custom is often the only option. If you want us to build you a bespoke restaurant data platform from the ground up, we can do it, and we'd do it well.

We'll also tell you that most restaurant companies shouldn't.

 

What "build" actually means

The whiteboard version of a build is a warehouse and some dashboards. The real bill of materials is longer, and the items further down the list are the expensive ones.

Integration pipelines. Your POS, labor system, inventory tool, and review platforms each need a connector. Each connector needs authentication handling, error recovery, schema-change monitoring, and someone who notices when a vendor changes their API on a Tuesday with zero notice. This is not a one-time cost. Toast alone may be four data streams (orders, menu, labor, dining options), and every one of them will change under you eventually.

A semantic model. Raw data doesn't know what "lunch rush" means at your concept, when your day parts start, which stores belong to which region, or how you calculate prime cost. Somebody has to encode all of that, keep it consistent across every report, and update it every time you open a store, change a menu, or reorganize a region. This is the layer that makes answers right, and it's continuous work to maintain it.

Machine learning is its own category, and it's several projects. Anomaly detection needs to understand day-of-week patterns, seasonality, weather, and your concept type. You'll want forecasting trained on your own history rather than industry averages, with a retraining pipeline behind it. Harder than either is explaining why a number moved: when sales drop four points across eleven stores, something has to separate traffic from check size and weather from a promotion that ended. A lot of the AI work also happens during ingest, where sentiment scoring is only part of it. Menu items, job codes, and review themes all need classifying, and every one of those calls is one a manager will eventually disagree with. Each comes with its own long-term maintenance commitment. Google's engineers [link: https://research.google/pubs/hidden-technical-debt-in-machine-learning-systems/] made this point about their own systems a decade ago: the model is a small fraction of what you end up running, and the rest is where the cost lives. AI writing the code doesn't change that. It makes the small fraction cheaper and the rest more abundant.

A security model. A regional manager should see their region and a GM just their location. Customer names and contact details should only reach the people entitled to see them. Role-based access is easy at the dashboard layer, but hard at the data layer, where it is needed for AI-generated queries and for MCP, the standard that lets outside AI tools request your data directly.

The part that comes after launch is where homegrown projects most underestimate the cost. Pipelines break. Warehouses need tuning. Tech advances while your Python libraries get deprecated. The person who built it takes a job somewhere else, and the documentation they left behind turns out to be a Slack thread. Ongoing maintenance runs to half or more of a custom platform's lifetime labor cost. A 2026 Fivetran benchmark [link: https://www.fivetran.com/blog/the-enterprise-data-infrastructure-benchmark-report-2026] of 500 data and technology leaders put the ongoing share at 53 percent of engineering time spent maintaining pipelines rather than building anything new.

 

Operational AI Build: Bill of Materials

Here is the concrete version: the itemized parts list your tech team would need to source, license, build, and maintain to stand up a credible restaurant data platform. It’s not everything we do in OpSage. Print it, hand it to whoever proposed the build, and ask them to put an owner's name next to every line.

1. Core data infrastructure

  • Cloud data warehouse account and compute (Snowflake or equivalent), with dev, staging, and production environments
  • Object storage for raw data landing and archives
  • Pipeline orchestration (Airflow, Dagster, or similar) plus the infrastructure it runs on
  • ELT tooling, either licensed (Fivetran-class, priced per row moved) or built and owned in-house
  • Data observability and pipeline monitoring, so a silent sync failure doesn't feed your operators a week of wrong numbers

2. Integration connectors

  • POS connector per vendor and per data stream (Toast alone means orders, menu, labor, and dining options as separate feeds)
  • Labor and scheduling system connector, including jurisdiction-aware overtime logic
  • Inventory and purchasing connector (Marketman, SynergySuite, Crunchtime, or whatever your operators run)
  • Review platform ingestion across Google, Yelp, and TripAdvisor, each with its own API terms and rate limits
  • Weather and local events feed for forecasting and traffic context
  • Credential vaulting, token refresh handling, and retry logic for every one of the above
  • Schema-change monitoring and a standing process for responding when a vendor updates their API

3. Data modeling and the semantic layer

  • Transformation framework (dbt or similar) with tested, version-controlled models
  • Canonical metric definitions: prime cost, food cost percentage, labor percentage, sales per labor hour, average check, and every other number two departments currently calculate differently
  • Organizational hierarchy modeling: brand, region, location, and the franchise relationships between them
  • Day-part definitions and holiday calendars specific to your concepts and markets
  • Master data management: normalizing the same burger that three stores entered three different ways, deduplicating guest records, and standardizing job codes
  • Automated data quality tests and reconciliation against source systems

4. Analytics, ML, and AI

  • BI tool licensing (Looker, Tableau, or Power BI class), typically priced per seat, which reintroduces the per-user math you were trying to escape
  • Anomaly detection models that account for day-of-week, seasonality, weather, and holidays, plus alert thresholds calibrated per metric
  • Sales forecasting trained on your own history, by location and by day part, with a retraining pipeline as new data arrives
  • Sentiment and NLP models for review scoring and theming
  • Classification models running during ingest for categorizing menu items and job codes, plus a correction path for when the model gets one wrong
  • If you want conversational access: LLM API spend, a query-generation layer, guardrails against bad SQL, and an evaluation process to keep answers trustworthy

5. Security, identity, and compliance

  • SSO and identity provider integration with MFA
  • Role-based access control enforced at the data layer, with row-level scoping so a store manager sees their store and nothing else
  • Sensitivity tiers separating operational data from financials, payroll detail, vendor pricing, and customer PII
  • Audit logging of who did what, retained and searchable
  • Secrets management, encryption at rest and in transit, and data retention policies

6. Delivery and user experience

  • A web application or portal your GMs will open, which is as much a product design problem as an engineering one
  • Email and SMS delivery infrastructure for alerts and scheduled reports
  • Report generation and branded PDF rendering
  • Alert routing and per-user notification preferences
  • Mobile-friendly access for the people running shifts from their phones, not sitting at desks

7. People

  • Data engineer (pipelines, infrastructure, integrations)
  • Analytics engineer (modeling, semantic layer, BI)
  • Fractional platform and security engineering
  • Fractional full-stack developer if hosting a web portal
  • A project manager and/or product owner who translates operator needs into requirements, decides what to build, and manages the work
  • An on-call rotation, because pipelines break on Sunday night, and your executives need their numbers Monday morning
  • Backups for each role, because staff take vacations

8. The ongoing tab

  • Warehouse compute and storage that grow with every location and every month of history
  • Tool subscriptions across the entire stack above, renewing annually whether you use them well or not
  • Connector repair every time a vendor changes an API
  • Onboarding work for every new store, brand, and acquisition
  • Documentation and knowledge transfer, so the platform survives its original builders

Our proposition: Every item on this list is already inside an OpSage subscription, maintained by CONVX, at a per-location price. The exception is the BI tool licensing in section 4, which disappears entirely, because OpSage has no per-user fees. That bill of materials becomes ours to manage.

 

The real math

Put conservative numbers on it. A minimal build team is one data engineer and one analytics engineer, with a fraction of a security or platform engineer's time (ignoring the developer, PM, and product roles needed for full build-out). In the current market that's roughly $350,000 to $500,000 a year in fully loaded cost before you've written a line of ML. A realistic timeline from kickoff to a platform your operators trust is 12 to 18 months. Warehouse and tooling costs are real but almost a rounding error next to the people.

So a 50-location group is plausibly looking at $500,000 or more in year one to reach roughly where a purpose-built platform starts on day one, and then a permanent engineering line item to stay there.

Compare that to buying. OpSage's Growth tier, the plan built for multi-unit and multi-concept operators, runs $59 per location per month on an annual contract. For that same 50-location group, that's about $35,000 a year, with no per-user fees, unlimited application users, and unlimited email and SMS recipients for alerts and reports. The build-versus-buy gap is more than an order of magnitude, and that's before you count the opportunity cost of what your team didn't do while they were babysitting pipelines.

There's also a cost that never shows up on the spreadsheet: time to answers. A build delivers its first trustworthy insight in a year, maybe more. OpSage customers are asking AI Chat real questions about reviews and sentiment the day they sign up, and sales questions within the week. The cross-domain analysis sharpens as each integration comes online.

 

You're not choosing between build and buy. You're choosing what to maintain.

Custom software can sometimes match packaged software on day one. The harder question is who owns the maintenance burden for the next decade.

When you build, you own it all: every API change from every vendor, plus warehouse migrations, security audits, and each new hire's ramp-up on a codebase only two people understand. When you buy OpSage, CONVX owns the integrations, the warehouse, the semantic model, and the security boundary, and every release makes the platform smarter without any development from your team. In the past few months alone, OpSage released a Slack app, custom report metrics, branded PDF reporting, and an MCP Intelligence Layer that makes Claude, ChatGPT, and Gemini restaurant-aware, so the AI your team already uses can answer questions against your own operations. A build gets none of that unless you pay for it again.

The vendor test: Ask any platform vendor whether they could build you a custom alternative to their own product. Most can't, so "buy" is the only answer they're able to give you. We can, and we still say buy. That should tell you something.

 

When building actually makes sense

There are legitimate build cases, so let’s go there for a minute.

Building can be right when your data problem is unlike anyone else's: a unique hotel or entertainment concept where the shape of the data is entirely different, gaming industry regulatory or sovereignty requirements that dictate exactly where every byte lives, or a business model where the data platform is the product. It can also make sense in very large customers already employing a large data engineering organization, where the platform is one project among many.

That describes almost no restaurant company. Restaurant data problems are hard, but they're hard in a shared way. Every multi-unit operator fights the same fragmentation: sales in the POS, hours in the labor system, cost in the inventory tool, and sentiment scattered across three review sites. A shared problem is precisely the problem a product should solve, because the product's R&D gets amortized across hundreds of operators instead of falling entirely on your P&L.

And if you're one of the rare cases where custom is the answer, talk to us anyway. Managed Snowflake, Microsoft SQL, and other data platforms are where CONVX comes from. We built them for the public sector, retail, entertainment, and restaurants, and our professional services team still does that work for organizations whose requirements demand it. We'll scope it to your needs using our OpSage experience, and if that scope says the product is the better fit, we'll say that too.

 

A quick gut-check before you decide

Run your situation through five questions:

  1. Is your data problem unique, or just painful? Painful is universal. Unique is rare. Only unique justifies custom.
  2. Who maintains it in year three? If the answer involves a person who might leave, that's your risk profile.
  3. What's the fully loaded cost, including the long-term maintenance commitment? Count salaries, not just cloud bills, and count the years after launch.
  4. How long can your operators wait for answers? A year of building is a year of decisions made on gut feel.
  5. Does the buy option meet your security bar? For OpSage that means row-level access enforced at the data layer, a five-layer security model, and a SOC 2 Type 2-certified identity provider. Hold any build plan to the same standard and watch the estimate grow.

The bottom line

If your requirements demand a custom Snowflake platform, CONVX can build it. That's the kind of work our company started with. For nearly every restaurant company, though, the better answer is the product: OpSage gives you the same enterprise-grade foundation, delivered as a fully managed cloud service, live in a day instead of a year, at per-location pricing well below what a build would cost you. Spend the difference on your restaurants instead.

Want to run your own numbers against your own locations? Book a demo, or start with the pricing page and the FAQ if you've got questions before that call.

 

Share this post