Back to changelog
    · 4 min read8 updates

    A project setup checklist, leads that name the units, and an assistant that counts properly

    DashboardLeadsAI ChatUnits

    The back half of August went to the first hour with a project and the moment a lead comes in.

    A checklist on every project

    A new project opens with five steps: add units, upload images, add clickable areas, set up lead notifications, publish. Each one ticks itself off by looking at the project rather than asking you to mark it done, so importing a spreadsheet completes the first step on its own. The header shows how many are left, you can collapse it, and the whole thing disappears once the project is set up.

    The pages around it were tidied at the same time. The images and viewer options editors were cleaned up, the clickable areas view gained a filter for finding the frames that still need work, and the sidebar is now grouped into Projects, Visitors, Your website and Workspace rather than one long list.

    Leads say which units someone looked at

    The activity panel on an inquiry logged every unit view as "Viewed a unit" with no name, one row per event. A visitor who clicked across 27 units produced 42 identical rows, several within the same minute, and none of them told you what they had been looking at.

    Each visit now opens with the units viewed: name, how many times, the time range, and a saved badge for anything they favourited, ordered by how often they looked. Everything else stays in a separate list underneath. The AI summary of the lead names the units and their view counts too, so "interested in the two-bedroom units on the higher floors" is something it can now actually say.

    Nothing needed backfilling. Visits from before this shipped gained their unit names the moment it went live.

    The assistant answers from your inventory

    Someone asked the assistant which two-bedroom units were available under a price, and the answer stopped mid-word after miscounting. The model was reading a list of 273 units and tallying them in its head.

    It now queries your inventory directly. Status, bedrooms, price, area, floor, aspect and features are filtered by the database, so counts and price ranges are exact rather than estimated, and units whose price you have hidden are never matched on price or quoted. Replies also have far more room before they can run out, and a reply that does get cut off is now detected rather than saved as if it were complete.

    Every language, properly

    Arabic is now complete across the dashboard and the marketing site, including the right-to-left layout details that were still wrong: mirrored icons, dialogs that centre correctly, and the language applied before the page paints rather than flashing the wrong direction first. The site has a language switcher in its navigation.

    Prices and areas are formatted using the conventions of the currency rather than always the English ones, and Saudi riyal is available as a currency with its own symbol.

    Anonymous feedback

    Feedback projects have a "skip visitor sign-in" setting. With it on, the dialog asking a visitor for their name and contact details never appears, comments are recorded anonymously, and the export leaves the contact columns out rather than filling them with placeholders. It is off by default, so existing projects are unchanged. Several of you asked for this: the dialog collects contact data nobody wants to be responsible for, and it stands between a visitor and their first comment.

    Clickable areas traced from masks

    Tracing clickable areas from mask images used to snap nearby points together using a fixed distance in pixels. On a project where units render small, that distance was a large fraction of a unit, so vertices were dragged onto neighbouring shapes and the areas came out bowed or collapsed. The snapping is off, and traced areas now follow the mask.

    Your CRM sync stopped hammering your CRM

    The Vox integration rewrote every apartment on every run and re-fetched every unit's price history, which over 28 days came to 631,284 database updates and 625,762 requests to the CRM, every half hour, forever. It now writes only the rows that changed and only fetches price history when a price has actually moved, which takes a typical run to no updates at all and a handful of fetches.

    Two real bugs surfaced while doing it. A unit moved to a different building in the CRM was never applied on our side. And sold units were being re-fetched on every run indefinitely, because the CRM stops reporting a price once a unit sells while we keep the last known one.

    Smaller things

    • The details and ROI buttons in the unit panel moved up next to the virtual tour button, so they are visible without scrolling past the specification and the floor plan.
    • The map editor no longer crashes when a project has a map style it does not recognise.
    Contact

    Tell us more about
    what you're building.

    Book a 30 min call

    Bring a project and we’ll sketch how it could look in the viewer.

    Eng. Fabio Palvelli

    Typically we reply within 24h