Management and billing platformKitnets2026
Manual reminders, Pix transfers checked against the bank statement, and no history became a single system, from listing to receipt, where pausing a bill is still a person's decision.
- Client

- Role
- Product builder: discovery, design, and AI-driven development
- Timeline
- 2 weeks (first complete version)
- Disciplines
- Product discovery, UX/UI, Design system, Payments

The context
There’s a kind of investor almost no software sees: the individual who built anywhere from one to twenty kitnets (small studio apartments) to live off the rent. Not a real estate agency, no staff. Just a finished construction project and a WhatsApp group with the tenants.
This person’s operation runs entirely by hand. A due-date reminder typed on a personal WhatsApp. A Pix transfer (Pix is Brazil’s instant payment system) checked against the bank statement. A receipt when someone asks. No history.
Kitnets was built for this audience. The thesis fit in one sentence: the operating system for the kitnet, together with the storefront that rents it out. A single product where the landlord lists, signs the lease, bills, tracks late payments, and handles maintenance, and where the tenant has a formal place to pay and to talk. The bill goes out, the payment reconciles, and late payments are calculated on their own. Pausing a bill or settling an agreement is still the landlord’s decision.
It’s my own product, built from scratch. I was the product owner, the designer, and the person who orchestrated development, which was done entirely by AI agents.
The pain
The product has two users, and each one struggles in a different way.
The landlord collects rent on the fly: manual reminders on a personal WhatsApp, Pix transfers checked against the bank statement, no history. What the market offers doesn’t fit: full-service management charges a high percentage, with a per-property minimum that weighs heavily on a small rent; listing portals charge per listing and stop there; real estate agency systems are expensive and built for companies.
The tenant lives on their phone. There’s no duplicate bill, no proof of payment, no formal channel. A lost boleto (a Brazilian bank slip) turns into a late payment, and a late payment turns into an uncomfortable conversation.
And then there’s the prospective tenant, who hunts for kitnets in groups and classifieds with no verification whatsoever.
The research
Before any screen, I ran a market discovery with cross-verification: 36 claims about competitors, pricing, and technical rules, all confirmed. It produced a PRD with 12 feature blocks and 60 acceptance criteria, and a roadmap of 29 epics in three waves.
Three findings changed the product design:
- The storefront was the differentiator. No competitor aimed at individual landlords had a working public marketplace or a dedicated page per property. None stored the property’s floor plan, electrical, and plumbing, because they all assume a property that was bought, not built.
- Rent in Brazil calls for a different payment tool. The international platform that bills the software subscription didn’t work for rent (Pix by invitation only, no proper recurrence, a per-transaction cap). Rent went to a Brazilian gateway, with Pix and boleto; the Kitnets subscription stayed on the international one, by card.
- The legal stance is a product rule. Managing third-party leases may be restricted to licensed brokers, so the platform is software and a payment method, never an intermediary: it doesn’t negotiate and doesn’t charge a brokerage fee.
The decision I consider the most important came later: billing through the platform is optional. The landlord can simply record what they received, with partial payments, refunds, and receipts. On the simplest plan they close the whole financial cycle without any gateway at all. Those who want automation issue a Pix or boleto through the system, and the payment gets reconciled on its own.
The solution
Billing that goes out on its own
The landlord dashboard is where most of the product lives: the kitnet’s technical manual, leases with a due-date calendar, rent adjustments, guarantees, contracts, maintenance, and leads.

Billing is prepaid, with a prorated first month. Whoever issues a Pix or boleto through the system gets the payment reconciled automatically. Late payments are calculated from what was actually received, not from a hand-editable “paid” field.

The WhatsApp collection sequence has the safeguards of someone who can’t afford to get the customer’s number banned: gradual warm-up, a time window, an opt-out for the tenant, and email as a fallback. It’s ready and waiting for the number to be paired.

Later came an annual report for the accountant and a chat per lease, to move the conversation off personal WhatsApp.
The tenant portal
An installable, mobile-first app: lease, installments, bills with a pay button, receipts, notices from the landlord, maintenance requests with photos, and messages.

The most delicate rule here was about privacy. Two tenants of the same landlord can’t see anything about each other, and a former tenant can’t see the new resident or any notices sent after they moved out.
The public storefront
Search follows the pattern of the big lodging marketplaces that everyone already knows how to use: search by city, type, and guests, icon categories, cards with a carousel.

A business rule protects the storefront: a city only opens when it has at least 30 listings and at least 5 different landlords. Without the second lock, a single advertiser with thirty fake properties could open an entire city. Until then, the city only shows a waitlist.

The rating shown is provided by the landlord, and the interface says so; verified reviews from past residents will get a separate field. Public photos are processed versions, stripped of the camera’s location metadata, which could give away the exact address.

The site for landlords
Landlords arrive through a sales page and thirteen institutional pages. Signing up gives seven days free, no card required. On day eight, without a subscription, the listings come off the storefront and the dashboard turns into the billing screen, with the data exportable. The first listing of every new account goes through moderation.

How it was built
The code was written 100% by AI agents, in a process I designed: every request becomes a task with stages, a “challenger” agent attacks the plan before any code is written, and the PRD, technical plan, and improvements go through human approval. A test suite that tries to access another landlord’s data grew with every epic and blocks delivery if it fails.
The visual design went through two redesigns. The second swapped a generic indigo for a warm editorial tone: serif headings, orange used sparingly, black for the primary action. Because the design system is built on variables, the change reached every screen at once. All copy has existed in Portuguese, English, and Spanish from day one.
Stack: NestJS and PostgreSQL with per-account isolation in the database, dashboards in React, and the storefront in Next.js.
What changed
The first complete version shipped in two weeks. For someone who lives off kitnet rentals, the operation moves to a different place.
What was done by hand. Due-date reminders on a personal WhatsApp, Pix checked against the bank statement, receipts on request, late payments with no record, and listings posted in groups with no verification.
What became automatic. Issuing Pix and boleto with automatic reconciliation, late payments calculated from what was actually received, receipts and duplicate bills in the tenant portal, the report per kitnet and the one for the accountant, photos stripped of location data, and a city that only opens with real density.
Where a person decides. Billing through the platform is optional: the landlord can simply record what they received. Pausing a bill and settling an agreement are their clicks. The landlord closes the deal on the storefront, not the platform. And the first listing of every account goes through moderation.
What I took from this project
A vertical product is made of rules, not screens. A city that only opens with real density, a rating that declares where it comes from, photos without location data, billing that works without a gateway, a former tenant who loses access at exactly the right moment. None of these decisions show up in a screenshot, and they’re what make the product worth trusting.
The other lesson is about AI. Building fast with agents doesn’t make the product role optional; it makes it matter more. The person who decides what goes in, what stays out, and what needs a human in the loop is still the one who understands the problem. The agents wrote the code. The product decisions were mine.
