State law now enforced where landlords actually set numbers
State picker on the property page so you can set a state without SQL. Late-fee settings warn when you exceed the statutory cap (NY 5%, NV 5%, etc.) or set a grace period below the state minimum. The lease draft editor warns when the security deposit exceeds the state cap. A new "Plan rent change" wizard on signed leases computes the max allowable increase, checks the notice window, and drafts a state-aware notice letter you can copy/send.
State-specific legal compliance (all 50 states + DC)
Lease generator now pulls statutory deposit caps, late-fee limits, grace periods, entry-notice hours, rent-increase notice windows, eviction timelines, and required disclosures from a per-state profile. Units can be flagged as rent-stabilized / controlled / covered-by-cap, which appends the right rider. A new State Compliance card on each property page summarizes what the lease will enforce.
Inline upgrade prompts when you hit a plan limit
Trying to add a unit beyond your plan now opens a friendly upgrade modal (with your current usage + the next plan suggested) instead of a generic error. Properties list also shows a soft amber banner once you cross 80% of your unit limit — dismissible for a week.
Strict role separation across the app
Tenants now get a tenant-focused experience top to bottom: route-level guards bounce them out of landlord-only pages, the Ask AI assistant uses a tenant-specific header + suggestions, conversations persist per-role on shared devices, and the ⌘K palette only shows commands their role can actually reach.
Head-to-head comparison pages
New /compare hub plus dedicated pages for /compare/buildium, /compare/appfolio, and /compare/avail. Honest side-by-side feature checklists — including where the other guys are still better than us.
Public integrations directory
/integrations lists every service Aptoria plugs into — Stripe, Plaid, Twilio, OpenAI, DocuSign, Resend — with status badges (Live / Beta / Roadmap) and category filters.
Tenant-facing marketing page
/for-tenants now explains what tenants get when their landlord uses Aptoria — auto-pay, photo-rich maintenance, lease in your pocket, and a 24/7 AI assistant that actually knows your lease.
Auto-save on the agent autonomy settings page
Edits to your agent policy now save themselves — no more "save policy" button. A status pill in the header shows "Saving…", "Saved 2 sec ago", or surfaces an error inline if the server rejects the change.
Mobile search button + What's-new popover in the top bar
Touch users now have a header search button that opens the ⌘K command palette. Next to it, a sparkle icon shows a red dot when there's a new product update, with a popover that lists the latest changelog entries.
Explain-this-KPI shortcut on the dashboard
A small ⓘ on every dashboard KPI tile opens the Ask-AI panel pre-loaded with a contextual question about that exact number — your collection rate, occupancy, late roll-up. No more staring at a number wondering what to do with it.
Recently viewed in the ⌘K command palette
The palette now leads with the last 8 tenants / properties / units you looked at, so the most common cmd-K use case (jump back to what you were doing) is one keystroke + Enter.
Account deletion: typed-confirm + clearer warning
Deleting your account now requires typing the word DELETE before the destructive button activates. Industry-standard safety pattern for irreversible operations.
Print-friendly stylesheet
Browser print + Ctrl+P from any report or owner statement now produces a clean B&W layout — no chrome, no FABs, no toasts. Links print their URL inline for paper readers.
"Ask anywhere" AI assistant on every page
Press ⌘+J from anywhere in the app to chat with a context-aware AI that knows your role, your portfolio shape, and the page you're on. Read-only by design — it answers questions and points you to the right place to act.
Undo on destructive actions
Delete a utility bill, document, or tenant file and you get a 5-second window with an Undo button. The UI updates instantly; the server-side commit happens only after the grace period expires.
Searchable help center + FAQ rich results
Inline search on /help filters topics as you type, and the page now ships FAQ JSON-LD so Google can surface answers directly in search results.
Tenant /my-lease one-page overview
Single screen surfacing everything about a tenant's lease: term + key dates, monthly rent, deposit, balance, landlord contact, uploaded lease docs, insurance status, and AI lease Q&A — no more digging through 4 tabs.
Public /status page + /sitemap.xml + /robots.txt + RSS
Real-time status board for prospects, SEO fundamentals (sitemap + robots) so Google can find every public page, and an RSS feed for this changelog.
Tenant auto-pay management card
Tenants can now view their auto-pay enrollment(s), recent charge attempts, edit lead days + max-amount cap, pause / resume / cancel — all without leaving the Payments tab.
Welcome email drip + activation signals
Daily cron sends a 5-step landlord drip and 3-step tenant drip based on signup age + live activation signals (no Stripe yet? prompt them. Already has auto-pay? skip the "set up auto-pay" email).
Public API + webhook docs
New /docs page with REST endpoint reference, signature verification snippets in Node + Python, and a copy-paste TypeScript fetch wrapper.
Help center expansion — 8 categories + 12 new articles
Categorized topics with filter chips (Getting started, Money, Maintenance, Leases, Communication, Reports, Security, Developer) plus articles on cosigners, vendor dispatch, late-fee mechanics, trust accounting, and more.
Segment landing pages
Dedicated /for-landlords, /for-property-managers, and /for-owners with pain-point storytelling and segment-specific outcomes.
Tenant first-steps coachmark
New tenants see an auto-checking progress card on /ask-ai showing real status of auto-pay, first message, and first work order.
Native iOS / Android push notifications
Expo Notifications integration — tokens registered per device, fan-out via Expo push API, auto-prune of dead tokens.
Playwright end-to-end smoke suite
New e2e/ directory covers sign-in, public listings, API health, and authenticated dashboard flows. Runs on every CI build.
Agent rollback feed
Every autonomous action now has an Undo button; rolled-back actions stay in the history with timestamp + reason for full auditability.
Stripe Connect ACH owner payouts
Owners onboard via Stripe Express; one click sends a distribution straight to their bank. Monthly statement cron emails on the 5th.
Bulk actions
Bulk mark-paid, bulk send notice, bulk rent reminder, bulk apply late fees (with dry-run preview).
Per-channel notification preferences
Per category × per channel (email / SMS / push) toggles, with SMS opt-in flow + Twilio inbound STOP handling.
AI vendor invoice scanner
Snap a PDF/photo of an invoice — vendor, total, line items, and Schedule E category are extracted automatically and post to the GL.
AI delinquency prioritizer
Ranks every delinquent lease by deterministic collectability score, then asks the AI to recommend next-best action per top item.
Double-entry general ledger
Every payment, expense, late fee, and security-deposit movement posts to a real GL. Per-property P&L + trust reconciliation report on top.
Common-area maintenance (CAM) auto-allocation
Drop in a pool ($400 snow removal), pick allocation method (equal / sqft / units / manual), and we split it across active leases.
Tenant auto-pay enrollment
Tenants link a card or bank once; the daily cron auto-charges N days before due date, with per-attempt log and decline emails.