Inspiration

I'm a college student that took a cross-disciplinary coding module in biology. Being completely new to coding, I faced many learning challenges with the speed and style of learning coding, and seeing coding being taught separately from my professional field. I wanted an easier way to learn to code. Most beginner courses out there assume you want to become a programmer and provide you a handbook to follow. Many of us need to see how code can be implemented in our professional roles to read a script, query a table, or check what an AI tool produced in biology, engineering or business. MOAT is built for that.

What it does

First, you pick your study area and MOAT adapts the quizzes to match your current personal standpoint, such as seeing how code works in a plant garden for health sciences or a power meter for engineering. MOAT provides learning in Python, R, SQL, JavaScript, MATLAB and Java (and more to come), which are the most relevant tools used in cross-disciplinary work.

MOAT presents five kinds of questions: Fill the blank, predict the output, build the line, find the bug, and match. Simple exercises that don't distract, but instead leads you to easier understanding.

How we built it

SwiftUI for iOS, the RevenueCat SDK through Swift Package Manager, and lessons stored as JSON files. I designed the screens and built the app with Claude. Every answer in the JavaScript, SQL and Java lessons was run in a real interpreter to check it. MOAT offers Premium through a paywall with a 7-day free trial. The app uses the RevenueCat SDK to load the offering and make the purchase, and it reads the premium entitlement to decide who is Premium. I used the Test Store so the full purchase flow works with no paid Apple developer account.

Challenges we ran into

The hardest part was getting the app to build with RevenueCat added. As a beginner, I spent a long time on Xcode errors where one small setup problem, like a missing import, hid behind a long list of red messages. It taught me to read errors one at a time, starting from the first. The second challenge was that the other languages couldn't just be Python with new keywords. R prints a [1] before its answers, SQL has no variables, MATLAB hides output when a line ends with a semicolon, and Java needs a type for everything. So each language got its own story world and its own lessons. I had to double check the content of each language by hand with computing students.

Accomplishments that we're proud of

I'm proud that someone with no initial CS background built a working iOS app with a complete beginner course, having six study areas with 60 Python questions each across three phases, two mini-games, five question types, and a robot that reacts to every answer. I then grew it into five more languages, adding 100 new questions in a few days. I'm also proud that the paywall runs through the real RevenueCat SDK, so Premium status comes from RevenueCat and not from a switch I flip myself.

What we learned

Making one course feel native to many fields without writing many apps took a data-driven design. Getting RevenueCat working without a paid developer account taught me the value and importance of the Test Store.

What's next for MOAT

We are looking to partner with reputable universities first to fully develop the content for the different languages, and look to implement it full-time to be the first gamified education app to provide micro-credentials.

Share this project:

Updates

Submission history