Inspiration

Physics is easier to understand when you can change something and see the result. We wanted to make the iPhone Duo’s fold part of a hands-on experiment, so kids could explore a scientific idea through play.

What it does

Lumi’s Lab is a story-led physics playground. In the playable Glass Pond, kids predict what will happen to a beam of light, change its angle by folding the device or using an on-screen dial, and watch the result. They discover when light stops escaping the glass and reflects back inside, then use that discovery to wake a moon lily.

How we built it

We built the app with SwiftUI. A physics model calculates the light ray’s behavior, while SwiftUI Canvas draws the scene. The Duo hinge and accessible on-screen dial both control the same model. We designed the wider journey in Figma and integrated RevenueCat for parent-gated Plus plans, entitlement checks, purchase restoration, and Customer Center.

Challenges we ran into

The fold needed to feel essential to the experiment without making the lesson impossible on other devices or when hinge input was unavailable. We addressed this by giving the dial the same controls and results. We also worked to explain total internal reflection in language kids could understand while keeping the underlying glass-to-air model accurate.

Accomplishments that we're proud of

The Glass Pond is a playable lesson with a complete predict, experiment, understand, and apply loop. Kids receive gentle feedback, can finish without using the hinge, and can save their completion in the app’s journal. Purchases stay behind a parental gate.

What we learned

A focused, interactive experiment can teach more than a screen full of facts. Building the Glass Pond also taught us how to connect a physical device interaction, a consistent physics model, and a child-friendly story.

What's next for Lumi's Lab

We plan to build the Mirror Room, Marble Ramp, and Launch Angle from our designs, then test the lessons with families. Before an App Store release, we’ll connect live store products and finish production subscription setup.

https://www.loom.com/share/8e850bcbc755463ba223ccfd5cae9ef5

Built With

  • figma
  • ios
  • iphone-duo
  • revenuecat
  • revenuecatui
  • storekit
  • swift
  • swiftui
  • swiftui-canvas
Share this project:

Updates

Submission history