Everything for the hands-on part is on this page, in order. Copy a prompt, paste it into your coding partner, read what it says, then move on to the next. Your coding partner will give you different results from mine. That is part of the fun.
Watching the demo instead? See what is on screen at Live build →
What you need to BUILD
1
Your AI coding partner
Claude Code, Codex or a similar coding agent that can work inside a folder on your computer. Not sure which? The field guide helps you choose.
Make a new folder on your computer, for example airtime-map, and open your coding partner inside it. That folder is the only place it is allowed to read and write.
Where the prompts are
The rest of this page holds every prompt, ready to copy and paste as practice. Use them in order. Each milestone tells you what you should see before you carry on.
Use invented pupil names only. Never type real pupil names into a page you are projecting.
Read what your coding partner asks before you approve it. It should ask before it writes a file, commits or deploys.
Your results will not match the screen. If something is wrong, say what you expected and what you got.
PART 1 · START
Begin with the idea, then agree the rules.
Two prompts. The first explains the problem and asks your coding partner to check it understood. The second sets the ground rules for your computer and your Cloudflare account.
01
Start with the idea
Paste this first, in your empty project folder. Do not build yet. Answer the questions it asks.
PROMPT 1
I would like to create a web app for my own classroom. It is a hybrid: a seating plan of my pupils, plus a way of keeping track of who has taken part, who has not, who might be dominating the talk, and perhaps patterns over time.
Before you build anything, repeat back what you think I mean and ask me the questions you need answered. Keep it to one main user (me, the teacher) and one main task: seeing who has had airtime. Use invented pupil names only. Nothing about pupils should leave my device.
02
Set the ground rules and connect Cloudflare
Choose your computer, then paste. Your coding partner will guide you through each technical step.
PROMPT 2
I have a free Cloudflare account and I want to put this app online with it. I use macOS, and I would like you to guide me through the Terminal app. Please guide me step by step, in plain language, through every technical step, including anything I need to install.
Rules for this session:
1. You may read and write only inside this project folder.
2. Ask my permission before you write or change any file on my computer. Tell me what you are about to do and why.
3. You may read from and write to my Cloudflare account, but ask my permission before you act. Ask again before you commit anything or deploy anything.
4. Do not touch any other folder or any other Cloudflare project.
5. Never ask me to paste a password or an API key into this chat. Use the browser sign-in instead.
6. If you are unsure, stop and ask me.
PART 2 · TO YOUR MVP
Build the smallest version worth putting online.
MVP stands for Minimum Viable Product: the smallest result that does its main job and is worth deploying. For the Airtime Map that is a seating plan where you can tap to count who has spoken.
03
Build the seating plan
After your coding partner has asked its questions and you have answered them.
PROMPT 3
Go ahead and build the first version as one simple web page. It is a seating plan. Let me paste a class list (start with six invented names), see a desk for each pupil, drag the desks to rearrange them, choose between a few layouts such as rows, groups and a ring, shuffle the seating, and undo.
Remember everything on this device only: no accounts, no uploads, no tracking. It must work well on a phone and an iPad as well as a laptop, because I will use it while walking around the classroom. Show me a local preview and tell me how you tested it.
04
Add Listen mode
Once the seating plan works in your preview.
PROMPT 4
Add a second mode called Listen next to Arrange. In Listen mode, tapping a desk adds one to that pupil’s contribution count, shown as a small number badge on the desk. Let me choose the type first: answered, asked a question, or built on an idea. Add an Undo button. Remember everything on this device.
05
Check it, then put it online
When Listen mode works. Your coding partner will ask before it deploys.
PROMPT 5
Check the main task again: paste six invented names, arrange the desks, switch to Listen and tap a few desks. Tell me what works and what does not.
Then prepare this for deployment as a new Cloudflare Worker with a new name that does not clash with anything I already have. Before you deploy, tell me the account, the Worker name, that it will be public, and any cost. Wait for my approval. After I approve, deploy it, then open the live address and check that the main task works there.
Stay inside this folder and do not change any other project.
PART 3 · TO 80%
Make it show you something, then correct it.
The first 80% can arrive quickly. These three prompts turn the counter into a picture and a prompt for action, and the fourth shows what to do when the result is not quite right.
06
See who has spoken
On your live MVP, in the same project folder.
PROMPT 6
Colour each desk by how much that pupil has spoken: pale for a little, darker for more. A pupil who has not spoken yet should look clearly different, with a dashed outline. Add a small key that explains the colours.
07
Ask who you have not heard from
When the colours work.
PROMPT 7
Add a button called “Who haven’t I heard from?”. It picks a pupil with the fewest contributions, highlights their desk, and does not pick the same pupil twice in a row. Also show how many pupils have spoken and how much of the talking the busiest quarter of the class did.
08
When the result is wrong, explain the mismatch
Your result will differ from mine. Describe what you see. This is an example you can adapt.
PROMPT 8
The colours are too strong after just one tap. Scale the colours against the busiest pupil, but never against less than four contributions.
You can use the same pattern for anything: I expected [what you wanted]. You made [what you got]. Here is what needs to change: [one specific thing]. Keep the parts that already work.
09
Put the update online
When you are happy with the preview.
PROMPT 9
Run the checks on the main task again, then update the live version. Tell me what you will change and wait for my approval. After I approve, deploy, then open the live address and check that the update works there.
PART 4 · BEYOND 80%
Keep going, with other people in the room.
The next 10% and the final 9% take longer. These prompts are optional and can be used in any order. The last two are the ones that matter most: review it, then listen to a real user.
10
Make it comfortable on a phone and an iPad
Optional. Try it on a real device first.
PROMPT 10
Check this on a phone held upright, a phone on its side, and an iPad. Make every button easy to tap with a thumb (at least 44 pixels). Add a list view for the phone that puts the pupils heard least at the top. Tell me what you changed.
11
Install it and make it work offline
Optional.
PROMPT 11
Make this installable on a home screen and usable offline, so it still works with no signal. Explain in plain language how you did it and how I can check it works with my phone in airplane mode.
12
Say what it does and what it does not collect
Optional, and worth doing before anyone else uses it.
PROMPT 12
Add an About page that says in plain words what the app does, that pupil names and counts stay on this device, and what is not collected. Do not add accounts, sign-in or any tracking.
13
Review it like a prototype with an owner
Before you show it to colleagues.
PROMPT 13
Review this app as if a colleague were about to use it. Check purpose, audience, context, usability, layout, permissions, reliability and maintainability. List what you find in order of importance. Do not change anything until I choose what to fix.
14
Turn a colleague’s feedback into one change
After someone has tried it.
PROMPT 14
A colleague tried the app and said: [what they said]. Work out what they were trying to do and where they hesitated. Suggest the smallest change that would help, explain it, and wait for my approval before you make it.
See the finished one
This is the Airtime Map I built for the session. Your version will look different, and that is the point.