Inspiration

I kept pulling tarot cards and then immediately googling their meanings. I've always loved the art and introspective nature of tarot as a tool for self-reflection, not fortune-telling. I wanted an app that could be a quick reference for my physical deck or let me do a full digital reading when my cards weren't with me. The name Lunanul (a palindrome with "Luna," meaning moon) captures that mirror-like, reflective quality.

I also chose this project specifically to test Kiro's capabilities and see how it could supercharge my development process from start to finish.

What it does

Lunanul lets you pull virtual tarot cards for a reading or look up the meanings of specific cards from your physical deck. Its standout feature is the AI-powered interpretations. You can get perspectives from different "personas" (like a wise mystic, a practical therapist, or a poetic philosopher), making each reading a unique and thought-provoking experience.

How we built it

The core app is built with Flutter and Firebase, but the real story is how Kiro helped me build the tools to build the app:

  • The Main App: Flutter for the frontend, Firebase (Firestore, Auth) for the backend, and an LLM API for the magical AI interpretations.
  • The Asset Generator: I quickly realized I needed a ton of visuals. Instead of making them manually, I used Kiro to build a custom Vue/TypeScript app whose sole job was to generate perfect prompts for AI image tools. This tool flawlessly created my logo, backgrounds, icons, and card art in a couple of hours—a task that would have taken me days alone.
  • The Dev Tools: Wanting to test everything, I used Kiro to quickly learn and implement Playwright for automated integration testing. Within hours, I had a powerful testing suite running.

Using these Kiro-powered tools, I had a working "toy" version of Lunanul up and running incredibly fast.

Challenges we ran into

  • Scope & Time: As I added more functionality and tackled the complex subscription model, I simply ran out of time to launch fully. The initial build was fast, but the final polish and app store submission are a marathon.
  • Subscription Hiccups: Speaking of which, implementing in-app purchases is always a challenge. And I'm not gonna lie, those issues Kiro had launching their subscription model, which caused usage to reset, really came in clutch and gave me the extra time I needed to work on it!

Accomplishments that we're proud of

  • Building Tools to Build the App: Creating two powerful dev tools (the asset generator and the test suite) with Kiro's help was a huge accomplishment that supercharged my productivity.
  • Vibe Coding Success: Creating an app that I genuinely use and that works exactly how I envisioned for my own readings.
  • AI Personalities: Successfully implementing distinct and engaging AI personas that provide real value.

What we learned

  • Kiro is a Force Multiplier: It's incredibly powerful for rapidly prototyping not just features, but entire tools that accelerate development. It turned days of work into hours.
  • Prompt engineering is a superpower, both for AI interpretations and for generating AI art assets.
  • The 80/20 Rule is Real: It's easy to get 80% of the way there; the real challenge is the final 20%: polish, subscriptions, and launch.

What's next for Lunanul - A Tarot cards interpretation app! ✨

  1. Finally LAUNCH! 🚀 Taking that final step to publish on the Google Play and Apple App Stores.
  2. Gathering Feedback: Seeing how users interact with the AI personas and refining them.
  3. Expanding the Universe: Adding more cards (like Oracle decks) and even more diverse interpretive personas.
  4. Monetization: Fully implementing and testing the subscription model to unlock advanced features.

Built With

Share this project:

Updates