Inspiration

There’s a frustrating moment when you’ve read about something, found it fascinating, and then struggled to explain it to someone else.

I built Curio around that moment. I wanted an app where curiosity leads somewhere: you explore a question, understand the idea, and practice explaining it until you have something you can bring into a conversation.

What it does

Curio helps you learn about the things you’re curious about and explain them with confidence.

Pick a topic from the library or create a lesson around your own question. Curio guides you through visual explanations and interactive questions, then asks you to explain what you learned in your own words.

That explanation gives Curio something specific to work with. It can point out a missing connection, an unclear point, or a part you understood well. You get guidance for your next attempt and a chance to hear how your explanation changes.

You might start by wondering why airplane windows are round. By the end, you’ve practiced explaining the relationship between their shape and how pressure affects the structure.

The app supports English and Spanish. Your lessons stay in your library so you can return to the ideas you want to keep practicing.

How we built it

I built Curio as a solo project in Swift and SwiftUI, with native components for visual lessons, interactive questions, and speaking practice.

OpenAI models generate lessons and provide feedback on explanations. Cloudflare Workers and Workflows run lesson generation in the background, while Supabase stores accounts, lessons, and progress. RevenueCat manages subscriptions and premium access.

The learning flow connects these pieces around one task: help someone understand an idea well enough to explain it themselves.

Challenges we ran into

The hardest part was making the feedback useful. Someone can speak smoothly while missing the concept, or hesitate while explaining it correctly. Curio needed to assess understanding and communication separately.

Generated lessons brought another challenge. Each topic needed an explanation suited to it, useful visuals, and questions that checked what had been taught. I built structural checks and recovery states so failures could be handled inside the experience.

English and Spanish also had to work throughout the flow, including generated content, voice input, and feedback.

Accomplishments that we're proud of

I’m proud that someone can bring their own question into Curio and follow it through to an explanation in their own voice.

That connects personal curiosity with a concrete outcome. You have an opportunity to find out where your understanding holds up, where it breaks down, and what to work on next.

I also built a companion and visual identity that make speaking practice feel welcoming. Curio listens, responds, and gives people room to try again.

What we learned

Asking someone to explain an idea changes what the app needs to teach. Definitions alone leave gaps. People need examples and connections they can use when forming their own explanation.

Feedback also needs to give someone a manageable next step. Pointing to a specific missing connection gives them something to try in their next recording.

What's next for Curio: Learn Anything

I want to test whether people can explain an idea more clearly after using Curio and how much they can still explain several days later.

Those results will guide improvements to lessons, feedback, and review. I also plan to expand the topic library and make custom lesson generation faster, so more everyday questions can become something people understand and feel ready to talk about.

Built With

Share this project:

Updates

Submission history