Compass Mobile Engineering

Russell Stephens
Compass True North
Published in
3 min readFeb 7, 2017

Real estate, despite being about a particular place or location, is an inherently mobile industry. Agents and clients connect via phone calls and email. GPS and navigation apps get us to our next open house. One of our mobile team goals is to stay one step ahead of both our agent and consumer’s needs.

Android coming soon!

At Compass, we’ve been very deliberate about building apps to serve the needs of specific users. We currently offer three different iOS apps to help consumers and agents with their needs, and are actively building out their Android counterparts.

Compass Homes

The Compass App helps consumers find their next home, with a Compass agent guiding them there. Check out our app to find a nearby open house and save it to a collection and comment away. Available for both iPad and iPhone.

Markets

Before you get to that open house, how do you know if your home is really worth the price you see? Compass Markets is the first real-time market trends app that shows you how much a home is worth everywhere Compass is available. Available for both iPad and iPhone.

Open House

Compass agents are able to record every potential consumer who checks in to their open house to better organize and automate follow ups. Available for both iPad and iPhone for agents only.

Tech

We build native apps for iOS and Android. Keeping true to our nature of being one step ahead we use Swift and Kotlin.

We like to get our hands dirty! Instead of relying heavily on open source frameworks, we tend to use the bare minimum: HockeySDK, Segment, as well as a few frameworks outlined below. When it comes to dependency management we use Carthage and Gradle due to their simplicity and very much non-magical approach (so no cocoapods).

Our UI is written in code versus XIB or XML, this removes an extra step from the code review process and an extra thing we need to remember. By building our UI in code we can have one or several compact approaches that can easily be configured. Our Swift UI is built with SnapKit, and our Kotlin UI is built with anko.

We are big believers in clean code and refactoring to ensure our designs fit the problem we are trying to solve.

  • We built our own lightweight observable framework in swift (kotlin coming soon!). It’s called Snail and it is awesome.
  • Our API code is generated off of our Thrift contract definitions and compiled into a framework dependency.
  • We rely heavily on generics (swift, kotlin) and refactor our generic solutions into extensions (swift, kotlin) and build a framework out of these as well.
  • All three of our apps re-use the exact same sign in flow from our Compass UI Framework.

This makes the process of adding a new mobile offering simple and painless. Aside from a few app specific features, the majority of any new app is already built, tested, and ready to be reused.

Reusable sign-in flow

Join us!

We are always looking for brilliant candidates to help solve tomorrow’s problems. Our team is growing and actively hiring, see if your next position is available here

--

--