Fern Labour

FernLabour.com is a modern SaaS tool for labour tracking and real-time sharing. It combines a contraction timer with a private subscription system that lets loved ones follow along with updates via SMS, WhatsApp, or email.

https://fernlabour.com

Overview

#saas #health #TypeScript #Python #SQL #React #Next.js #FastAPI #SQLAlchemy

Repositories

Components

Marketing Site

frontend

TypeScript · Next.js

Hosted on Cloudflare – Pages

  • Static export for faster load times, easier hosting, and better SEO.

Frontend App

frontend

TypeScript · React (Vite)

Hosted on Cloudflare – Pages

  • Labour tracking application. Supports PWA installation and offline tracking.

Labour Service API

backend

Python · FastAPI

Hosted on GCP – Cloud Run

  • Contraction analysis, subscriber relationships, Stripe

Notification Service

backend

Python · FastAPI

Hosted on GCP – Cloud Run

  • SMS, WhatsApp, Email via Twilio/SMTP

Contact Service

backend

Python · FastAPI

Hosted on GCP – Cloud Run

  • Slack integration and Cloudflare Turnstile

Auth

infra

N/A · Keycloak

Hosted on GCP – Compute Engine

  • OIDC provider for platform

Database

db

SQL · PostgreSQL

Hosted on GCP – Cloud SQL

  • Sensitive information is encrypted at rest.

Technical Notes

See repository documentation for full architecture. Key stacks include FastAPI-based services, React/Vite frontend, and a static Next.js marketing site. Messaging uses Twilio and SMTP with templated notifications. Authentication via Keycloak. Local development orchestrated with Docker Compose. Event messaging uses Google Pub/Sub (emulated in dev) with custom Consumer and Producer implementations (which can be found at fern-labour-pub-sub linked above).

Performance & Security

Load Performance

Load performance for Fern Labour
  • Static Next.js marketing site exported and served via Cloudflare Pages for fast global edge delivery.
  • React app built with Vite; optimized bundles and route-based code splitting keep the initial payload lean.
  • Image assets optimized and lazy‑loaded; fonts preloaded; HTTP caching tuned for static assets.

Security

Security overview for Fern Labour
  • Authentication handled with Keycloak (OIDC); scoped tokens for services.
  • All traffic over HTTPS; backend services isolated on GCP with least‑privilege service accounts.
  • Data stored in Cloud SQL with encryption at rest.
  • Security headers can be locked down because the app does not call any non-fernlabour domains.