Overview
The portfolio at a glance. Numbers come from the master sheet as of the last publish.
New and sold listings per week
Latest movement
Longest on the market
Listings
Search the live portfolio. Copy a link or a ready WhatsApp message for a client, or jump to a description brief.
Tick villas to build a WhatsApp shortlist for a client.
Market
What we are selling and where, across the live portfolio.
Price distribution (live listings, USD)
By category
By tenure
By build stage
By area
Data health
The same checks as the sheet's "To complete" column. Fix gaps in the master sheet; they clear on the next publish.
Who fixes what: photos and descriptions go to Resista, prices to Nora, other facts to the villa's agent in the sheet.
Facts to verify
During the July description rewrite the old website copy contradicted the sheet on these villas. The sheet's value is live. If the sheet is wrong, correct it there and the row turns green at the next publish. If the sheet is right, tell Kevin and he clears the row from this list.
Add a listing
Fill in what you know, skip the rest. You get the exact sheet row to paste, a punch-list of what's still missing, and a description brief. Nothing is saved here: the sheet stays the source of truth.
Still missing before it can go live
Paste into the master sheet
- Open the master sheet, Listings tab, and click the first empty row's column A.
- Paste block 1 there (fills YR code, Name, Status).
- Click column F of the same row and paste block 2 (fills Agent through Extension yrs).
- Click column P of the same row and paste block 3 (fills Price USD through Notes). Never type or paste in columns D, E, or O: they hold the sheet's own formulas (O computes the total lease years by itself).
- Run the description brief in Claude, check every fact, then paste the result into the Descriptions tab: YR code in column A, text in column D.
Block 1 · paste at column A
Block 2 · paste at column F
Block 3 · paste at column P
Description brief (paste into Claude, get the description back)
Prompt
Description brief
Write or refresh the description of a villa that is already on the site. Pick it, answer the six questions, and you get a ready brief for Claude. The facts come straight from the site data, so nothing needs retyping.
Facts on file (used in the brief)
Paste into Claude, check every fact, then paste the result into the Descriptions tab (column D, next to the YR code)
Prompt
My Day
Everything on your plate. Add a task, tick it off, or drop it straight into your Google Calendar. Your lead follow-ups fold in below.
Due today and overdue
Coming up
Lead follow-ups
From your leads' next steps. Open a lead to change one.
Pipeline
Every lead, its stage, and the next step. Tap a card to open it: message on WhatsApp, log a note, set the follow-up, move the stage.
Follow-ups due
The board
Drag a card between stages on a computer. On a phone, tap the card and pick the stage.
Results
How the pipeline performs: where leads come from, where they stall, why they are lost, and what closes.
The funnel · how far leads get
Each bar counts every lead that reached that stage, wherever it is now. The percentage is the hand-over to the next stage; "lost here" is where they leak out.
Won and lost by month
Why we lose
Open pipeline by stage
Estimated from each lead's budget band, so treat it as an order of size, never a forecast.
Where leads come from
How fast we respond
By agent
Retarget
Leads worth another message: the ones going cold, and the ones a new villa was made for.
Open leads with nothing logged in a while. Longest-quiet first. Tap to open, or message straight away.
Worth revisiting
Lost to timing or no reply, not to price or a competitor. Circumstances change.
Leads whose area and budget fit the chosen villa. Send them the one that just came up.
How it works
The loop
- Edit the master sheet. Prices, status, details, descriptions: the sheet is the single source of truth. Open it here.
- The publisher runs. It pulls the sheet, rebuilds the website, and updates this dashboard. Three times a day (9:00, 15:00, 21:00 Bali time) once the automated pipeline is on; until then Kevin runs it.
- The site and this page refresh together. "Data as of" in the top bar is the last pull from the sheet.
Rules that keep things working
- • Listing a villa: set Status to Listed. It goes on the site at the next publish once the row is complete.
- • Taking a villa off: change Status to Sold or Archived. Never delete the row: a deleted row does not reach the site, so the listing would stay live and its history would be lost.
- • Columns D and E in the Listings tab (Web ready, To complete) fill themselves. Never type or paste there.
- • Descriptions live in the Descriptions tab: YR code in column A, text in column D. The rest fills itself.
- • Prices: fill Price USD or Price IDR (either satisfies the checks). No prices inside description text, ever.
Who does what
- • Nora: Overview and Market for the listing numbers, Data health for what needs a decision, Results for how the sales pipeline performs.
- • Resista: Add a listing for new villas, Description brief for villas already on the site, Data health for the punch-list.
- • Agents (Ana, Veronica, Paul): Listings, for looking things up and sending clients a link or a ready WhatsApp message. Tick several villas to build one shortlist message; the shortlist link shows them side by side on the website.
- • Everyone: My Day is your personal task list: add anything (check images, film a walkthrough, chase the notary), tick it off, or one-click it into your Google Calendar. Your lead follow-ups fold in.
- • Sales team: On a lead you'll find shared Scripts (pick one, it opens WhatsApp pre-written with the lead's name and villa; Manage scripts to edit them for everyone), a Save contact button so the lead shows by name in your WhatsApp, and a red quiet flag on pipeline cards that have sat untouched too long. Work the red ones first.
- • Sales team: Pipeline is a preview with example leads for now. Play with it: move cards, set next steps, add notes. The real lead list connects after the team login upgrade.
About the movement numbers
The sheet has no date columns, so history starts on 6 July 2026: every listing gets stamped the first time it appears and every sale when the status flips. "New this week", "Sold this month" and the weekly chart fill in from that date forward. Older movement was never recorded anywhere and cannot be reconstructed.