← Back to education

My Bali App

Challenge 0. The first five days at the Apple Developer Academy Bali, where 220 learners with no shared starting point each shipped a real, working app, and walked out believing they were in the right place.

Overview

The real deliverable was belonging

Two hundred and twenty people arrive on the first day. Some have written thousands of lines of code. Some have never opened a design tool. Some are psychologists, small business owners, architects, career changers who talked their way in on curiosity alone. The question that shapes everything is not what they will build. It is whether, by Friday, each of them believes they belong here.

Challenge 0 answers that by making something true that no orientation talk could. In five days, every learner ideates, designs, and codes a small app of their own, alone, and ships it. Not a mockup. A thing that runs on a phone.

The brief looks like an app challenge. It is really a belonging challenge. The app is just the most honest way to prove to someone that they can.

Where it sits

The first thing, fully held

This is challenge zero, the entry point to a year of challenge based learning. It is designed to be the most supported experience of the whole program. Later challenges hand learners more and more of the uncertainty to hold themselves. This one holds almost all of it for them.

I built it around a deliberately linear shape, a waterfall on purpose. Ideate, then design, then build, then share, one clear phase a day. In a later challenge that rigidity would be the wrong lesson. Here it is a kindness. When someone is doing all of this for the first time, a clear next step is the difference between starting and freezing.

The first five days quietly teach the Academy's whole posture: you learn by making, the standard is real and shippable, and nobody does it alone even when the work is individual.

Who walks in

One challenge, every kind of person

We take learners through three intake lenses. The hard part of designing Challenge 0 is that all of them are in the same room, on the same brief, on the same clock. Pitch it to the coders and two thirds of the room drowns. Pitch it to the beginners and the coders coast and learn nothing about themselves.

Intake

Technical

Often fluent in another language and impatient to build. The challenge has to keep stretching them.

Intake

Designer

Thinks in screens and flows, but can freeze at the first line of code. The week meets them there.

Intake

Domain expert

Deep knowledge of a field, little software background. Often asks the sharpest question in the room.

The design problem is not the app. It is a single experience that gets a career switching psychologist and a self taught developer to Friday having both genuinely stretched.

The challenge

A two screen app, offline, made by Friday

Each learner builds their own app. Two screens. It has to work in airplane mode. Five days, ideation to something running on a device. The constraints are the curriculum. Two screens means you make one small thing good. Offline means no shortcuts through a web service, you build the actual thing. A list based app turns out to be the perfect first project, simple enough to finish, real enough to be proud of.

1
Day 1

Ideate

An intro to challenge based learning, then ideation in Miro. What is a problem in your own life here that a small app could help with? The bar is low on purpose. The point is to choose.

2
Day 2

Design

Hello, Sketch. Pencil sketches first, then into the tool. Learners watch their idea become screens, and pick up the shared language of low fidelity and high fidelity.

3
Day 3

Build

Hello, Xcode. The first ever line of Swift for most of the room, and by the end of the day something they made is alive in the simulator. This is the day the week turns.

4
Day 4

Connect the dots

The second screen, and the link between them. Now it is not a screen, it is an app you can move through.

5
Day 5

Celebrate and reflect

Share what you made, name what you learned, and record the synthesis. Not a product showcase. A room acknowledging that everyone in it just did the thing they were afraid of.

Why "My Bali"

The app is about their new life here

The brief asks learners to build an app for their own life in Bali, right now. A laundry finder. A warung tracker. A place to log the cost of things while you are still working out what things should cost. A phrasebook for the market.

That framing does quiet, deliberate work. Almost everyone in the room is new. Learners travel to Bali from across Indonesia and around the world, and a lot of the mentors and staff are new to the island too. Building an app about finding your feet here means the first thing a learner makes is a small act of settling in.

Everyone starts from the same universal place, my own life, so nobody is advantaged by prior domain knowledge, and every single app is personal to the person who made it.

Designing for every level

A high floor and no ceiling

The way you get a psychologist and a developer to both stretch in the same week is to set a floor everyone can clear and leave the ceiling open.

The floor is fixed

Two screens, offline, running by Friday. Fully scaffolded, step by step, with the beginner in mind, so finishing is genuinely achievable for someone touching Swift for the first time.

The ceiling is not there

A learner who finds the floor easy is quietly pointed further: a cleaner interaction, a harder Swift concept, a more considered design. Nobody is bored and nobody is lost.

The same brief is a first summit for one person and a warm up for another. Getting that spread right, in a room of 220, is the real design work of Challenge 0.

Engage, investigate, act

Their first taste of the model

Challenge 0 is the first time learners meet the shape every future challenge will take. Keeping it light here matters, because this is where the model has to feel possible rather than academic. The through line of challenge based learning is engagement, and at this stage engagement is mostly one belief: that building a whole working app in a week is even possible for me.

Engage

A small, personal problem in your own life here, chosen by you. Ownership from the first hour.

Investigate

Work out what your app actually needs to do and to be. Sketch it, shape it, decide.

Act

Build it, connect it, ship it, and stand up and share it.

A culture of peer learning

Everyone teaches, everyone learns

The work is individual, but the room is not. Challenge 0 runs in small group sessions built around each skill, and inside those sessions the teaching flows in every direction. The learner fluent in Sketch becomes, without much ceremony, a co facilitator on design day. The confident coder leans over a shoulder on Xcode day. The domain expert who felt behind turns out to ask the sharpest question about who the app is really for.

This is deliberate. From day one, contributing to someone else's learning is treated as part of being here, not a favour. It is how a room of strangers with nothing obviously in common starts to feel like a cohort, and how belonging gets built out of usefulness rather than sameness.

No AI, on purpose

Fundamentals first, AI later

Challenge 0 is built without AI, and that is a design decision, not an oversight. Before anyone leans on a tool that can generate the answer, they need to have felt the fundamentals in their own hands: what a screen is, what a line of Swift does, what it feels like to move from an idea to a thing that runs.

So this week is about first contact. The first pencil sketch, the first artboard, the first line of code, the first time the simulator shows you something you made. It is also where learners pick up the shared vocabulary of the year: ideation, low fidelity, high fidelity, prototype, ship.

This sits directly under how I treat AI in the rest of the program, where it becomes very visible and very deliberate. You earn the right to use AI well by first knowing what it is doing for you.

The gallery walk

Celebrate and reflect, not showcase

The week ends with a gallery walk. Learners set up their apps and the room moves around, trying each other's work, hearing the story of how it got made. It is framed carefully as a celebration and a reflection, not a competition. The question in the air is not whose app is best. It is: look what you made in five days, and look who you made it alongside. Naming what you learned out loud, in a room that just watched you do it, is what makes the learning stick.

What I am proudest of

The shock, and then the proof

When we revealed the brief on day one, the whole room looked at us in shock and something close to horror. Build a working app, alone, by Friday, most of you having never coded? They did not believe it was possible.

By Friday, every single learner had shipped an app. All 220. And every one of them walked out believing they were in the right academy, that they belonged here, that they could do this.

220

learners, every one shipped

5

days, idea to running app

2

screens, built offline

1st

line of Swift, for most

What I took from it

The fastest way to belong is to prove it to yourself

The fastest way to make someone believe they belong is not to tell them. It is to design an experience where they prove it to themselves, and then make sure they are standing in a room that sees them do it.