Tenantory
Sign inStart free trial
Updated weekly · last shipped 2 days ago

What shipped this week.

I'm building Tenantory in public. Every release that hits your account gets written down here — what changed, and why I thought it was worth my time. No marketing spin, no "we're excited to announce." If pace is a trust signal for you, this page is the signal.

You're on the list.RSS / Atom

AI application scoring

Every application now gets a score from 0–100 and a short plain-English explanation — pulled from income-to-rent ratio, credit band, eviction history, and the applicant's own notes. It does not auto-reject anyone. It's there so you can rank a stack of 40 applications in 90 seconds instead of an afternoon.

I built this after a Founder told me he was losing good tenants because he couldn't get back to them fast enough. The goal is speed, not gatekeeping.

Example output
Score: 82 / 100 · Strong Rent-to-income 28% (good) Credit tier B+ · no flags Notes: Relocating for job at HudsonAlpha; references solid.
How scoring worksOpen Applications

Tenant portal dark mode and per-workspace theme overrides

The tenant portal now honors a tenant's system dark mode preference, and workspace admins can override the whole brand palette — primary color, logo, subdomain favicon — from Settings → Theme. This matters for PMCs that manage on behalf of owners and want the portal to feel like the owner's brand, not mine.

Same content, your paletteWorks on the main app at app.tenantory.com and on custom subdomains.
Settings · Theme

Schedule-E PDF export is now one click

Used to be three: pick year, pick entity, wait. Now it's a single button on Reports and the PDF comes back pre-mapped to IRS line items — rents received, repairs, depreciation, the whole thing — grouped per property. Your CPA can staple it straight into the return.

This was the most common support email I got in March. Timing it for tax season felt obvious in retrospect.

Go to ReportsSchedule-E mapping details

RentCast integration · live market comps on every property

Each property now shows a RentCast-powered market rent estimate with comparable units from a 1-mile radius. When your lease renewal sits inside the estimate's range, Tenantory says so. When you're 12% under market, it says that too — with the comps to back it up.

Pricing a renewal used to mean opening three tabs. Now it's one column on the property page.

Enable RentCast

Partial rent payments were applying to the wrong month

If a tenant paid half of March's rent on April 2nd, Tenantory was crediting it to April's ledger. That's wrong — a partial payment should always clear the oldest outstanding charge first. Fixed. Every affected account was recalculated overnight and the ledger entries now sit on the correct month.

If you noticed odd balances in the last two weeks, refresh — they should be right now. Sorry about that one.

Review ledgers

Per-room rent roll for co-living properties

If you run a house with four bedrooms and four separate leases, you shouldn't have to fake it as one "unit." Tenantory now models a property → rooms → room-leases. Rent roll, vacancy, and turnover math all work per-bedroom, and the tenant portal only shows the room that tenant signed for.

This was the single biggest ask from the co-living cohort. Took a month to get the data model right. Worth it.

How co-living works in TenantorySet up rooms

Vendor portal · your plumber gets their own login

Vendors now sign into Tenantory directly. They see open jobs, accept or decline, upload photos, and invoice — all without you playing middleman over text. And because a vendor account spans workspaces, if your HVAC guy works for you and your brother-in-law's LLC, it's one login for both.

Vendor payload
POST /vendors/invite { "email": "mike@acmeplumbing.com", "trades": ["plumbing", "drains"], "workspaces": ["bear-holdings", "lee-three-llc"] }
See the vendor viewInvite a vendor

Stripe webhook reliability — no more silent payment failures

In rare cases a Stripe webhook would drop (timeout on our end), the payment was collected but the ledger never marked it paid. Two tenants got false late notices in February because of this. I rebuilt the webhook handler with idempotency keys and a retry queue that catches anything Stripe gives up on, and backfilled the two affected accounts.

The late fees that hit wrongly are already reversed. If you think one slipped through, reply to any email from me.

Webhook reliability doc

Bulk tenant import from an AppFolio CSV export

Drop your AppFolio tenant export straight into onboarding. Tenantory maps the columns, flags anything ambiguous, and imports tenants, leases, security deposits, and balances in one pass. What used to be a two-week switch is now under 15 minutes for a 40-unit portfolio.

Buildium and Rentec exporters are next on the list.

Switching from AppFolioImport now

Branded subdomain setup · 15 minutes, not multi-day

Used to be: paste a CNAME, wait for propagation, wait for cert, email support if anything looked weird. Now: enter your domain, click verify, and Tenantory provisions the cert, the subdomain, and the branded login page automatically. If DNS isn't right, it tells you exactly what to change at your registrar.

Set up your domain

Founders' cohort · $99/mo locked for life, first 100 accounts

I want the first 100 operators on Tenantory to have skin in my pricing decisions. So the first 100 Pro accounts lock in $99/mo forever — no matter what I charge the 101st customer or the 10,000th. In exchange I want their feedback on the hard calls. That's the whole deal.

As of this entry, 87 spots remain.

Claim a Founders' spot

Tenantory is public · v1.0

After running my own rentals on a stack of AppFolio + QuickBooks + DocuSign + a bookkeeper for three years, I got tired of paying four companies to do one job. Tenantory is what I wish had existed: one app for leasing, rent, maintenance, accounting, and the tenant portal — priced for an operator, not a conglomerate.

This page is where I'll tell you everything I ship, every week. Thanks for being early.

— The Tenantory team, building in public

Why I built Tenantory
Nothing in that bucket yet.Try another filter — or check back next week.
Got an idea?
Email ideas@tenantory.com — I read every one.
Half of what's on this page started as a reply to an email. If something's in your way, tell me. The good ones ship inside a week. The hard ones I'll at least tell you why they're hard.