← Investor Materials
GILDRA
Your Beauty App
System Overview

Follow a single request through the platform we've built — from the apps in your hand, through one secure gateway, into the microservices and the vendors behind each one.

8
Backend Services
2
Client Apps
60+
Data Models
7
Third-Party Vendors
Follow a request
01  ·  Clients

It starts in your hand

Two first-class apps share one backend. A request begins here — a tap to book, to pay, or to search — carrying a signed login from Firebase.

Web App

Next.js · React · TypeScript

Dark-mode web app: sign up with email or Google, discover with AI-powered natural-language search, onboard payouts via Stripe Connect, book, and post to the social feed.

Third-party dependencies
Firebase Google Stripe

iOS App

Swift · SwiftUI · MVVM

Native iOS (17+) with 80+ screens: discovery, booking, the artist calendar, place-owner tools, real-time messaging, and push notifications.

Third-party dependencies
Firebase Google Stripe
02  ·  The Edge

Every request enters through one door

Before any application code runs, the request hits our gateway. It checks the Firebase login against the Identity service and stamps each request with a trusted internal user — so every service downstream can simply trust who's asking.

API Gateway

Self-hosted Caddy v2

A self-hosted Caddy instance is the single front door for the whole platform. It routes traffic to the right service and enforces authentication once, at the edge — no third-party vendor sits in this path.

03  ·  The Services

Inside the microservices

From the gateway, the request reaches one of our services. Each owns a single job and its own data, and each leans on a focused set of dependencies — shown on every card below.

Third-party vendor Self-hosted data layer
01
Identity & Access
Ruby · Sinatra

The canonical record of who every user is, and the security checkpoint for the system. It verifies the Firebase login the gateway hands it and maps it to a trusted internal identity, provisioning new users just in time.

Firebase token verification Just-in-time user provisioning Invitations Handle availability
Depends on
Firebase PostgreSQL
02
Marketplace API
Ruby · Sinatra

The heart of the product: salons and rentable spaces, artist profiles with services and pricing, the full appointment lifecycle, availability, reviews, and the social feed. It also powers natural-language space search and publishes events to the rest of the system.

Places & spaces Artist services & pricing Booking lifecycle Availability scheduling Social feed & reviews AI space search
Depends on
Anthropic Claude PostgreSQL Redis
03
Payments
Ruby · Sinatra

All money movement runs through here. Stripe Connect onboarding gets place owners and artists paid directly, appointment charges pre-authorize and capture, and rent billing settles on a schedule — with every Stripe webhook verified.

Stripe Connect onboarding Appointment charges Platform fees Rent billing Webhooks
Depends on
Stripe PostgreSQL
04
Notifications
Ruby · WebSocket

Keeps everyone in the loop in real time. It consumes events off the bus, streams live updates to connected apps over WebSocket, and fires mobile push notifications that deep-link straight to the right booking or chat.

WebSocket delivery Mobile push Event-bus consumer Deep-link actions
Depends on
Firebase Cloud Messaging Redis PostgreSQL
05
Messaging
Ruby · WebSocket

Real-time chat between clients, artists, and place owners — with typing indicators, read receipts, and access control so people can only message through handles their organization owns. No third-party vendor is involved; it runs on our own real-time stack.

Conversations Typing & read receipts Handle-based access control
Depends on
Redis PostgreSQL
06
Email
Ruby · Sinatra

Transactional email and preferences — welcome messages, organization invitations, and availability reminders — driven off the same event bus, with per-user subscription controls and one-click unsubscribe.

Welcome & invites Availability reminders Subscription preferences One-click unsubscribe
Depends on
Mailtrap Redis PostgreSQL
04  ·  The Vendors

Every third-party vendor, in one place

Seven commercial vendors handle the hard, undifferentiated problems — so our engineering stays focused on the marketplace itself. Everything else (the gateway, the data layer, ticketing) we run ourselves.

GitHub
Source-code hosting and CI/CD — pushes trigger automated builds and deploys.
All repositories
Render
Cloud hosting, managed PostgreSQL & Redis, and automated deploys.
Entire platform
Firebase
User authentication (email & Google) and mobile push notifications.
Clients · Identity · Notifications
Stripe
Payment processing and Connect payouts directly to artists & owners.
Payments · Clients
Mailtrap
Transactional email delivery and template management.
Email
Anthropic
Claude AI powering natural-language search across the marketplace.
Marketplace API
Google
Maps geocoding for location-aware search, plus Google Sign-In (OAuth).
Clients
05  ·  The Backbone

A shared data & event layer

Services never reach into each other's databases. Each owns its own schema, and they coordinate by passing events over a stream — so payments, notifications, and email stay decoupled and scale on their own.

PostgreSQL

System of record

One managed database with an isolated schema per service, so each team owns its data with clean boundaries.

Redis Streams

Event bus & real-time

The backbone that carries events between services and powers live WebSocket channels for notifications and chat.

06  ·  Operations

Where it all runs

The entire platform runs on Render, deploying automatically from Git with separate staging and production environments.

  • Render hosting — every service auto-deploys on each push to Git.
  • Staging & production — isolated environments gated by branch.
  • Managed PostgreSQL — one database, a dedicated schema per service.
  • Managed Redis — event streaming and real-time pub/sub.
  • Containerized — Docker images for consistent builds everywhere.
  • Self-hosted Caddy gateway — auth enforced once, at the edge.
  • Self-hosted Fizzy boards — internal ticketing & task management.