We Built the Whole Stack, and It's Only the Beginning

March 30, 2026

Most booking platforms in the tours and activities space were built a decade ago. They’ve bolted on features over the years, acquired competitors, raised prices, and settled into the comfortable position of being “good enough” for an industry that doesn’t have many options.

We’re building Freebo to change that. And we’re further along than anyone expects.

The architecture isn’t a prototype

This isn’t a landing page with a waitlist. Freebo has a fully operational booking engine with real-time availability, intelligent asset assignment, immutable pricing, Stripe Connect payment processing, and a double-entry accounting ledger running underneath everything.

Let me say that again: double-entry accounting. Not a transactions table with a running balance. An actual ledger with debits, credits, and journal entries for every financial event. Every dollar that moves through Freebo — charges, payments, refunds, disputes, payouts, revenue recognition — gets recorded as a proper accounting entry. The ledger is the single source of truth for all financial data. Not the database. Not Stripe. The ledger.

Most platforms in this space don’t have this. They store payment records in a flat table and calculate balances by summing rows. That works until it doesn’t — until a refund gets recorded twice, a webhook fires out of order, or a dispute resolution doesn’t propagate. Then the numbers stop adding up and nobody knows why.

We don’t have that problem. We can’t. The architecture won’t allow it.

Pricing that actually works

I wrote about this before — pricing in this industry is deceptively complex. Per-person, flat-rate, tiered, time-of-day, seasonal, group-size-dependent. Add-ons, custom charges, promo codes, platform fees, tax calculations across taxable and non-taxable line items.

Freebo handles all of it with an immutable quote versioning system. Every time the price changes — a promo gets applied, an add-on gets added, the party size shifts — a new quote version is created. The old one is never modified. You can trace the full pricing history of any reservation back to the moment it was created.

This isn’t just good engineering. It’s an audit trail. Operators can see exactly what changed, when, and why. Try getting that from a platform that overwrites the price field in place.

Multi-location is a disaster everywhere else

Here’s something that drives tour operators insane: almost every booking platform treats multi-location as an afterthought.

You run kayak tours in Austin and San Antonio. Same company, same brand. You’d think your booking software would let you manage both from one account with unified reporting, shared promo codes, and a single dashboard that shows you the whole business.

Instead, what you actually get is two completely separate accounts. Two logins. Two billing relationships. Two sets of reports that you export to Excel and manually combine at the end of the month. Some platforms will “support” multi-location by literally telling you to create a second account and pay twice. Others have a half-baked location switcher that shares nothing between locations — no cross-location reporting, no shared customer database, no way to see your total revenue without pulling numbers from multiple places.

It gets worse when you have staff that works across locations. Your best guide leads trips in both cities? Good luck giving them one login that works for both. Most platforms either can’t do it or make you contact support to set up some custom arrangement that breaks every time they push an update.

This is an industry where multi-location operators are the ones spending the most money, and the software treats them like an edge case.

Freebo doesn’t have this problem because multi-tenancy is the foundation, not a feature. Every query, every API call, every cache key, every ledger account is scoped by location. The auth system enforces location access at the middleware level before any business logic runs. A request without a location ID doesn’t execute. Period.

But here’s the key difference: users belong to an organization, not a location. One login, multiple locations. Role-based permissions per location — you can be an admin in Austin and a guide in San Antonio. The reporting layer aggregates across locations or drills into one. Promo codes can be scoped to a single location or shared across all of them.

This isn’t an enterprise add-on. It’s not a separate pricing tier. It’s just how it works, because we built it that way from the first line of code.

Async financial pipelines

Financial events flow through an async job queue with automatic retries, exponential backoff, stall detection, and idempotent transaction posting. If a downstream service is temporarily unavailable, events queue up and replay when it recovers. The reservation still gets created. The customer still gets their confirmation. The financial record catches up on its own.

This is the kind of infrastructure you see in fintech. Not in booking software.

What this costs

Here’s the part that should worry incumbents: we’re doing this with a two-person team.

No legacy codebase to maintain. No acquired products to integrate. No enterprise sales team to feed. Our burn rate is a rounding error compared to what the established players spend on engineering alone.

That means we can price Freebo at a level that makes the current market pricing look like what it is: a tax on operators who don’t have a better option.

We’re not building a cheaper version of what exists. We’re building a better version and pricing it lower because we can. The margins in this space are absurd because the software hasn’t been challenged in years. That’s about to change.

What’s next

We’re launching with our first operator cohort in April. Real bookings, real payments, real money moving through the ledger. From there, it’s iteration — tightening the checkout experience, activating the notification system, expanding the reporting suite.

The foundation is already built. The ledger works. The payments work. The availability engine works. The multi-tenant isolation works. Everything from here is velocity.

If you’re a tour operator paying too much for software that gives you too little, we’d like to talk.