Pearl
The app's pearl material, on a word and on its buttons. A press shifts the reflection over a second, then lets it settle over 1.4 seconds.
Recite with confidence.
Nextayah began in 2022 as a small experiment inside Mktab and grew into its own product. The loop is simple: listen, recite, get feedback, go again. Making that loop feel effortless is where most of the work went.
The app is dark by design: a charcoal room with one bright action at a time, colour arriving as weather at the top of a screen or light along an edge. Recitation is scored on the device by a speech and alignment engine written in C++.
The pieces below are ported from the app, its Skia shaders translated to WebGL and its Reanimated timings kept. The maqām steps at the end are the exception: they come from nextayah.io.
The app's pearl material, on a word and on its buttons. A press shifts the reflection over a second, then lets it settle over 1.4 seconds.
In Recite Together, people take turns to recite, and the wheel shows whose turn it is. Here emoji stand in for the people, and each landing colours the room and plays a note.
The ornament engraved on the app's metal, such as the doors that part at the start of each session. Here it draws itself in order: rules, then strokes, then nodes. Then it breathes and turns under a moving light.
The glass edge on the app's tab bar and buttons: faint at the top, full at the base, with light falling inward the way it does on real glass. It can bloom in places, or send a light around the rim.
A living edge of light, round the screen while you recite. It breathes when the room is quiet, swells as a voice gets louder, and slides between violet and blue as the pitch rises and falls. Four bright spots drift on their own clocks, so it never repeats. Turn on the microphone and it follows you.
The reciter's melody is drawn as steps, then it's your turn to match them. In the app, they play inside the glow. Here your turn is simulated, so nothing is recorded.
2,635 commits, made on 224 separate days, in 9 repositories.
And 6 smaller repositories, with 109 commits between them.