Skip to content

Case study · Real-estate deal-sourcing SaaS

OnOffDeals — A real-estate deal-analysis SaaS, built and operated end to end

Charyx Labs built and operates OnOffDeals, a real-estate deal-analysis SaaS: a React 18 single-page app over an async FastAPI and MongoDB backend, with 16 API routers, 20 domain services and 311 automated tests guarding a from-scratch property valuation engine, live Stripe billing, and Anthropic Claude integrated as an in-app deal coach.

Client
OnOffDeals
Industry
Real-estate deal-sourcing SaaS
Location
United States (remote product)

The problem

  • Property investors were analysing deals across spreadsheets and browser tabs, with no consistent valuation method.
  • A valuation engine is only trustworthy if it is tested; an untested one quietly produces wrong numbers.

What we built

  • A React 18 SPA with an async FastAPI + MongoDB backend — 16 API routers and 20 domain services.
  • A from-scratch property valuation engine, guarded by 311 automated tests.
  • Live Stripe billing: subscriptions, trials, coupons, webhook-driven state and per-plan usage metering.
  • Anthropic Claude as an in-app deal coach, with prompt guardrails and output validation so the model cannot return unusable or unsafe output.
  • Redis caching and a versioned cache layer.

Outcomes

  • 311 automated tests run against the valuation engine, so a pricing regression is caught before a user sees it.
  • Billing state is webhook-driven rather than polled, which is what keeps subscription status correct after a failed payment.

Stack

  • React 18
  • FastAPI
  • MongoDB
  • Redis
  • Stripe
  • Claude
  • Python

Questions about this build

Who owns the OnOffDeals codebase?

The client owns it. Charyx Labs hands over source code, documentation and every credential on full payment, as a matter of standard terms.

How is the AI deal coach kept accurate?

Claude runs behind prompt guardrails with schema-validated output, so a malformed or out-of-scope generation fails loudly instead of being shown to the user as advice.

Tell us where your business is losing time.

We'll tell you whether that's an automation problem, an AI problem, or a product problem — and then we'll build the fix.

Send Mail

Or browse services · work