Product Roadmap
Non-AI features ordered by commercial priority. AI features live in the separate AI Roadmap.
Near-term (next 30 days)
1. AWS SES email delivery
Owner digests, team invites, contractor magic links all currently require manual URL sharing. SES wiring = proper deliverability + DKIM + reply-to. ~1 day of work; the delay is DNS + AWS SES account production-access approval.
2. Permanent contractor demo endpoint
Today the landing-page contractor demo runs off a Cloudflare tunnel
from the founder's laptop. A permanent /api/v1/jobs/demo endpoint on
app.pmfriend.com removes the laptop dependency. ~2 hours.
3. Proper logo file upload
Today Settings → Agency profile → logo URL is paste-in. Replace with a file picker + S3 upload + public-read presigned URL. ~4 hours.
4. Stripe billing
$7/property/month, $299 minimum, 60-day pilot auto-converts. ~2-3 days. Includes Settings → Billing page, webhook handlers, admin invoice view, cancellation flow.
Medium-term (30-90 days)
5. Tenant mobile app (React Native / Expo)
Matches the "30-second submission" pitch from the landing page. Optional
channel on top of the /report/{token} QR flow, not a replacement.
Real-time push for "your report was received / dispatched / completed".
~1 week.
6. PropertyMe one-way sync (nightly)
See PropertyMe Sync for detail. 3–5 days.
7. Apple SSO
Blocked on Apple Developer Service ID + signing key setup. ~½ day once credentials are in hand.
8. Photo-based triage (Claude vision)
Tenant uploads a photo from the /report/{token} page → Claude vision
classifies severity + category. Blocked on photo upload infra being
wired into the report page. ~2 days after unblock.
9. User-routed notifications — ✅ SHIPPED
Notifications now split into "Assigned to me" vs "All in agency" tabs.
Per-user read + dismiss state (V20 migration adds
notification_reads(notification_id, user_id, ...) table). The
Hibernate listener captures the acting PM from SecurityContextHolder
and assigns the notification to them; background scanner events stay
agency-wide. The sidebar badge counts unread for the calling user only.
Full detail: Team & Settings → Notifications.
Longer-term (90+ days)
10. Data-residency migration to Sydney (ap-southeast-2)
Move primary RDS + S3 to ap-southeast-2. Requires a coordinated database cutover. Needed for agencies with hard AU-data-residency requirements. ~1 week planning + downtime window.
11. Infrastructure rename (mypmfriend-* → pmfriend-*)
ECR, App Runner, IAM, S3, RDS physical names still say mypmfriend
from the pre-rebrand days. Cosmetic for now; worth doing ahead of any
external audit. ~2-4 hours with a short downtime.
12. PropertyTree + Console one-way syncs
Same shape as PropertyMe sync. Prioritised by pilot demand.
13. Tenant portal (optional)
A minimal owner/tenant login if a specific pilot asks. Currently
deprioritised — the /report/{token} QR flow + magic-link contractor
pattern covers 95% of the workflows. Opening a new auth surface is
high-effort, low-value compared to the AI roadmap.
14. SOC 2 / ISO 27001
After material ARR. Adds audit overhead + marketing trust.
Items that keep getting suggested but aren't happening
- Two-way PropertyMe sync. Would require us to push into PropertyMe's trust accounting, which breaks the "sit beside, never replace" principle. One-way is final design.
- Replace PropertyMe. Same reasoning. Not our lane; not our regulatory mandate.
- AU sales CRM / realestate.com.au vacancy listing. Out of scope.
- Autonomous anything. Every AI-drafted comm goes through PM review. Non-negotiable.
See also
- AI Roadmap
- Status — what's running right now