--- title: "Rent collection and repair requests, built by Claude Code on Elements" author: "@chris" author_url: https://elements.dev/u/@chris published: 2026-09-30T22:04:53.263Z url: https://elements.dev/demos/rent-collection-and-repair-requests-built-by-claude-code-on-60x61q4j kind: post format: article --- # Rent collection and repair requests, built by Claude Code on Elements by [@chris](https://elements.dev/u/@chris) ยท 2026-09-30 ## Description Tenants pay rent by card or autopay and report repairs with photos. The landlord sees a live rent roll and a repair queue. Leaseleaf needed a live rent roll, rent by card and autopay, a maintenance queue with photos and comments, tenant invites, and scheduled reminder emails. Each of those is a part of Elements, so the agent spent its 27 minutes on the property app itself. - **Live rent and maintenance.** Rent charges, maintenance requests and their comments are LiveTables, so a payment shows as paid on the landlord's rent roll the moment it lands, and a tenant sees a request move to scheduled or done as the landlord changes it. - **Rent by card and autopay.** A tenant pays a month's rent through Stripe or saves a card for autopay, each with one `@rpc` call. Payments are recorded once whether the return page or Stripe's webhook arrives first. Until a Stripe key is set, the pay button opens a test checkout inside the app that records rent the same way, and in production the app registers its own webhook the first time a tenant pays. - **One daily job.** A one-line cron schedule runs the rent cycle every morning at 9: it creates the month's charges, charges autopay cards on the due date, and emails a reminder three days before and a late notice the day after, each once. - **Maintenance updates by email.** Only the landlord changes a request's status, and each change emails the tenant. Tenants attach photos when they file a request. - **Invites and sessions.** The landlord invites a tenant by email, and accepting the invite sets a password, starts the lease and creates the first charge in one step. Landlord and tenant pages each check the signed-in role. - **Data from SQL files.** Migrations define the app and seed a landlord, two buildings with eight units, seven tenants, three months of rent with two tenants behind, and a maintenance queue with photos.