Inspiration

Percore started with a simple question: how good are we at noticing?

Most of us know roughly how fast we can run or how much weight we can lift, but perception is harder to see. Can you remember an exact shade of green? Can you reproduce a tone after hearing it once? Can you feel two seconds without counting? Can you rebuild a shape from memory?

These are small abilities, but they show up everywhere: in design, music, photography, editing, architecture, sport, and everyday attention. We wanted to make them visible and trainable without turning the experience into another loud brain game.

The idea became a short daily practice: a few minutes to tune your senses, get an honest reading, and return to the world noticing a little more.

What it does

Percore is a daily perception trainer for iPhone.

The standard daily ritual moves through four areas:

  • Vision — remember and recreate color
  • Hearing — listen to and match pitch
  • Timing — feel and reproduce duration
  • Spatial — remember and rebuild shape, scale, rotation, and position

Every exercise follows the same simple rhythm: observe, remember, recreate, compare.

Percore records real input rather than manufacturing progress. Scores are calculated from measurable differences such as hue distance, pitch error in cents, timing deviation, and spatial accuracy. Over time, those sessions become a personal view of how each sense is changing.

The app now contains 17 perception modules, including contrast, brightness, rhythm, frequency, motion, distance, balance, and prediction. Free users always have the daily calibration. Percore Pro adds unlimited practice, deeper progress views, weekly comparisons, and the ability to build a focused daily ritual from any four modules.

That last feature matters to us. A musician may want a ritual made entirely around hearing: Pitch, Rhythm, Direction, and Frequency. A visual designer may prefer Color, Contrast, Brightness, and Shape. The daily practice remains intact, but Pro lets it become personal.

Percore also supports sharing without turning perception into a leaderboard. A shared calibration invites a friend to try the same experience. Both readings can sit side by side; neither person needs to be declared the winner.

How we built it

Percore is built with Expo, React Native, and TypeScript, with custom interactions powered by Reanimated and Gesture Handler.

The exercises needed more than conventional mobile controls. Color uses perceptual distance calculations, sound uses a native audio engine and cents-based pitch scoring, timing responds to press duration, and spatial exercises track several dimensions at once. Daily targets are deterministically seeded, so people opening the same calibration receive the same underlying challenge.

Supabase handles authentication, profiles, progression sync, challenges, personal rituals, and server-side entitlement records. For subscriptions, we integrated RevenueCat rather than treating purchases as a boolean stored on the device.

Challenges we ran into

The hardest part was deciding what Percore should not become.

Early versions leaned too heavily on familiar game mechanics: levels, XP, badges, composite scores, and competitive language. They made the product easier to explain, but less honest. We removed XP, reduced the role of the headline score, and moved the experience toward readings, patterns, and self-relative progress.

Audio was another challenge. Pitch matching has to feel immediate, but mobile audio is sensitive to lifecycle changes, device state, and timing. We built a single reusable audio engine, carefully managed oscillator cleanup, and tested physical-device behavior instead of relying only on the simulator.

Accessibility was especially challenging because many exercises use custom sliders, waveforms, canvases, sound, or press-and-hold gestures. We added adjustable VoiceOver controls, alternate interaction paths, reduced-motion behavior, Dynamic Type support, and layouts that correctly mirror in RTL without mirroring the perceptual stimulus itself.

Accomplishments that we're proud of

We are proud that Percore now feels like one product rather than a collection of mini-games.

A daily session has a consistent pace and visual language across very different senses. The product can be quiet without feeling empty, and precise without feeling clinical.

The detail we care about most is simple: the demo and the app use the same scoring math. The first interaction with Percore should not make a promise the product cannot keep.

What we learned

We learned that a trustworthy measurement product needs restraint.

Showing more numbers does not automatically create more understanding. A single honest observation can be more useful than a dashboard full of invented precision.

We also learned that monetization cannot be added at the end as a screen. It touches identity, account recovery, analytics, backend authorization, product design, and customer support. RevenueCat gave us a strong foundation for store behavior, experiments, restoration, and subscription management, but the surrounding product still had to understand why someone reached the paywall and what should happen after they leave it.

Finally, we learned that accessibility improves the product itself. Designing a timing exercise without relying only on press-and-hold, or a spatial exercise that can be adjusted one dimension at a time, forced us to understand our own interactions more clearly.

What's next for Percore

The next step is learning from real daily use.

We want to test which Pro experiences genuinely help people go deeper, starting with focused rituals and clearer explanations of perceptual bias. Instead of only saying that a pitch was inaccurate, Percore should be able to show whether someone consistently hears it sharp or flat. The same idea applies to color, timing, and spatial reconstruction.

RevenueCat Experiments will let us test the membership experience, introductory offers, and paywall presentation without tying every iteration to an App Store release. We also want to improve the path from a shared calibration to a new user’s first successful session.

Longer term, the goal is not to add endless games. It is to make each sense feel deeper and to help people notice changes they can actually feel outside the app.

Percore should never tell someone they have “won” perception.

It should help them notice more.

Built With

Share this project:

Updates

Submission history