nahom endale
Case StudiesAboutResume
Nahom Endale

© 2026 Nahom Endale, New York

Case StudiesAboutResumeGitHubLinkedIn
Nahom Endale/Case studies/Olaa
Olaa logo

Olaa

Link-in-bio pages for shops, musicians and makers

9 · Appearance panels with a live phone preview

Stripe · Pro subscriptions and billing portal

72 · Guides from a Claude content pipeline

Supabase · Auth, Postgres and row-level security

01The Challenge

+
Creators want one page for their links that also sells, collects sign-ups and shows what's working, without stitching together five different tools to get there. And a new product in a crowded space needs a way to be found.

02The Solution

+
Olaa is a link-in-bio SaaS built end to end. Creators edit their page in a dashboard with a live phone preview: links, a nine-panel appearance builder, analytics, a forms inbox and product cards. Supabase handles auth and stores each page behind row-level security, and Stripe runs the Pro subscription. Around the product sits a marketing site built to be found in search, with programmatic use-case pages and a library of guides produced by a Claude content pipeline.

03The Dashboard

+

Paste any link and it fills in a preview. Drag to reorder (dnd-kit), schedule links, and add collections, galleries, countdowns, sign-up and contact forms.

Every screen renders the real public page beside the editor, so changes show up as you type. Profile edits save automatically.

Nine panels (looks, header, background, buttons, text, collections, countdowns, forms, payments) plus ready-made looks and a look generated from the colors of an uploaded photo.

Views, clicks and click rate over 7, 30 or 90 days, a hand-built SVG activity chart, top links and traffic sources, from first-party tracking.

Email sign-ups and contact messages land in one inbox, with an OAuth connection that syncs sign-ups to Mailchimp.

Paste a Stripe payment link, Etsy listing or shop URL and the product photo, name and price fill in. Olaa takes no cut.

Stripe Checkout for monthly or yearly plans, the Stripe billing portal, and a webhook that keeps plan status in sync. Pro unlocks up to 10 pages.

Internal views for accounts, traffic, the content pipeline's cost, reported pages and scam-domain review.

Links editor with the live preview

04The Marketing Site

+

A marketing site with a claim-your-name sign-up, a features page, and a Free vs Pro pricing table with FAQ.

Seven use-case pages (musicians, shops, cafes, studios, clubs, Instagram, TikTok) generated from one data file, each with its own Open Graph image, plus six demo pages built on the real profile component.

72 guides across 9 topic hubs, stored in Supabase. A scheduled pipeline researches the search results, clusters keywords, writes with Claude and runs a second Claude pass to check the draft.

The Olaa landing page

05System Architecture

+

App

Next.js App

Auth + Store

Supabase

Payments

Stripe

Content

Claude Pipeline

Analytics

PostHog

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

App

Next.js App

Auth + Store

Supabase

Payments

Stripe

Content

Claude Pipeline

Analytics

PostHog

06Technology Stack

+

Next.js 16 · React 19 · TypeScript · Tailwind v4 · Radix UI · dnd-kit · Zustand

Supabase Auth · Supabase Postgres · Row-level security

Stripe Checkout · Stripe billing portal · Resend · Mailchimp OAuth

First-party click tracking · PostHog · GA4 · Claude content pipeline · Netlify Functions

07Key Learnings

+
  1. 01Rendering the real public page as the dashboard preview, instead of a mock, meant every design change was tested the moment it was made.
  2. 02Counting views and clicks first-party kept the creator analytics accurate even when ad blockers drop third-party scripts.
  3. 03Generating use-case pages from one data file let the marketing site grow without hand-building each page.
  4. 04Pairing a writing model with a separate checking pass caught weak or inaccurate drafts before they were published.
  5. 05Moving auth from Clerk to Supabase put users, pages and permissions in one database, enforced by row-level security.
Visit olaa.im ↗
Visit olaa.im ↗
The Olaa landing page
The Olaa landing page
Links editor with the live preview
Links editor with the live preview
Appearance: ready-made looks
Appearance: ready-made looks
Analytics: views, clicks and sources
Analytics: views, clicks and sources
Pricing: Free vs Pro
Pricing: Free vs Pro
A generated use-case page
A generated use-case page
The Olaa landing pageLinks editor with the live previewAppearance: ready-made looksAnalytics: views, clicks and sourcesPricing: Free vs ProA generated use-case page
The Olaa landing page
previous← OxeoxenextE-Comm Negotiation Flow →