Edit a lease draft's rent from mobile
You can now edit the rent — and other lease terms — on a draft directly from the lease page, on mobile as well as desktop. Open the lease and tap "Edit terms" on the Current terms card.
Built in the open
Operators drive the roadmap. This page shows what we've shipped, what's in progress, and what's being considered. Use the feedback button in the app to shape what's next. For our weekly notes on what's new, see Updates.
Shipped Feedback
You can now edit the rent — and other lease terms — on a draft directly from the lease page, on mobile as well as desktop. Open the lease and tap "Edit terms" on the Current terms card.
When a lease is shown as a reference (e.g., in a context panel or detail view), it currently displays as plain text. Operators have requested that these references be clickable links for faster navigation.
Agent activity now identifies leases by property, unit, and tenant instead of an internal lease number — and the feedback window can be minimized so you can reference the page while writing your note.
An address confirmed by our address lookup is no longer tagged "unverified" just because it was already in standard form.
What we've shipped
You can now edit the rent — and other lease terms — on a draft directly from the lease page, on mobile as well as desktop. Open the lease and tap "Edit terms" on the Current terms card.
When a lease is shown as a reference (e.g., in a context panel or detail view), it currently displays as plain text. Operators have requested that these references be clickable links for faster navigation.
Agent activity now identifies leases by property, unit, and tenant instead of an internal lease number — and the feedback window can be minimized so you can reference the page while writing your note.
An address confirmed by our address lookup is no longer tagged "unverified" just because it was already in standard form.
Some agent actions appear grayed out, leaving it unclear whether they are clickable or disabled. Additionally, certain actions display a lease reference in a monospace/typewriter font, which feels inconsistent with the surrounding UI.
Creating or editing a property runs the typed address through USPS geocoding and saves the canonical form. The "Will be saved as" preview shows the canonical result, with an "(unverified)" indicator if geocoding can't validate. Unit identifiers like "Apr 2" are normalized to "Apt 2" on save.
Whole-dollar MRR and AR values display without the .00 suffix on property cards and the /properties detail page, saving horizontal space on small screens.
The four portfolio stat tiles (MRR, AR, occupancy, units) reflow into a 2×2 grid with smaller padding on narrow viewports, reclaiming vertical space for the main content.
The Ledger section on the lease detail page no longer overflows on iPhone viewports — columns reflow and amounts stay readable.
The property tile grid and Activity Queue section properly reflow when you resize the browser window, instead of overflowing the sidebar layout.
The currently governing lease should display as active, while leases that will never govern again should be labeled as superseded or terminated. All other leases should reflect their appropriate status (signed, draft, or archived) based on their current state.
When two consecutive signed leases both have end dates in the past, only the later (more recent) lease should display as active month-to-month. Previously, both leases could incorrectly appear in an active month-to-month state simultaneously.
When an amendment is generated via AI, it may incorrectly create a new tenancy record rather than attaching as an amendment to the current tenancy. Additionally, changes to the end date made during amendment review do not persist as expected.
The first two lease action buttons (Upload Renewal, Add Renewal) display centered labels, while the remaining buttons (Add Amendment, Correct Terms) display left-aligned labels. All button labels should use consistent center alignment.
A stray lease label appears unexpectedly in the interface where it should not be visible. This creates confusion and clutters the display with unintended content.
Button labels for lease actions (such as generating a renewal or adding an amendment) use inconsistent terminology and icons compared to similar actions elsewhere in the platform. Standardizing these labels and icons would improve consistency across the interface.
Add and upload lease buttons are not available for archived units. Additionally, the unarchive button for archived leases should appear below the lease entry alongside the other action icons, rather than in its current position.
Archived units should remain editable so users can make changes without needing to unarchive first. Additionally, the unarchive action should require confirmation via a popup dialog to add friction and prevent accidental unarchiving across all relevant surfaces.
The action to add a lease renewal currently uses the same icon as adding a new lease. Using a distinct icon (such as a circular arrow) for renewals would better communicate the difference between the two actions at a glance.
Content displayed within the platform is not correctly sized to fit the available window area. This may result in content appearing too large, too small, or misaligned relative to the viewport.
The archive button and archive icon appear to serve the same function in the draft view, creating duplicative controls. Consolidating these into a single action would reduce confusion and streamline the interface.
Users are unable to locate an archive button for units within the platform. An option to archive units is either missing or not easily discoverable in the current interface.
We received a report that uploading screenshots is currently failing. We are investigating the issue and will provide an update as soon as it is resolved.
Some users are experiencing issues uploading screenshots through the platform. We are investigating the root cause and will provide an update once a fix is in place.
Creating a property normalizes the address and auto-fills missing ZIP codes via Google geocoding, then checks for near-matches against existing properties. Duplicate attempts surface a warning the operator can override or cancel.
Creating a property normalizes the address and auto-fills missing ZIP codes via Google geocoding, then checks for near-matches against existing properties. Duplicate attempts surface a warning the operator can override or cancel.
Clicking a changelog reference link now navigates directly to the relevant entry on the changelog page, rather than landing at the top. This makes it easier to find the context you're looking for without scrolling.
On iPhone, returning to an already-open browser tab in Chrome could cause the layout to appear misaligned with the browser's viewport dimensions. We're investigating to ensure the display resets correctly when resuming a session.
On iPhone, the screenshot uploader previously only allowed taking a new photo with the camera. Users can now select existing screenshots and images directly from their photo library.
When selecting an existing property during an upload, address fields (city, state, and ZIP) now prepopulate automatically. Previously, this autofill behavior was only available when creating a new entry.
Operators can now receive email notifications when new feedback is submitted, keeping teams informed in real time without needing to log in to check for updates.
Resolved an issue where the feedback triage view would fail to load submissions, displaying an authentication error. Users can now access and review feedback submissions without needing to manually refresh or encountering blocked requests.
Resolved an issue where the feedback triage page displayed an error and failed to load submissions. The page now loads correctly without requiring a manual refresh.
When uploading a lease for a new property, the property address does not auto-populate as expected, requiring manual entry. Operators have also flagged that the property name field on the upload screen may be unnecessary friction in this workflow.
When an API request fails due to an invalid or missing API key, the system now surfaces a clearer error message to help users quickly identify and resolve authentication issues.
What we're building
Nothing here yet — check back soon.
What we're considering
Nothing here yet — check back soon.
What we've declined (and why)
Nothing here yet — check back soon.