RORK LABJP
TOOLING — Rork's developer repos keep moving: rork-xcode was updated on July 16, rork-device on July 15, and rork-plist on July 13OPUS46 — Claude Opus 4.6 is live in Rork, and Rork Max is built to assemble apps on top of Claude CodeSIM — A cloud iOS simulator runs in the browser, with one click to install on a device and two clicks to publish to the App StoreMAX — Rork Max emits pure Swift rather than React Native, reaching iPhone, iPad, Apple Watch, Apple TV, Vision Pro, and even iMessageNATIVE — That opens up HealthKit, ARKit and LiDAR, NFC, Dynamic Island, Live Activities, 3D through Metal, and on-device inference with Core MLSEED — Rork raised a $15M seed led by Left Lane Capital, with Peak XV and a16z Speedrun joining the roundTOOLING — Rork's developer repos keep moving: rork-xcode was updated on July 16, rork-device on July 15, and rork-plist on July 13OPUS46 — Claude Opus 4.6 is live in Rork, and Rork Max is built to assemble apps on top of Claude CodeSIM — A cloud iOS simulator runs in the browser, with one click to install on a device and two clicks to publish to the App StoreMAX — Rork Max emits pure Swift rather than React Native, reaching iPhone, iPad, Apple Watch, Apple TV, Vision Pro, and even iMessageNATIVE — That opens up HealthKit, ARKit and LiDAR, NFC, Dynamic Island, Live Activities, 3D through Metal, and on-device inference with Core MLSEED — Rork raised a $15M seed led by Left Lane Capital, with Peak XV and a16z Speedrun joining the round
Articles/Getting Started
Getting Started/2026-03-24Beginner

Build a Meditation Timer App with Rork — Your First Mindfulness App from Scratch

Learn how to build a meditation timer app using Rork. This beginner-friendly guide walks you through creating a countdown timer, ambient sound playback, session history, and polished mindfulness UI.

Rork515meditation app3timermindfulnessbeginner20React Native209health

Why Build a Meditation App?

Health and wellness apps are one of the most consistently popular categories on both the App Store and Google Play. Meditation and mindfulness apps, in particular, offer an ideal combination for indie developers: the core features are straightforward to build, yet users tend to come back day after day.

Below, we build a meditation timer app from scratch using Rork. Even if you're relatively new to app development, Rork's AI assistant can help you get a functional app up and running in about 30 minutes to an hour.

What you'll learn:

  • How to implement a countdown timer with visual progress
  • Adding ambient sound playback during meditation sessions
  • Saving and displaying session history
  • Designing a calming, intuitive UI

Prerequisites and Setup

Before diving in, here's what you'll need.

Required:

Helpful but not required:

  • Basic understanding of app screen structure (home, settings, etc.)
  • Familiarity with React Native or Expo concepts (Rork handles most of it for you)

If you're brand new to Rork, check out the "Getting Started with Rork" guide first.

Designing the App — Planning Your Screens

The first step is mapping out what screens your app needs. When working with Rork, giving the AI a clear picture of the overall structure leads to much better results.

The Three Essential Screens

  1. Home Screen (Timer): The main countdown timer with start/pause/reset controls
  2. History Screen: A record of past meditation sessions
  3. Settings Screen: Timer duration presets, sound selection, and notification preferences

Sample Prompt for Rork

Type something like this into Rork's chat to get started:

Build a meditation timer app with the following features:
 
1. Home screen
   - Circular countdown timer with a progress ring
   - Preset buttons for 5, 10, 15, and 20 minutes
   - Start/pause/reset controls
   - Calm, dark blue color scheme
 
2. History screen
   - Session records with date, duration, and completion status
   - Weekly total meditation time summary
 
3. Settings screen
   - Custom timer duration input
   - End-of-session sound selection (bell, chime, or silent)
 
Use bottom tab navigation.
Color theme: calming dark navy + white.

With just this prompt, Rork will generate the screen layouts, navigation structure, and core components automatically.

Implementing the Countdown Timer

The timer is the heart of any meditation app. Let's look at how the core timer logic works, building on what Rork generates for you.

Core Timer Logic

// Timer state management (example of Rork-generated code)
import { useState, useEffect, useRef } from 'react';
 
const useMeditationTimer = (initialMinutes: number) => {
  const [timeLeft, setTimeLeft] = useState(initialMinutes * 60);
  const [isRunning, setIsRunning] = useState(false);
  const intervalRef = useRef<NodeJS.Timeout | null>(null);
 
  useEffect(() => {
    if (isRunning && timeLeft > 0) {
      intervalRef.current = setInterval(() => {
        setTimeLeft((prev) => prev - 1);
      }, 1000);
    } else if (timeLeft === 0) {
      // Timer completed
      setIsRunning(false);
      // Play completion sound
      // Save session record
    }
 
    return () => {
      if (intervalRef.current) clearInterval(intervalRef.current);
    };
  }, [isRunning, timeLeft]);
 
  // Format as MM:SS
  const formatTime = () => {
    const minutes = Math.floor(timeLeft / 60);
    const seconds = timeLeft % 60;
    return `${minutes.toString().padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`;
  };
 
  return { timeLeft, isRunning, setIsRunning, setTimeLeft, formatTime };
};

Circular Progress Ring

The visual progress ring is a key UI element for meditation apps. Ask Rork to "show the timer as a circular progress bar," and it will generate a react-native-svg implementation for you.

// Circular progress calculation
// progress: 0 (start) to 1 (complete)
const progress = 1 - (timeLeft / totalTime);
const circumference = 2 * Math.PI * radius;
const strokeDashoffset = circumference * (1 - progress);
// Apply to SVG circle element

Adding Ambient Sound Playback

Background sounds during meditation significantly enhance the user experience.

Follow-Up Prompt for Rork

Add ambient sound playback to the timer screen:
- Options: rain, ocean waves, birdsong, and silence
- Sound starts when the timer begins and stops when it ends
- Add a volume slider control
- Use expo-av for audio playback

Sound Playback Basics

// Ambient sound with expo-av (example of Rork-generated code)
import { Audio } from 'expo-av';
 
const sounds = {
  rain: require('../assets/sounds/rain.mp3'),
  waves: require('../assets/sounds/waves.mp3'),
  birds: require('../assets/sounds/birds.mp3'),
};
 
const playAmbientSound = async (soundKey: string) => {
  const { sound } = await Audio.Sound.createAsync(
    sounds[soundKey],
    {
      isLooping: true,    // Loop playback
      volume: 0.5,        // Default volume
    }
  );
  return sound;
};

With Rork, you can add audio features simply by asking — no need to manually configure audio sessions or handle platform-specific setup.

Saving and Displaying Session History

Tracking meditation history encourages users to stick with their practice and keeps them coming back to the app.

Storing Session Data

The simplest approach in a Rork-built app is using AsyncStorage for local persistence.

// Session data type
interface MeditationSession {
  id: string;
  date: string;           // ISO 8601 format
  duration: number;       // In seconds
  completed: boolean;     // Whether the session was completed
  soundUsed: string;      // Ambient sound selection
}
 
// Save a session
import AsyncStorage from '@react-native-async-storage/async-storage';
 
const saveSession = async (session: MeditationSession) => {
  const existing = await AsyncStorage.getItem('meditation_sessions');
  const sessions = existing ? JSON.parse(existing) : [];
  sessions.push(session);
  await AsyncStorage.setItem('meditation_sessions', JSON.stringify(sessions));
};

Building the History Screen

Ask Rork to refine the history display with a prompt like this:

Improve the history screen:
- Group sessions by date
- Show meditation duration and a completion icon for each session
- Display "Total meditation time this week" as a card at the top
- Add a streak badge showing consecutive days of practice

Streaks and weekly totals add a gamification element that can significantly improve retention. Users love seeing their consistency visualized.

Polishing the UI and UX

Meditation apps demand a calming visual design and intuitive interactions. Here are some refinements to consider.

Color Palette

A color palette that works well for mindfulness apps:

PurposeColorDescription
Background#0D1B2ADeep navy
Primary text#E0E1DDSoft white
Accent#415A77Muted blue
Progress ring#778DA9Light blue-gray
Start button#1B9AAATeal green

Animations

Adding gentle fade-in and fade-out animations when the timer starts and ends gives the app a more polished, meditative feel. Tell Rork something like "add a soft fade animation when the timer starts" and it'll handle the implementation.

Wrapping Up — From Meditation App to App Developer

A meditation timer is one of the best starter projects for new app developers. It's simple enough to build in a single session, yet it covers a wide range of fundamental skills: timers, local data storage, audio playback, and thoughtful UI design.

With Rork, you can go from an idea to a working prototype just by describing what you want. Start with the basics — a timer and a start button — then layer on features like ambient sounds, streaks, and session history as you get comfortable.

If you're ready to take your app's design to the next level, check out "Design Techniques for Higher-Quality Rork Apps" for more advanced tips.

Health and wellness apps enjoy steady demand and offer plenty of monetization paths. This meditation timer can be your first step toward building something people genuinely use every day.

Share

Thank You for Reading

Rork Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $10 for lifetime access
View Membership →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

Getting Started2026-04-19
Build a Travel Planner App with Rork — Destinations, Schedules, and Packing Lists in One
A hands-on tutorial for building a travel planner app with Rork. Learn how to combine destination management, day-by-day itineraries, and packing checklists into a single app using prompts.
Getting Started2026-03-31
Build a Sleep Tracker App with Rork — A Complete Tutorial from Bedtime Logging to Sleep Score Analysis
Build a sleep tracker app with Rork. Log bedtimes, calculate sleep scores, and visualize weekly trends — a complete beginner tutorial with step-by-step prompts.
Getting Started2026-03-23
How to Build a Note-Taking App with Rork — A Complete Beginner's Tutorial
Learn how to build a fully functional note-taking app with Rork from scratch. This step-by-step tutorial covers data persistence with AsyncStorage, real-time search, and category filtering.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →