← All work

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.

  1. 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 out

    Building screens first and filling them with listings later.

  2. 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.

  3. 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 out

    One flat table per property, which would hide its floor plans.

  4. 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 out

    Absorbing new wireframes informally mid sprint.

How the system fits together

listings,detailsauthority dataCSV filesfeed formatmapped datasearches, applieslists unitsdata, auth,mediaemailsRentersSearch, filter andapplyOwners andmanagersList properties,units and mediaPropertymanagement sitesPublic listings anddetail pagesHousing authoritydataPublic housingauthorities,…Listing datacollectionCollected, cleanedand structuredNext.js listingssiteSearch, details,Apply Now, dashboardSupabasePostgres, Auth andStorageMailgunAccount and formemailsCSV datadeliveriesProperties, details,unit modelsXML listings feedFor an outsidelisting portal
PeopleOutside serviceBuilt by DaticsData storeOne structured data model serves the site's database, the CSV deliveries and the XML feed for an outside listing portal.

What we built

01

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.

02

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.

03

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.

04

Owner dashboard

Owners and managers submit properties with units, communities and media, then manage them in a table with filters, pagination and delete.

05

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

One property in the XML listings feedSample data
<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

SupabasePostgreSQL

Apps and APIs

Next.js

Also in the stack

MailgunCSVXML feeds

How it shipped

  1. 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.

  2. 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.

  3. 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.

  4. Search, discovery and communication

    Browsing with advanced filters, list view, property, building and unit details, Apply Now, data mapping and email.

  5. 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.

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.

Book a 30-minute Product Review