RentSpire
Renters search affordable housing listings built on property data we structured first
RentSpire needed listings before it needed a website. We collected and structured property data from several large property management websites first, then built a Next.js and Supabase listings platform for renters and owners on the same data model.
Real Estate & HospitalityAffordable housing listings platformBuilt from zero
- Data first
- Listings, detail pages and unit models
- Feeds
- CSV deliveries and an XML listings feed
- Renters
- Search, filters, detail pages and Apply Now
- Owners
- Dashboard to list properties, units and media
The challenge
There was no software and no listings base: the venture needed a large, structured set of property data before a listings site for renters and owners could be useful.
What we did
We delivered structured listing data as CSV files and an XML feed for an outside listing portal, then built a two role Next.js and Supabase platform on the same data model.
The outcome
The data work grew from one metro area to a far larger listing set within two weeks, and the platform closed three milestones and a client demo.
The starting point
RentSpire, a Los Angeles area rental and affordable housing venture, planned one place where renters find affordable apartments and property owners and managers list them. It started with no software, a purchased real estate website theme and its own wireframes.
What had to change
There was no listings base, and a listings site with no listings is not useful. The venture needed a large set of structured property data first, then a site with search, detail pages, an apply flow and an owner dashboard.
What could not break
- Collected data is structured once and reused by the site and the portal feed
- A property can hold several floor plans, each with its own bedrooms, bathrooms and size
- The site follows the client's purchased theme and its own wireframes
- Owners and renters each reach only their own pages
The calls we made
We started with data, not screens: collect and structure the listings first, then build the product that uses them.
- 01
Data before the website
Listing data from several large property management websites came first as CSV files, then deeper detail pages, public housing authority data for every state and unit models. When RentSpire asked to grow from one metro area to a far larger listing set, the full records followed within two weeks.
Ruled outBuilding screens first and filling them with listings later.
- 02
A standard feed format
We shaped the listings into the XML rental feed format an outside listing portal reads, so the client could publish there and not only on its own site.
- 03
A data model shaped by the data
Some properties had several bedroom, bathroom and square foot combinations, so we delivered unit models as data, and the schema separates properties, units and media, with add a unit and add a community flows for owners.
Ruled outOne flat table per property, which would hide its floor plans.
- 04
Changes through documents
When the client sent new wireframes for the public and manager areas, our analyst returned a change document and updated wireframes, and revisions ran as their own milestone.
Ruled outAbsorbing new wireframes informally mid sprint.
How the system fits together
What we built
Property data
Listing data from several large property management websites, deeper detail pages, unit models with bedrooms, bathrooms and square feet, and public housing authority data for every state, delivered as CSV files.
XML listings feed
Listings shaped into the XML rental feed format an outside listing portal reads, so the client could publish there as well as on its own site.
Renter search
Search with advanced filters, a list view, property and building detail pages, unit details and an Apply Now inquiry flow with an application form.
Owner dashboard
Owners and managers submit properties with units, communities and media, then manage them in a table with filters, pagination and delete.
Accounts and access
Sign up and sign in for owners and renters on Supabase Auth, password reset, profile settings, role based routing and protected pages, with email through Mailgun.
How it works
Collect
Listing data is gathered from public property sources and structured into CSV files.
Model
Properties, units and media are mapped into the database, with every floor plan kept as its own unit.
Publish
Listings go out in the XML feed format an outside listing portal reads.
Search
Renters search and filter listings and open property, building and unit details.
Apply
Renters send an inquiry through Apply Now, and owners manage their listings from the dashboard.
A closer look
<Listings>
<Property id="P-1042">
<Name>Maple Court Apartments</Name>
<Type>Affordable housing</Type>
<Address>
<Street>100 Example Avenue</Street>
<City>Springfield</City>
</Address>
<FloorPlans>
<Unit beds="1" baths="1" sqft="640" />
<Unit beds="2" baths="1" sqft="860" />
<Unit beds="2" baths="2" sqft="940" />
</FloorPlans>
<Media>
<Photo file="p-1042-front.jpg" />
<VirtualTour available="true" />
</Media>
</Property>
</Listings>What changed
RentSpire received structured property data from several large sources, an XML feed format for an outside portal, and a two role listings platform with all three milestones closed and demoed. Every data delivery led the client to ask for the next round.
Under the hood
- Datics role
- Product built by Datics
- Stack
- Next.js with Supabase for Postgres, authentication and storage, Mailgun for email, and the code in GitHub.
- Data
- Collected listing data delivered as CSV, an XML rental listings feed, and properties, units and media tables with test data mapped in.
- Access
- Two roles, owner and renter, with Supabase Auth linked to a public users table, role based routing and protected pages.
- Media
- Supabase Storage for user and property media, with gallery URL handling for property photos.
Data and retrieval
Apps and APIs
Also in the stack
How it shipped
Property data
CSV deliveries from several large property management websites, then deeper detail page data, unit models and public housing authority data for every state.
Feed and plan
The XML listings feed format, a project update and action plan, and strategy sessions on the listings site, then the client's theme files for the build.
Setup and property management
Next.js and Supabase setup, the schema, sign up and sign in for both roles, profiles, the submit property flow and the owner dashboard.
Search, discovery and communication
Browsing with advanced filters, list view, property, building and unit details, Apply Now, data mapping and email.
Client revisions and QA
A milestone of client revisions with a change request document and feature breakdown, then a full QA cycle and a client demo.
Data delivered in rounds
Each data delivery went to the founders for review, and their feedback set the scope of the next round.
Milestones with demos
Setup and property management, then search and communication, then client revisions, with an internal demo to QA before the client demo.
Change requests in writing
We held weekly client meetings and daily internal scrums, and when RentSpire sent new wireframes, we answered with a change document and updated wireframes before any build.
What this unlocked
RentSpire next raised a regular refresh of the listing data and lead generation built on the same data.
Related work
Have a product with the same kind of constraints?
Tell us what already exists and what you want it to do. We will tell you what it takes.
