Skip to content
← Back

Laya Studio

A cross-platform mobile application for creative studio management — project tracking, client communication, portfolio showcase, and appointment scheduling. Built with React Native for iOS and Android.

React NativeExpoNode.jsFirebaseTypeScriptPush Notifications

The Problem

Creative studios — photography, design, and video production teams — manage their businesses across a mess of spreadsheets, WhatsApp groups, and generic project management tools. None of these are built for the mobile-first workflow that creative professionals actually use in the field.

Laya Studio is a cross-platform mobile app built with React Native that brings project tracking, client communication, portfolio showcase, and appointment scheduling into one purpose-built tool.

Architecture

The app is built with React Native + Expo on the frontend and Node.js + Firebase on the backend:

  1. React Native (Expo) — Cross-platform UI with custom animations, gesture handling, and native-feeling navigation
  2. Node.js API — Business logic layer handling scheduling conflicts, notification dispatch, and file processing
  3. Firebase — Authentication, Firestore for real-time data, Cloud Storage for media assets, and Cloud Messaging for push notifications
  4. Expo Notifications — Cross-platform push notifications for appointments, messages, and project updates
┌──────────────────────────┐
│    React Native (Expo)    │
│  ┌──────┐  ┌───────────┐ │
│  │ iOS  │  │  Android  │ │
│  └──────┘  └───────────┘ │
└──────────────────────────┘
            │
            ▼
┌──────────────────────────┐
│      Node.js API          │
│  (Scheduling + Logic)     │
└──────────────────────────┘
            │
      ┌─────┴──────┐
      ▼            ▼
┌──────────┐ ┌───────────┐
│ Firestore │ │  Cloud    │
│ (Data)    │ │  Storage  │
└──────────┘ │  (Media)  │
             └───────────┘

Key Features

Project Tracker — Kanban-style boards for managing creative projects through stages (Brief → In Progress → Review → Delivered). Attach reference files, set deadlines, and track time.

Client Communication — In-app messaging with read receipts, file sharing, and project-context threads. Clients get a lightweight companion view to approve deliverables and leave feedback.

Portfolio Showcase — Beautiful grid and carousel layouts for displaying finished work. Share portfolio links with prospective clients directly from the app.

Smart Scheduling — Calendar with availability management, automatic timezone handling, and conflict detection. Push notification reminders for both the studio and the client.

Results

| Metric | Value | |--------|-------| | Platforms | iOS + Android (single codebase) | | Framework | React Native + Expo (managed workflow) | | Auth | Firebase Authentication (email, Google, Apple) | | Real-time data | Firestore with offline persistence | | Media storage | Firebase Cloud Storage with thumbnail generation | | Notifications | Expo Push Notifications + Firebase Cloud Messaging | | Navigation | React Navigation with stack + tab navigators |

Key Learnings

  • Expo's managed workflow accelerates shipping. Not ejecting meant faster iterations, OTA updates, and no native build debugging. The tradeoff — limited native module access — never became a blocker for this use case.

  • Firestore's real-time listeners change the UX paradigm. Data syncs instantly across devices without polling. When a client approves a deliverable, the studio sees it immediately — this eliminated "did you see my email?" friction.

  • React Native gestures need careful tuning. The swipe-to-archive and drag-to-reorder interactions required react-native-reanimated for 60fps performance. The built-in gesture system was too janky for production.

  • Push notification UX is make-or-break. Smart batching (grouping multiple project updates into a single notification) and respecting quiet hours dramatically improved notification opt-in rates. Nobody wants 15 pings about file uploads.