Case study · Real estate

offMLS

Off-Market Listing App for Real Estate Brokers

offMLS lets licensed real estate brokers share properties before they reach the MLS. We took over its Django web app and hybrid mobile app in 2015, opened it to every state, added private groups, client lists and saved searches, and kept it running in the App Store and on Google Play.

Overview

offMLS is a private network for licensed real estate brokers. Members post properties that are for sale or rent but not yet on the MLS, plus want ads and open houses, and other brokers search them by area, price and type. It runs as a web app and an iOS and Android app on one shared Django backend.

The first version launched in Chicago before we were involved. We took over development in 2015 and have built and supported it since.

offMLS: Overview

The Challenge

The app was built for one market. Registration checked an Illinois broker license number, and address lookups were limited to Illinois. The owner wanted to open offMLS to other metros and then the whole country without shipping a new app for every market, while keeping it closed to anyone who is not a licensed broker.

Brokers also wanted control over who sees a pre-market listing, and a way to keep their own clients informed. And the hybrid PhoneGap app had to keep up with Apple and Google's changing store rules.

The broker decides the audience. A post can go to every member in a state or region, or first to a private team or distribution group. Clients hear about matches by email, from the broker's own address.

What We Built

From one metro to every state

We added an API that tells the app which markets exist and how to validate each one's registration, so a new market no longer needs a new build. Colorado came next. A national release then opened all 50 states and Washington, DC, with a switch between "my state" and nationwide listings. In 2017 we added regions: groups of ZIP codes inside a state that the offMLS team manages in the admin, with CSV import, and that members can filter by on the web and in the app. In 2022 we let brokers post in any state, and the app now remembers whether a member last viewed their state or the whole country.

Members only

Registration asks for a broker license number, company and area, and the offMLS team approves each account before it can see anything. We later added a referrer field, admin tools for activation and password resets, and reCAPTCHA against spam signups.

Private groups, clients and saved searches

Team and distribution groups let a broker publish to a private audience first, or to all members. Team admins can post and edit listings on behalf of their team. Each broker keeps a client list, and saved searches can be tied to clients: when a new listing matches, the client gets an email sent from the broker's own address, so a reply lands in the broker's inbox. Private groups, saved searches and regions launched together on the web, the App Store and Google Play in March 2018.

Notifications that carry the listing

Members get email and push notifications for new posts, based on their own settings. Emails include the listing photos, and each notification waits up to 20 minutes after a listing is created so the broker has time to finish uploading photos.

Keeping a hybrid app in the stores

We kept the PhoneGap, Cordova and Ionic app shippable through a long list of platform changes: the Cordova security upgrade Google required in 2016, moving push notifications to Firebase Cloud Messaging, replacing UIWebView before Apple stopped accepting it in 2020, privacy policy and data safety requirements, and getting the app relisted on Google Play after a 2021 delisting.

Moving the backend

When the original host retired its platform in December 2020, we moved the Django app, its PostgreSQL database and the staging site to a new Linode server with SSL. In 2024 we rebuilt staging in Docker and documented server recovery.

A new mobile app

In 2024 we started rebuilding the mobile app in React Native and TypeScript against the same backend. The first phase covered onboarding, signup and login, home search with filters by type, area and group, and creating, editing, sharing and starring listings. We also worked on stabilizing the shared API so both apps can run on it.

offMLS: What We Built
offMLS: What We Built

Results

  • One app that grew from a single Chicago market to every state, with regional filtering inside a state.
  • Private groups, saved searches and regions, live on the web and in both app stores since March 2018.
  • A members-only network where every account is approved by hand and every listing reaches only the audience the broker chose.
  • The app kept in the App Store and on Google Play through nearly a decade of platform changes.