Two friends at a cafe table looking at a smartphone together
All Case Studies

// Consumer Social & Local Business

FavePage

Platform Takeover & Rebuild: Mobile App, Back Office & Marketing Site

Took over the FavePage platform — a social recommendations network where people share the places and things they love and businesses get discovered by word of mouth — and rebuilt every client on a modern TypeScript stack: a new iOS and Android app from one Expo codebase, a standalone back-office console at app.favepage.com, and a new marketing site with a public, search-indexed directory of FavePages. The existing API and ArangoDB database on Azure kept serving throughout.

3

Clients Rebuilt: App, Admin & Site

iOS + Android

One Expo Codebase

10,000+

Places in the Public Directory

TypeScript

Across App, Admin & Site

// Product tour

Inside the Build

Marketing site

favepage.com: the home page, the businesses page and the public FavePage directory.

Next.js 16React 19Tailwind CSSVercelfavepage.com
Home page
Browse FavePages: a public, indexable directory of recommended places
The pitch to businesses and professionals
The home page on a phone

Back office

The admin console at app.favepage.com, shown in its demo mode with sample data — no real accounts.

ViteReact 19TypeScriptTanStack QueryZodVercel
Dashboard with pending approvals and new accounts (sample data)
Every FavePage on the platform, filterable by type, city, category and status (sample data)
Step-by-step FavePage editor with approval status (sample data)
User moderation with roles and bans (sample data)

Mobile app (iOS & Android)

Screens from the FavePage store listing. The rebuilt Expo app carries the same design system to both stores.

ExpoReact NativeTypeScriptEAS BuildFastlaneplay.google.com/store/apps/details?id=com.favepage.app
All your faves in one place
A FavePage for a business
Add a fave: businesses, books, movies, shows and more
Save things for later
See your friends' activity

// The problem · 4 pain points

The Challenge

FavePage came to 27nodes with a live product: an API, a graph database, a mobile app, and one web bundle serving both the public website and the admin console. The owner wanted each piece easier to change and ship on its own, and a public site that could bring in search traffic, without pausing the platform or changing the API the apps depend on.

01

Website and admin in one bundle

The public site and the admin console shipped as a single app, so a change to one meant a release of both

02

A public site search engines could read

Business FavePages were the platform's best content, and the owner wanted them indexed and findable in search

03

Two stores, one team

The mobile app had to ship to both the App Store and Google Play from one codebase, with repeatable release builds

04

A live API to build against

Every new client had to work against the API as deployed, preserving each endpoint's contract

// How it works

How It Fits Together

Three new clients, rebuilt one at a time against the API already in production.

Rebuilt by 27nodes

New TypeScript clients, each deployed on its own

  1. 01

    Mobile App

    Expo app for iOS and Android from one codebase

  2. 02

    Back Office

    Vite and React console at app.favepage.com

  3. 03

    Marketing Site

    Next.js site with a public FavePage directory

Release & Hosting

Repeatable builds for every channel

  1. 01

    EAS Build + Fastlane

    Staging and production builds for both stores

  2. 02

    TestFlight & Play

    Testing tracks before every store release

  3. 03

    Vercel

    Hosts the back office and the marketing site

Platform (kept running)

The API and data the apps are built against

  1. 01

    Express API

    Node.js API on Azure Container Apps

  2. 02

    ArangoDB

    Graph database of people, pages and faves

  3. 03

    Azure Blob Storage

    Photos and media for FavePages and posts

// What we built

Our Solution

1

Mobile App Rebuild (iOS & Android)

Rebuilt the app on Expo with strict TypeScript, expo-router, TanStack Query, Zustand and NativeWind, matching the shipped app's design system. Builds run on EAS Build with Fastlane lanes for TestFlight, Google Play testing tracks and production, with a separate staging app so staging and production never mix. Push notifications move to Firebase Cloud Messaging on both platforms.

2

Back-Office Console

Split the admin into its own Vite, React 19 and TypeScript app at app.favepage.com: dashboard, FavePage moderation and a step-by-step page editor, users, posts, tags and categories, waitlist and beta signups, inquiries, promotions and push notifications. Every API response is validated with Zod at the boundary.

3

Marketing Site & SEO Directory

New Next.js 16 site for favepage.com, server-rendered so every page is indexable: home, businesses, about and updates, plus a public Browse FavePages directory of more than 10,000 recommended places, each with its own page.

4

Infrastructure & Handover

Moved the repositories into the client's own GitHub organization, documented the Azure deployment map (API on Azure Container Apps, ArangoDB on Azure VMs, media in Azure Blob Storage), and deployed both new web apps on Vercel.

// Technologies used

Built With

Expo
React Native
TypeScript
Next.js
React
Vite
Tailwind CSS
TanStack Query
Zod
Node.js
Express.js
ArangoDB
Azure Container Apps
Vercel
EAS Build
Fastlane

// Boca Raton, FL → nationwide

Ready for Similar Results?

Let's discuss how we can help bring your project to life.