Building-aware CRM for residential developers

Selling apartments isn't like selling anything else.

Every unit is its own product. Every lead is a person who hasn't decided yet. Kvadra runs the whole journey — from the first message to the final payment — on a data model shaped like your building.

In production on Meliá Residences Budva, Montenegro — tracking every unit from first enquiry to notary.
Saturday · 14:32

Your Instagram ad gets a click. A lead fills out the form: "Looking for a 1BR with sea view, around €400k."

The form lands in a Google Sheet. By Tuesday morning, here's what's probably happened:

  • Anna in sales doesn't know about it yet — she'll see it when she opens the sheet, if she scrolls down far enough.
  • The investor sees this lead in the next monthly report. Six weeks late.
  • The 1BR with sea view they came for got reserved by a different lead two days ago. Nobody updated the price list.

By the time Anna calls, the lead has moved on.

This is the gap Kvadra closes.

And it keeps closing it — through the deposit, the contract, and the keys.

Meliá Residences Budva — first-line Adriatic, Bečići Meliá Residences Budva · Bečići, Montenegro

What we built differently

Three opinions, made into software.

01

The building is the data model.

Every unit knows its block, floor, view, typology. The Building Map shows your project as a grid — rows are floors, columns are unit types — coloured by sold ratio.

You see structural patterns at a glance. An entire fourth-floor band that nobody buys is a different problem than scattered slow-movers — and it deserves a different conversation with the architect.

Sold ratio by floor
F570%
F410%
F355%
F265%
F145%
Floor 4 — an entire band nobody buys
Sold Reserved Available
02

Your spreadsheet stays sovereign.

Most CRMs want to own your data. Kvadra mirrors. The price list, the sold list, the reservations — those stay in the spreadsheet your finance team already trusts.

Sync runs every minute, one direction: sheet → Kvadra. Work done in the CRM is never overwritten. Your operations team and your sales team stop arguing about which row is true.

Source of truth
Master
Google Sheet
every minute
Mirror
Kvadra
No write-back. Finance keeps the keys.
03

The pipeline tells the truth.

In most CRMs "Contacted" means we sent a generic message and ghosted. Kvadra splits it into three honest sub-states: awaiting reply, said they'll think, unreachable.

Suddenly the funnel reflects reality. You stop counting cold leads as engaged ones, and your team stops gaming the dashboard.

Lead pipeline
New Contacted Qualified Meeting Deposit
Awaiting reply· message sent, no answer
Said they'll think· warm, needs follow-up
Unreachable· bounced or 14d silence

Those three opinions are the floor. Here's everything we built on top.

The platform

One system, the whole journey.

Most developers stitch together a form tool, a chat inbox, a mail sender, three spreadsheets and an accountant. Kvadra is one place — from the click that creates a lead to the receipt that closes the deal.

01Acquire

Every lead, every channel, one record.

No more "which sheet did that come from?" Every source lands in one inbox, de-duplicated.

  • Capture forms behind QR codes for events and showrooms — scans and submissions counted separately.
  • Google Ads and Meta campaigns managed and measured in the same place they generate leads.
  • One person who messages on WhatsApp and fills a Facebook form becomes one lead, not two.
Cross-channel capture
__ICON_WA__WhatsApp __ICON_IG__Instagram __ICON_META__Meta form __ICON_QR__QR · showroom __ICON_SHEET__Sheet import
MK Marko K. 1BR · sea view · ~€400k
__ICON_MERGE__2 sources merged into one lead
02Engage

Talk to people where they already are.

One inbox, every channel, with the follow-up handled for you.

  • One inbox for WhatsApp, Instagram, Messenger and Telegram.
  • Automated follow-up sequences in email — written once, sent per-language on a schedule.
  • Quiet hours, send-rate limits and suppression built in — you protect your domain and never spam.

Outbound WhatsApp sequences are on the roadmap; today's automated sequences are email.

Omnichannel inbox + sequence
WhatsAppIs the sea-view 1BR still available? You · emailIt is — sending you the floor plan and a price now. InstagramSame person, different app 👋
1Welcome + floor plansent
2Rental-yield illustration+2 days
3Construction progress+5 days · quiet hours on
03Sell

Tools that actually help close.

Everything a buyer needs to say yes, generated in minutes.

  • The Building Map: your whole project as a grid, coloured by what's sold — spot the floor nobody buys at a glance.
  • A rental-yield calculator that shows a buyer their ROI scenario by scenario, saved to the lead.
  • Branded PDF offers in the buyer's language, generated in minutes.
Building map · calculator · offer
Apartment shortlist
B-12041BR · sea€410k
A-09022BR · sea€620k
B-15072BR · park€545k
Rental yield
6.4%
net · realistic
PDF offer
Unit B-1204
EN · branded · 4 pages
04Close & account

The money side, done properly.

From deposit to final installment, every euro accounted for.

  • Deals with multi-party buyers, custom payment plans, and per-installment tracking.
  • Agent commissions computed per deal: change the rate once, not in seventeen spreadsheet cells.
  • Underneath all of it: a real double-entry general ledger.
Payment plan · receipt allocation
Installment Due Status
Reservation€10,000Paid
Deposit · 30%€117,000Paid
Stage 2 · 20%€78,000Receipt allocated
On handover · 50%€195,000Scheduled
__ICON_CHECK__Bank receipt #4471 split across two installments
05Know

Answers without a meeting.

The numbers the owner asks for, already on the screen.

  • Acquisition ROI across Google, Meta and organic — cost per lead, cost per sale.
  • A sales funnel that shows drop-off and how long each stage really takes.
  • A weighted pipeline forecast, valued by the apartments people actually want.
Funnel · acquisition ROI
New1,240
Contacted880
Qualified472
Meeting231
Deposit86
Google
Meta
Organic
Cost per closed sale, by channel
06Govern

Everyone sees exactly what they should.

Granular access, masked data, an audit trail on everything.

  • 35 granular permissions — grant "view deals" or "edit commission" per person.
  • Sensitive data — passports, bank numbers — masked unless explicitly granted.
  • Append-only audit logs on every lead, every payment, every grant.
Permissions matrix
Permission
Owner
Sales
Finance
View deals
Edit commission
Bank & ledger
Passport / IBAN
masked
07Automate

Rules that work the pipeline for you.

Write a rule once and Kvadra runs it around the clock — no one has to remember.

  • WHEN something happens, IF the lead looks a certain way, THEN Kvadra acts — on events and on the clock.
  • Enforce the 15-minute first call, round-robin new leads, flag stuck deals, revive cold buyers.
  • Every rule is checked for loops and contradictions the moment you save it.
Automation rule
WHEN15 min · no contact
IFlead is New & unassigned
THENround-robinalerttag "call today"
__ICON_SHIELD__checked: no loops, no contradictions

Not a bolt-on

A real general ledger under your sales floor.

Most real-estate CRMs stop at "mark as sold." Kvadra keeps going — because the hard part starts there. Every payment, commission and transfer posts to a double-entry ledger that always balances. Subledgers for receivables, commissions and cash feed a trial balance, P&L, cash-flow statement and balance sheet you can hand straight to an accountant.

  • Per-installment accounts receivable — not just "paid / unpaid" on a deal.
  • Multi-currency bank accounts; inter-account transfers with FX gain/loss posted automatically.
  • Accounting periods that lock — overrides need a reason, and the reason is logged.
  • Notary handover export — every document plus a financial summary, zipped, in one click.
  • Reversals only. Nothing is ever silently edited; the history is the record.
Trial balance Period 2026-05 · locked
AccountDebitCredit
Bank · EUR 1010412,000
Accounts receivable 1200273,000
Sales revenue 4000610,000
Commission expense 610018,300
FX gain / loss 720093,300
Total703,300703,300
__ICON_CHECK__Debits = credits · the ledger balances

Close the buy-to-let buyer

Show the income, not just the price.

In a rental market, buyers don't ask "how much?" — they ask "what will it earn?" Kvadra answers on the spot. Pick the unit, pick a scenario — conservative, realistic, optimistic — and it works the year month by month: occupancy, nightly rate, owner usage, costs, the revenue split, down to net take-home and ROI on capital.

  • Built on the development's actual rental-program terms, not a back-of-envelope guess.
  • Every illustration saved to the lead as an immutable snapshot — it never shifts when defaults change later.
  • Drops straight into a branded PDF offer.
Rental-yield snapshot
Unit B-1204 · 1BR · sea view
Scenario: realistic · 68% occupancy
Gross rental income€28,400
Operating costs−€6,800
Management split (25%)−€5,400
Owner usage (3 weeks)−€1,500
Net take-home€14,700
Net ROI on capital 6.4%
Indicative · subject to change · not guaranteed. Saved to lead 2026-05-18.

Automation · live in Kvadra

The pipeline that works itself.

Kvadra doesn't just tell you the truth — now it acts on it. Write a rule once and it works the pipeline around the clock.

When
__ICON_CLOCK__15-min SLA __ICON_REPLY__Lead replies __ICON_HOURGLASS__14 days stuck
__ICON_ZAP__
Then
__ICON_USERS__Round-robin __ICON_BELL__In-app alert __ICON_TAG__Tag "call today"

Every rule is checked for loops & contradictions before it switches on — and every firing is logged.

Live in Kvadra today — build a rule in the WHEN / IF / THEN editor and it runs around the clock.
__ICON_ZAP__Speed-to-lead SLA __ICON_SHIELD__checked: no loops
WHEN 15 minutes pass with no contact
IF lead is New and unassigned
THEN round-robin to next repin-app alerttag "call today"
__ICON_ARROW__Lead auto-advances: New → Contacted, hands-free
__ICON_CHECK__Rule fired · Unit 0902 → Ana · round-robin9:41
__ICON_CHECK__SLA met · first call in 9 min9:48

Four jobs done well

One database. Four people who finally agree.

The owner asks "how are we doing?" Sales asks "who do I call next?" Marketing asks "which channel closes?" Finance asks "where's the money?" Same data, four views.

Not a prototype

Already running real developments.

Kvadra was built against Meliá Residences Budva — a first-line development on the Budva Riviera, Montenegro, with real buyers and real money — and it runs the whole thing end to end. Every feature on this page exists because a sales floor needed it on a Tuesday.

1BR show-home interior — sea-view living 1BR show-home · sea-view living
€10M+
in buyer payments tracked, end to end
4
Messaging channels unified in one inbox
Double-entry
Every payment posts to a ledger that balances
Live today
In daily production on Meliá Budva, Montenegro
In production with

"Every feature on this page exists because a sales floor needed it on a Tuesday — not because a roadmap said so."

— How Kvadra was built

Fits what you already use

It plugs into your stack, not the other way around.

Your price list stays in the spreadsheet finance trusts. Your buyers stay on the apps they already use. Kvadra connects them — it doesn't ask everyone to move.

__ICON_SHEET__Google Sheets __ICON_WA__WhatsApp __ICON_IG__Instagram __ICON_MSG__Messenger __ICON_SEND__Telegram __ICON_MAIL__Email __ICON_ADS__Google Ads __ICON_META__Meta

Where we stand

We have opinions. We made them into software.

A CRM isn't a database with a UI on top. It's a piece of opinionated software that decides what your team looks at every day. We made our opinions about apartment sales explicit:

  • The building is real. The data should look like it.
  • The lead is a person. The pipeline should respect ambiguity.
  • The spreadsheet works. Don't replace it — extend it.
  • Speed-to-first-contact is the only sales metric that has ever mattered — now a rule, not a hope.

You can disagree. We just wanted to give you something to disagree with.

We set up each developer by hand.

Kvadra isn't self-serve yet — and that's deliberate. We onboard each developer ourselves: map your building, wire up your channels, and get your team selling on it within days. Tell us about your project — how many units, where you build, what's selling slow.

av.shchedrin@gmail.com →
A short email is enough. No demo calls, no sales deck.