In the yogic tradition, sādhana describes a disciplined and dedicated daily practice meant to carry someone toward a chosen goal.

As a yoga teacher and practitioner, I have always been overwhelmed by the sheer number of practices — and the even larger number of variations — available. For someone hoping to get into yoga and build a consistent practice, it can be difficult to choose one path and stick to it, because there will always be someone telling you to do something different. Along my own yoga journey, I have met teachers who told me to keep my knees straight and others who told me to micro-bend them. Some told me to spread my fingers apart, others to keep them together. These are all small changes, but they add up, and they can make one practice completely different from another. That is why I made Sādhana: an app that resolves this by giving you a single, personally curated practice to follow each day, all rooted in classical Hatha yoga.

Open Sādhana and you already know what to practice. A hand-painted yogi awaits you with a practice tailored specifically to you — one that adapts and responds to your movement, your stillness, and your need for recovery. Your daily practice is carefully crafted to grow with you and let you go deeper over time. Drawing on the traditional yogic concept of abhyāsa — repetition — you are encouraged to stay with one practice over a sustained period, so that you can fully experience its natural depth.

A living, hand-made teacher

Sādhana was built with personal depth in mind. That is why the yogi and his surrounding sanctuary are carefully painted and animated by hand. To bring him to life without heavy video or any outside service, I built a small 2D cutout-rig animation system from scratch. The yogi is a hand-painted figure, separated into parts and posed in real time, drawn as crisp vector art that stays sharp at any size and runs entirely on your device. To author every posture and transition, I created a dedicated Rig-Studio — a companion drawing board that shares the exact same animation code as the app — so every breath, bow, and sun salutation you see was shaped by hand and ships precisely as it was designed.

A deterministic practice engine

At the heart of Sādhana is a deterministic practice engine — the intelligence that decides what you practice each day. Intentionally, it works without AI and without randomness. Instead, your practice is composed through pure logic from a catalogue of classical Hatha that I curated myself as a teacher.

The challenges I faced

I faced two major challenges during development. The first was creating the yogi and the sanctuary itself. Although I paint on canvas from time to time, I had never had the chance to dive deeply into digital illustration before. Yet, once the core concept of the app took shape, I wanted to make something that felt personal and calm, with a distinct human touch. This led to the decision to paint the app's teacher and his surroundings myself in Procreate, and to create a dedicated animation engine to keep every animation lightweight and local. It turned out that this level of craft is a large feat for a solo developer to implement — far more than I had expected. But after consistent daily effort, which I came to regard as my own sādhana, I am very happy with the result.

The second challenge was the deterministic practice engine itself. I wanted to build something that feels intelligent and adapts to a person's needs in a subtle yet noticeable way — maintaining a healthy balance between movement, recovery, and meditation, while giving users the chance to truly get to know a sādhana in depth before moving on, rather than introducing something new every day. The results speak for themselves.

Dāna: an offering

In the spirit of dāna — a yogic principle understood as an offering — Sādhana has three pricing tiers built with RevenueCat, all of which unlock the same full lifetime access. This choice lets each user give back according to their own capacity, and, in the case of the two higher tiers, have an impact that reaches beyond themselves and the app. From the two higher tiers, Sādhana sets aside $5 at the "A fair exchange" tier and $20 at the "In service of others" tier into a dedicated Giving Fund, ring-fenced from launch and committed to bringing yoga to children who could otherwise never afford to learn it. I am finalizing the charity partner who will receive these contributions, and every gift the fund makes will be posted to a public giving log. Building an offering that lets the app reach beyond itself is perhaps the achievement I am proudest of.

What I learned

Building Sādhana also revealed a beautifully harmonious way of working with AI in today's world: while Claude wrote code, I had the freedom to create hand-painted assets for the app — pouring my creative soul into the yogi and his environment, and teaching myself a new skill, digital illustration, along the way. So perhaps my biggest lesson from Sādhana is the value of creativity and individual vision. In a world where the technical side of app development can be handled in a few prompts, we can allow ourselves to shift our awareness to the creative process behind it all, and make things that were previously unthinkable. Sādhana is therefore more to me than just an app; it is a living piece of art and expression, meant to bring the joys of classical Hatha yoga to the world.

I am excited to build this project out further — introducing more practices, polishing the animations and graphics, and adding many new features, all while preserving the calm voice of the app. I also want to formalize and deepen our charity partnership, so we can bring yoga to more people worldwide. If Sādhana lets us share the joys of classical Hatha yoga with even one more person, that is the greatest success I can imagine.

Built With

Share this project:

Updates

Submission history