Property Management Agent

An AI agent that handles tenant communication, maintenance coordination, and lease tracking. Self-host or use our hosted version.

Fair Source Licensed·Full source on GitHub

Chats
AI
RentMate
I've drafted the renewal...
5m
S
Sarah Chen
Thanks, the plumber came...
2h
M
Mike's HVAC
I can come Tuesday at 10am
1d
Check on Unit 1A lease renewal status
The lease for Unit 1A (Sarah Chen) expires in 45 days. I've drafted a renewal notice — would you like me to send it?
Yes, send it
Done! Renewal notice sent to Sarah Chen via SMS. I'll create a follow-up task if she hasn't responded in 3 days.
Ask RentMate anything...
Good morning!
2 items need attention
12
Properties
28
Tenants
5
Vendors
Action Desk
maintenance
Schedule furnace inspection
Unit 2A — last serviced 14 months ago
leasing
Lease expiring — Unit 1A
Renewal due in 45 days

What it does

Tenant and lease tracking

Units, leases, and tenants in one place. Expiration dates, vacancy, and payment status at a glance.

AI maintenance triage

Tenants text in. The agent reads the message, creates a task, and contacts the right vendor.

Document processing

Upload leases and inspections. The agent extracts tenant info, lease terms, and tags documents to properties.

Scheduled tasks

Recurring checks on a cron — lease expirations, property audits, tenant follow-ups. Simulate before enabling.

Vendor coordination

Assign vendors to tasks, message them, and track conversations. Each vendor gets their own portal.

Self-host in a few minutes

Run with Docker

One command. No dependencies.

docker run -p 8000:8000 ghcr.io/ahmedjafri/rentmate:latest

Or clone and run

Clone the repo and run locally.

git clone https://github.com/ahmedjafri/rentmate && cd rentmate && npm run dev

System requirements

Runs on anything with Docker or Python 3.12+. 512 MB RAM. SQLite by default, Postgres optional.

What you get

  • Unlimited properties, units, and users
  • Full source code (FSL-1.1-Apache-2.0)
  • Commercial license required for production self-hosting
  • Use a backend LLM of your choice
  • SMS and web chat
  • Document processing and extraction
  • Scheduled tasks
  • No artificial caps, no feature gating

When to use Hosted

Self-hosting works well for most setups. Hosted makes sense when you'd rather not manage infrastructure.

Multiple users

Role-based access and multi-tenant isolation without running your own auth.

No ops overhead

Managed backups, upgrades, and TLS — no scripts to maintain.

SMS deliverability

Dedicated SMS infrastructure with carrier-grade deliverability.

Self-hosted vs. Hosted

Feature Self-Hosted Hosted
Full source code
Commercial license included
Core features
Scheduled tasks
Vendor portals
Managed backups and HA
99.9% SLA
Zero-ops upgrades
Dedicated SMS infra

Frequently asked questions

Is the self-hosted version crippled?
No. Every core feature is in the self-hosted release. Hosted adds managed infrastructure (backups, upgrades, SMS deliverability) and multi-tenant support. Production self-hosting requires a commercial license.
Can I switch from self-hosted to Hosted later?
Yes. Export your SQLite or Postgres database and we'll import it. Your properties, tenants, leases, documents, and conversation history come with you.
What's your business model?
Self-hosted production use requires a commercial license under the FSL-1.1-Apache-2.0 license. Hosted subscriptions fund development. Every release converts to Apache-2.0 after four years.
What if you go out of business?
Under the FSL-1.1-Apache-2.0 license, every release automatically converts to Apache-2.0 after four years — fully permissive, no strings. Your install keeps running. The source stays public.
What AI model does it use?
Self-hosted: Any OpenAI-compatible API works. Point it at GPT-4, Claude, Llama, DeepSeek, or your own local model. You bring your own API key. Hosted: Already configured — no API keys or model setup required.
What about data privacy?
Self-hosted means your data never leaves your server. Hosted runs on isolated subdomains with per-account data isolation.