Overview
Notermed is a CS2-owned AI medical transcription product ("notes that write themselves") that turns patient conversations into clinical notes. CS2 built the public marketing surface and the authenticated application shell on a single Next.js codebase, with a dynamic AuthProvider that sends each visitor to the product app or the marketing pages depending on session state.
The challenge
What the business needed
Notermed isn't a brochure site. The same domain has two jobs: convince a doctor or clinic administrator the product is worth a trial, then be the app itself once that user signs in. Most SMB site builders can't do either side well. Stitching a WordPress marketing site to a separate SPA usually means two domains, two brands, and an SEO mess. Notermed needed one codebase that handled both.
The build
What CS2 shipped
CS2 built Notermed on Next.js with an AuthProvider wrapping the entire app, so the same URL renders the public marketing hero for anonymous visitors and the authenticated product UI for signed-in users. Assets live on AWS S3 behind CloudFront for fast cold-start loads worldwide. Page-level SEO metadata is set per route, which lets Google index the marketing surface without exposing the gated product. Behind the client sits a Java 17 Spring Boot API (Spring Security with JWT, PostgreSQL with pgvector, and Redis), with AI transcription and note generation running through AWS Bedrock via Spring AI plus a dedicated Whisper speech-to-text service, streamed back to the clinician over WebSockets.
Highlights
What's on the site today
- Single codebase for marketing site + authenticated product app
- AuthProvider-wrapped routing, so the same URL behaves differently per session
- SEO metadata set per route for indexable marketing pages
- AWS S3 + CloudFront delivery for global low-latency loads
- Architecture that keeps patient data out of third-party site builders, so no PHI touches a marketing tool
Tech stack
What it's built on
- Next.js client
- Java 17 + Spring Boot API
- Spring AI + AWS Bedrock
- Whisper speech-to-text service (Python)
- PostgreSQL + pgvector
- Redis + WebSockets
- React Native (Expo) mobile app
Outcome
How it operates today
Notermed serves its marketing traffic and product UI from one Next.js codebase, with no Webflow-plus-SPA duct tape and no SEO split across subdomains, backed by a Java Spring Boot API that owns auth and clinical data and runs the AI note generation. The product listens to a clinician's conversation with a patient and writes the structured clinical note automatically, taking away the after-hours charting tax that drives physician burnout. A doctor lands on the marketing site, signs up, and is generating notes on the same domain without a jarring handoff to a separate app shell.
What this proves
How CS2 ships a real SaaS product, with marketing and app on one Next.js codebase instead of a template site stitched to a separate web app.
