Kehai turns a phone break into a small visit to Japan. It brings breathing, nature sounds, seasonal discovery, and personal reflection into one living landscape on iPhone and iPad.

The starting point was Japan's 72 microseasons, or kō: short periods named for small changes in nature, from arriving winds to the first frost. They offer a way to notice time beyond appointments and deadlines. Kehai grew from a seasonal calendar into a place to experience time at different scales: a breath, a day, a season, a year, and a life. The name 気配 means a sense or presence, like the first hint of a changing season.

Open the app and a stylized 3D landscape surrounds the current season. A river moves, birds pass, light changes, and petals, leaves, or snow follow the time of year. Move through the same world to read the current kō, explore the calendar and Moon, see the year as a circular wheel, or reflect on your life. Camera journeys connect these activities while the landscape and your sound mix remain familiar.

For a short pause, choose an inhale, exhale, and session length, then follow the visual breathing guide as the view opens toward the sky. Mix river, bird, and frog sounds individually, and keep listening with the screen locked. For reflection, save a note or drawing with the current microseason. When that season returns in another year, earlier entries can return with it. The Life view places personal chapters and moments within a map of the years. There are no journaling streaks or daily completion targets.

Kehai is built with Swift and SwiftUI, RealityKit, custom Metal shaders, original Blender assets, AVFoundation, PencilKit, and WidgetKit. A local Swift package, KehaiCore, calculates the astronomical calendar on device. Its solar-longitude calculations determine the 24 solar terms and 72 microseason boundaries instead of relying on a fixed date table. The Japanese almanac follows Japan Standard Time, while optional calendar integration shows the user's existing events in their local time zone. Kanji and pronunciation guides sit alongside adjustable English assistance, and original English notes introduce each seasonal phenomenon.

RevenueCat powers Kehai Pro through its iOS SDK and RevenueCatUI. Monthly, yearly, and lifetime purchases share one Pro entitlement. A remotely configured paywall uses the app's Cedar Ravine artwork, localized store prices, and eligibility-aware trial messaging. The app includes purchase restoration and Customer Center integration. Pro adds alternative landscapes, manual seasons and Moon phases, additional reading designs, and alternate app icons. The free experience retains a complete calendar-driven landscape, breathing, sound controls, seasonal reading, notes, and calendar views. Remembered premium preferences return when access is restored.

The hardest work was making a visually rich place feel quiet and behave reliably. Seasonal typography had to stay readable over moving scenery. The 3D renderer, camera, audio, and native controls needed to agree when changing views, returning from the background, or restoring a purchase. Background listening needed to continue while the visual scene stopped rendering. Calendar accuracy also required care around astronomical boundaries and civil dates. These challenges led to explicit scene ownership, shared calendar calculations, and focused tests for dates, access changes, and rendering behavior.

A central lesson was that calm comes from small, consistent choices: keeping a sound mix intact, returning to the same scene, letting someone preview a design before upgrading, and making an occasional note feel complete. The result brings an astronomical calendar, an interactive world, and a personal record together without requiring a Kehai account. Birthday, notes, drawings, and life chapters stay on device; RevenueCat processes the purchase information needed for Pro.

Next steps are to refine the landscape interactions, continue device and accessibility testing, and learn which daily rituals people choose to make their own.

Built With

Share this project:

Updates

Submission history