Building Moontra: From an Idea to a Cross-Platform App

Moontra started with a simple idea: create a calm, easy-to-use way to stay connected with the moon without overwhelming users with complicated astronomical data.

What began as a concept eventually became a complete cross-platform mobile application available on both iOS and Android.

Designing the Experience

From the beginning, I wanted Moontra to feel peaceful and intuitive. The interface was designed around a dark purple color palette inspired by the night sky, with information organized so users can quickly see what matters most.

Moontra provides the current moon phase, illumination, moonrise and moonset times, lunar day, visibility, and other astronomical information. It also includes a lunar calendar that allows users to explore upcoming phases and events beyond the current day.

Rather than simply displaying data, the goal was to turn that information into an experience that feels approachable.

Building Moontra

Moontra was developed in Flutter, allowing me to maintain a single codebase for both Android and iOS while still handling the platform-specific requirements of each ecosystem.

The development process included integrating lunar data through APIs, building the calendar system, creating configurable notifications for lunar events, managing backend services and API credentials through Supabase, and testing the application across different devices and platforms.

There was also plenty of work that users never see—debugging, dependency updates, Android and iOS configuration, signing, version management, notification behavior, and preparing releases for both Google Play and the App Store.

Those less-visible parts of development became just as important as designing the screens themselves.

From Design to Release

One of my favorite parts of Moontra is that I was able to work across the entire product lifecycle.

I designed the UX/UI, created the user flows and wireframes, developed the application, integrated its data services, tested it, debugged it, and handled deployment.

Watching something move from an early wireframe to an application running on an actual phone—and eventually into the hands of real users—is still one of the most rewarding parts of building software.

What Moontra Taught Me

Moontra has continued to evolve after its initial release. Maintaining it has meant revisiting old decisions, adapting to changes in Flutter and the mobile platforms, improving features, and solving problems that only appear once an application is running outside of a development environment.

It has been a reminder that launching an app isn’t really the end of development.

It’s the beginning of maintaining a real product.

Moontra is available for iOS and Android, and you can learn more about the design and development process on the Moontra project page here on SelenoDev.