Skip to content
Ranjith Rajshekar

05 · Wellness concept · 2025

Sahaja

A practice companion built around showing up, not streaks, and a teacher marketplace held back until it's ready to ship.

Role
Product design: concept, system, prototype
Timeline
2025–2026
Scope
13 practices, 3 journeys, a full practice player, a feature-flagged marketplace
Platform
Mobile: 390 × 844 prototype
01 / 08Context

A self-guided practice companion, built around showing up rather than streaks, and a two-sided marketplace designed in full but held back from daily use.

Sahaja is a concept, not a shipped product. There's no company, no live backend, no real instructors behind it. What's real is the app: a working practice library with a player, three guided journeys, and a teacher-session marketplace that's fully built but deliberately kept out of the main experience until it earns its place there.

A library, not a video feed

The core of Sahaja is 13 structured practices across body, breath and mind, plus short one-minute resets for a busy moment. Every practice carries the same shape: what it offers, how to set up, numbered steps, a breath cue, alignment points, common mistakes, modifications and a caution list, not just a title and a play button.

The prototype is coded and interactive: browse the library, open a practice, read the full instruction, and run it in a real player with a countdown and step progression. Every screen on this page is a capture of it.

Sessions with a live teacher exist as a complete, working flow, booking, payment, a teacher-side dashboard, even a moderation screen, sitting behind a single toggle labelled "a future release" so it never competes with the daily practice for attention.

Type
Self-directed concept: no company, no backend
Platform
Mobile (390 × 844 prototype)
Library
13 practices, 3 guided journeys
Marketplace
Fully built, off by default

Five tabs, one of them not turned on yet

Today, Practice, Learn, Journey and Sessions sit in the tab bar. The first four carry the daily product. Sessions is the marketplace entry point, present in the navigation but empty of promotion until a resident toggles it on from Settings.

  • Today
    • Check-in → adapts the recommendation
    • Recommended practice → Begin
  • Practice
    • Filter by domain, time, position, safety
    • Collections: Start Here, Morning, Wind Down
  • Journey
    • Practice Petals (weekly, no streak)
    • Guided journeys → day-by-day detail
  • Sessions (preview, off by default)
    • Discover teachers → book → pay → confirm
    • Teacher side: apply, dashboard, payouts
  • Profile
    • Saved · Reminders · Safety profile
    • "Teacher Sessions: a future release" toggle

From browsing to breathing

A practice you can actually follow

  1. 01 / 03

    The library reads like a menu, not a grid of thumbnails

    Domain filters (Body, Breath, Mind, Life), a length and position filter, and a safety-level filter sit above the list. Each card states its level plainly, Start Here, Foundation, or Practice with care, before you tap it.

    Sahaja Practice library filtered All, showing Settle & Arrive, Ground & Settle, Even Breath
    Practice: filters that match how you're arriving, not a genre list.
  2. 02 / 03

    The detail screen is the instruction, not a teaser

    Duration, position and level up top, then what the practice offers, and (for anything above "Start Here") a standing caution card before the button to begin. Nothing is hidden behind the player.

    Sahaja practice detail: Settle & Arrive, 5 min, Seated, New, with benefits and a caution note
    Detail: read it before you commit to it.
  3. 03 / 03

    The player keeps the one line that matters on screen

    A breath cue ("Breathe in for 4, out for 6, never forced") stays visible the whole time, with a simple countdown and a calm, low-contrast palette that doesn't compete with the practice itself.

    Sahaja practice player: Settle & Arrive running, breath cue visible, timer at 0:01 of 4:59
    Player: one instruction, not a dashboard.
Sahaja Practice library filtered All, showing Settle & Arrive, Ground & Settle, Even Breath
Practice: filters that match how you're arriving, not a genre list.

Where the product held its nerve

  1. Decision 01
    Constraint
    A numeric streak is the easiest progress metric to build, and the first thing that makes someone feel like they've failed after missing a day.
    Decision
    Replace it with Practice Petals, a weekly flower that fills from any kind of engagement, a full practice, a short reset, or a reflection, with no counter that resets to zero.
    Result
    The Journey tab reads "5 of 8 petals this week. Showing up, resting, and reflecting all count" rather than a broken streak number.
    Sahaja Journey: Practice Petals at 5 of 8, balance across Body, Breath, Mind and Life, 7-Day Foundations at 71%
    Journey: a week's shape, not a chain to keep unbroken.
  2. Decision 02
    Constraint
    Yoga and breathwork content that reads as generic wellness copy erodes trust the moment someone tries a practice that isn't right for them.
    Decision
    Give every practice a safety level and its own caution list, and put a standing "when to seek a professional" note on the detail screen rather than a one-time disclaimer at signup.
    Result
    Even a beginner-friendly practice like Settle & Arrive carries a specific caution ("If lightheaded, return to natural breath"), not a generic warning.
    Sahaja practice detail showing a Practise with care caution card
    The caution is specific to the practice, not boilerplate.
  3. Decision 03
    Constraint
    A teacher marketplace is a genuinely different product, two-sided, transactional, with its own trust problems, and building it halfway would have diluted the daily practice experience.
    Decision
    Design and build the whole thing, discovery, booking, payment, a teacher-side dashboard and payouts, but gate it behind one toggle explicitly labelled as a future release, off by default.
    Result
    The Profile screen's "Teacher Sessions" row reads "A future release. Toggle on to preview the teacher marketplace, it stays out of your daily navigation", exactly what it does.
    Sahaja Profile: Alex Rivera, Sahaja Plus, and a Teacher Sessions preview toggle switched off
    Profile: the preview feature, named as one, off by default.

A guided week, day by day

Guided journeys turn the same practice library into a short programme. 7-Day Foundations is a gentle first week. Each day opens onto a small set of practices rather than one long session.

  • Sahaja journey detail: 7-Day Foundations, Day 5, Steady Seat, 64% complete, three practices for today
    Day 5 of 7: three short practices, not one long class.

Warm, low-contrast, and drawn by hand

A cream and parchment palette keeps the interface calm, moss green marks progress and safety, and a muted amber carries cautions. Cormorant Garamond, often italic, gives headings and emotive copy warmth. DM Sans carries the interface. Every pose and concept has its own monoline figure icon, drawn once and reused everywhere, on cards, empty states, and as the fallback avatar when no photo is set.

  • Moss: progress, safety#2E7F6B
  • Cream: background#F5EDD8
  • Ink: text#1C0F07
  • Care: cautions#C9852F
  • Mind: meditation content#8E7AA6
  • Headings: Cormorant Garamond400–500 · often italic
  • Interface: DM Sans400–700 · 11–16px

Try it

The real prototype on sample data, served as supplied with two changes only: React and ReactDOM are now loaded locally instead of from a CDN, and the demo profile's photo, name and email have been replaced with sample content (see the case study's source notes). Browse the library, open a practice, run the player, check Journey.

Sahaja Today screen

Loads on request. Nothing is embedded until you start it.

What it is, and what it isn't

Sahaja is a portfolio concept: a working practice library, player and journey system, with a fully designed marketplace kept off by default. It has no company, no backend and no real instructors behind it, so it's presented as exactly that: a concept to try, not a shipped or live product.

  • 13 fully-written practices with real instruction, not placeholder copy
  • A progress system designed to avoid streak pressure by construction
  • A complete second product, the teacher marketplace, built but not switched on by default

Reflection

The teacher marketplace was the harder design call than any single screen in it: building the whole two-sided flow and then choosing not to surface it by default. It would have been easy to ship it prominently and let the daily practice experience compete with it for attention.

The smaller decision I'd point to instead is the caution list on every practice. It's not dramatic, but it's the difference between a wellness app that feels responsible and one that just feels calm.