Introducing Revere

Pranav Sathyanarayanan

Monday April 12th 2021

The Goal

Revere CRE is the first modern market network for Commercial Real Estate. We want to facilitate seamless search and discovery across capital markets, leasing, and property & facility management and to become the daily homepage for commercial real estate professionals.

Our main product can be broken down into one of three distinct feature verticals:

  1. A networking/prospecting platform which allows users to search, discover and connect with each other. Our matchmaking leverages a variety of capital markets attributes (e.g. risk profile, property type, capital tranche) to facilitate connections.
  2. A deal marketing platform for CRE projects. We enable our users to take their project (e.g. ground-up development, dispositions) to market for a fraction of the cost.
  3. A rich set of workflow tools such as deal analytics, capital markets statistical models and reporting automation. These enable our users to increase transaction velocity by reducing time to capitalize on their deals.
Market Network Venn-Diagram
Source: https://www.nfx.com/post/10-years-about-market-networks/

Our hypothesis is simple: In an industry that is predominantly relationship based, the trust, reputation, and integrity of a Sponsor/Broker/Capital Provider is what distinguishes them and their ability to provide an ROI to their stakeholders. Through creating a first-of-its-kind invite-only network focused on CRE capital markets and track record combined with turnkey deal marketing & analytics, we will improve access to information, people, and money while increasing overall transaction-velocity.

In the last two months alone, we began our national marketing campaign to hundreds of thousands of people, peaking at several thousand concurrent users on our platform. Simultaenously, we have taken several early-adopter deals to market; tracking thousands of users' interactions on these pages and surfacing back insights to our clients. We have faced our fair share of bugs and failure along the way, but I am confident that our team and software can scale to meet the challenge.

High-Level Overview

To accomplish all of this, we first had to identify a set of core competencies so that we could prioritize feature development and anchor our buy-vs-build discussions:

  1. Model and render people, companies, historical employment, and the relationships between them all. This is our core prospecting/networking data set.
  2. Security and privacy around user uploaded documents (images, files). These are sensitive documents or high quality renderings of properties that our users upload to the site.
  3. Deal email marketing, which is a key value add to our user base.
  4. Treating C2C analytics as a first-class citizen of our tech stack, capturing user interactions on our page, clicks, downloads, etc. This data is useful to project owners, but also serves as the basis of several other product offerings.

The expectation is that this list grows as we expand our business, but in the meantime, we set out to solve the problems above.

Market Network Venn-Diagram
Simplified Revere architecture

Breaking down the core of the Revere platform:

  1. Our web application is written in Next.js and React.
  2. We model our data and interact with our PostgreSQL database via Prisma.
  3. We query and serve our data via Relay and GraphQL.
  4. We outsource our authn/authz, file storage, and related security policies to Firebase.

Aside from prior experience, these choices were deliberately made given where we want to be as a team and as a company:

  1. We wanted to server-side render our application for SEO purposes (hence Next.js). Our deal pages are publically visible for marketing purposes, and therefore had to have OpenGraph tags for a good user-experience when sharing on social media.
  2. Our data is almost-purely relational (for now), so pgSQL was a solid start as we already had experience with it as a team. The ability to store JSONB data types has also been useful to store document-style data and query via SQL.
  3. Prisma allowed us to define our schema in a DSL that could be translated not only to SQL (via Prisma Migrations), but also to GraphQL. This also provides us a fluent API over our data so that we did not have to write raw-SQL for our common use cases.
    1. Prisma provides convenient wrappers like createMany and upsert, provides TypeScript type definitions, produces performant / smaller queries to prevent database locking, and much more.
  4. GraphQL and Relay (resolvers implemented with Nexus library) provides numerous benefit for our data serving / fetching logic.
    1. Components on our pages can specify data required for rendering independently, ensuring complex web-pages with several components are de-coupled. Mutations that modify state across several components are also entirely de-coupled as Relay handles local-state modification (optimistically rendered). As our team grows, developers can work independently on pages/functionality as GraphQL/Relay handles all of the difficulty of federating/resolving data.
    2. Queries which require numerous amounts of relational data (such as our deal page components) can be written as single GraphQL queries per component with all the required data. Relay will prevent over-fetching of data and multiple round-trips.
    3. Combined with Next.js (via relay-nextjs), we can choose to server or client side render on a component by component basis.
  5. Firebase provides us out of the box authn/authz, along with file storage and configurable security policies for our deal confidential data-room functionality.
  6. CloudFlare's CDN for our bundled JS/CSS asset provides a blazing fast experience (< 700ms first contentful paint) even with high quality user-uploaded media.
  7. Finally, we write next-to-no CSS through our use of Tailwind CSS. We have built a variety of custom components (nicknamed: RevereKit) like: multiselect, in-app tutorial, flyouts, and modals. These components are mobile-friendly and allow for a consistently-styled and responsive UI/UX.

There is one piece missing in the diagram above, and it's inarguably our most important and invaluable components: the team. There is no doubt that our system will need to evolve as the challenges we face change in the coming months and years. However, I know that our team will learn, support and assist each other throughout this exciting journey!

What will provide defensibility?” The answer: “Networks of users, transactions, or data

- Alex Moazed, Modern Monopolies