ADTC / WEB / 01
Frontend for teens
CSS craft to React interfaces.
Open the syllabusCanada · App development · Ages 13 to 18
Plenty of Canadian teenagers have an app idea; far fewer know that publishing one runs into age rules before it runs into code. Apple and Google both tie developer accounts to adulthood, so a fifteen year old in Surrey or Sudbury can build a complete app but usually needs a parent to put it in a store. This page sets out those rules in each company's own words, shows where app building sits in Canadian school courses, explains the tools we teach, and walks through the real logic of a small app: finding the nearest City of Hamilton spray pad.
Teaching live online since 2020 · 10,000+ students · teens build, test and explain every screen of their own app
In short
App development classes for teens in Canada take students aged 13 to 18 from first screens to a complete Android and iOS app in React Native, with publishing done through a parent where Apple or Google require an adult account. Modern Age Coders teaches them live online, in a batch or one to one, in App Development for Teens.
Courses for app builders
The app course itself, the JavaScript underneath it, and the full stack course for teens who also want the server side.

ADTC / 01
Ages 13 to 18, absolute beginners. Ten to twelve months in four phases: a first app, app craft, a capstone build and launch, in React Native.
Open the syllabus →
ADTC / 02
Ages 13 to 18. Six months of the language React Native is written in: the page, data and the network, then canvas games.
Open the syllabus →
ADTC / 03
Ages 13 to 18. Twelve to fourteen months of React and Node.js, for an app that needs its own server and database.
Open the syllabus →Publishing rules
Building an app has no age limit. Publishing one does. These are the rules from each company's own help pages, read on 22 October 2026. Neither page gives a number for Canada; Apple's depends on the age of majority in the developer's province.
| Store or programme | What the company says | What it means for a Canadian teen |
|---|---|---|
| Apple Developer Program | You need "an Apple Account with two-factor authentication turned on and be the legal age of majority in your region." | A teen under the age of majority cannot enrol alone |
| Apple, for under-age developers | "If you're under the age of majority in your region, your parent/guardian can enroll with their Apple Account and share their account with you." | A parent enrols; the teen builds and submits under that account |
| Google Play Console | "You must be at least 18 years of age to sign up for a Play Console account." | Under 18, a parent or guardian holds the account |
| Google Play, new personal accounts | "Developers with personal accounts created after November 13, 2023, must meet specific testing requirements before they can make their app available on Google Play." | Plan for a testing period before release, and an Android device to verify the account |
| Google Play fee | A one-time registration fee, paid by card | A cost to discuss before the launch phase |
| Swift Student Challenge (Apple) | "13 years of age or older in all other countries and regions", with free registration as an Apple developer | Open to Canadian students from 13, without a paid account |
Most of a teen's app course is spent building and testing on their own phone and in a simulator, which needs no store account at all. Publishing comes at the end, and only if the family wants it. Where a store requires an adult, the parent opens the account, and the teen prepares everything else: the build, the screenshots, the description and the privacy answers.
We never ask a teen to misstate their age to a store, and we explain to families what each account involves before the launch phase begins.
A published app has users, reviews, data and sometimes payments, and the account holder is responsible for all of them. That is why the stores tie accounts to adulthood. A teen who learns the release process with a parent beside them learns it properly.
For a teen who wants a public showcase without a store, Apple's Swift Student Challenge accepts Canadian entrants from 13, and an app can also be shared as a web build.
Sources: Apple, program enrollment; Apple Developer Program, enroll; Swift Student Challenge eligibility; Google, Get started with Play Console. All read 22 October 2026. We are not connected with Apple or Google.
Apps and school
No province we read offers a course called app development for teens, but several courses ask for exactly the skills an app needs: interfaces, projects and organised code.
| Course | What the document says | The app skill |
|---|---|---|
| Ontario ICD2O, Grade 10 | Students "build hands-on projects" | Finishing a working thing, not just exercises |
| Ontario ICS4C, Grade 12 College | Students "design graphical user interfaces" | Screens, buttons and layouts |
| British Columbia, Web Development 10 | Listed among the ADST courses | The web technologies React Native grew from |
| British Columbia, Computer Programming 12 | "higher-level structures, such as functions, methods, or classes" | Organising an app into components |
| Technovation (global, open to Canadians) | "Technovation Challenge teaches young innovators to build their first solution." | A team app project with a real problem |
School courses teach the parts. An app course puts them together under real constraints: a small screen, a slow network, a user who taps the wrong button. Teens who have done both find their school projects easier, because they have already met the hard part, which is finishing.
We teach alongside school and replace no course. A teen who is also in ICS3U or ICS4U can bring that work to class too.
For children under 13, MIT App Inventor says newcomers "can have a simple app up and running in less than 30 minutes" using blocks. Our App Making for Kids course uses that route for ages 8 to 12.
Teenagers go straight to typed JavaScript, because that is what real apps are made of and what they will meet in any later course.
Sources: Ontario ICD2O; BC ADST courses; Technovation; MIT App Inventor. Read 22 October 2026.
The toolchain
We teach one codebase for both Android and iPhone, because most Canadian families have a mix of both and a teen wants to show the app to everyone.
| Tool | What its makers say | Why we use it |
|---|---|---|
| JavaScript | The language of the web and of React Native | One language for app logic, screens and later a server |
| React Native | "Learn once, write anywhere."; "Create native apps for Android, iOS, and more using React" | One codebase, real native apps |
| Expo | A new project starts with "npx create-expo-app@latest" | Run the app on a phone in minutes, without native setup |
| Firebase | The backend the course syllabus names for the app | Stored data and accounts without running a server |
| Git and GitHub | Version control | Every change can be seen and undone |
Foundations to a first app: JavaScript, components, a screen that responds to a tap, running on the teen's own phone.
App craft, then the wider craft: navigation, data, offline storage, and a capstone app planned and built by the teen.
Launch: testing, store preparation, and publishing through a parent's account where the store requires an adult.
Real app logic
The City of Hamilton publishes the locations of its spray pads under a licence that allows commercial use. The heart of a "nearest spray pad" app is one function: how far is each pad from the user? It is also where most first attempts go wrong. The code and every number below are ours, run on the city's file downloaded on 22 October 2026.
The app's job: from the phone's location, list the four nearest spray pads with their distance. The file holds 68 spray pads with NAME, ADDRESS, COMMUNITY and coordinates, X for longitude and Y for latitude. For testing we use a fixed example point of ours in downtown Hamilton, latitude 43.2557 and longitude -79.8711; in the app the point comes from the phone.
// Our spray pad finder logic (Modern Age Coders, written for this page). Runs in Node or inside a React Native app.
const fs = require("fs");
function distanceKm(lat1, lon1, lat2, lon2) {
const R = 6371; // mean Earth radius in km
const rad = (d) => (d * Math.PI) / 180;
const dLat = rad(lat2 - lat1);
const dLon = rad(lon2 - lon1);
const h = Math.sin(dLat / 2) ** 2 +
Math.cos(rad(lat1)) * Math.cos(rad(lat2)) * Math.sin(dLon / 2) ** 2;
return 2 * R * Math.asin(Math.sqrt(h)); // the haversine formula
}
function loadPads(path) {
const [header, ...lines] = fs.readFileSync(path, "utf8").replace(/^\uFEFF/, "").trim().split(/\r?\n/);
const cols = header.split(",");
return lines.map((line) => {
const f = line.split(","); // safe here: this file has no quoted fields
return { name: f[cols.indexOf("NAME")], lat: Number(f[cols.indexOf("Y")]), lon: Number(f[cols.indexOf("X")]) };
});
}
function nearest(pads, lat, lon, n) {
return pads
.map((p) => ({ ...p, km: distanceKm(lat, lon, p.lat, p.lon) }))
.sort((a, b) => a.km - b.km)
.slice(0, n);
}
const pads = loadPads("hamilton-spray-pads.csv");
const here = { lat: 43.2557, lon: -79.8711 }; // our example point, downtown Hamilton
console.log(pads.length, "spray pads loaded");
for (const p of nearest(pads, here.lat, here.lon, 4)) {
console.log(p.name.padEnd(14), p.km.toFixed(2), "km");
}68 spray pads loaded Durand Park 0.70 km Beasley Park 0.74 km McLaren Park 0.80 km Central Park 0.94 km
The same functions drop into a React Native screen unchanged; only loadPads changes, because an app bundles or downloads the data instead of reading a file.
| Method | Second nearest from our point | Why |
|---|---|---|
| Haversine distance (our code) | Beasley Park, 0.74 km | Treats the Earth as a sphere, so a degree east and a degree north are measured fairly |
| Latitude and longitude as a flat grid | Central Park, really 0.94 km away | At Hamilton's latitude a degree of longitude is much shorter than a degree of latitude, so east-west gaps are overstated |
| Flat grid, tested across the whole city | Wrong nearest pad at 297 of 1,800 test points | About one location in six would send a family to the wrong pad |
That a plausible-looking result can be wrong, and that the only way to know is to test against something trusted. We check the haversine function by hand on two points whose distance we can measure on a map, before trusting it on 68.
That data has a shape: X is longitude and Y is latitude here, and swapping them is the single most common bug in a map app. The code reads columns by name for that reason.
In class the next steps are a list screen that shows the four results, a button that asks the phone for its location with the user's permission, and a message when permission is refused. Each step is tested on a real phone.
The teen also writes down, in the app's about screen, where the data comes from and under which licence, exactly as the city asks.
Data: City of Hamilton open data, Spray Pads. Contains public sector Data made available under the City of Hamilton's Open Data Licence. The licence allows use "including for commercial purposes". Code, example point and results are ours; the City of Hamilton does not endorse this page.
First app
Our process for a teen's first complete app, whatever the idea. It is deliberately slow at the start and fast at the end.
Step 4 is the one teens most want to skip, and the one that saves the most time. Bugs in logic are much easier to find when no screen is in the way.
Thinking first
Our promise to every family is the same, in Canada or anywhere else: we teach students to think a problem through and solve it, not to copy an answer or an AI's output. App building tempts copying more than most subjects, so we are specific.
Code for a screen is typed and explained by the teen. Templates are studied, not dropped in.
When something breaks, the teen says why before fixing it. The explanation goes in a short log the teacher reads.
Teens may use assistants their age allows, such as OpenAI's tools with a parent's permission; Claude is 18 and over and never recommended to them. Any AI-suggested line must be explained.
From coast to coast
Every class is booked in the teen's own zone. Only the eastern provinces change clocks this school year, so a class time can shift for an Ontario family against a BC teacher booking in early November and mid-March.
| Teens in | November 2026 to March 2027 | After 14 March 2027 |
|---|---|---|
| Vancouver, Kelowna, Whitehorse | 7 hours behind | 7 hours behind |
| Calgary, Edmonton, Saskatoon | 6 hours behind | 6 hours behind |
| Winnipeg | 5 hours behind | 5 hours behind |
| Toronto, Ottawa, Quebec City | 5 hours behind | 4 hours behind |
| Halifax, Fredericton, Charlottetown | 4 hours behind | 3 hours behind |
| St. John's | 3 hours 30 minutes behind | 2 hours 30 minutes behind |
App classes need a phone nearby for testing, so teens usually pick a weekday evening or a weekend morning at home. We confirm the time again on 1 November 2026 and 14 March 2027.
Four stages
Our stages for placing a teenager in the first class.
| Stage | What the teen can do |
|---|---|
| 1. Screens | Builds a screen with text, an image and a button that does something |
| 2. Logic | Writes and tests functions, like distanceKm, separately from the screens |
| 3. Data | Loads data, stores it on the phone and handles a failed network call |
| 4. Release | Tests on real devices, prepares a release and understands the store's rules |
Stage 4 is where a parent becomes part of the process, because the stores tie developer accounts to adults.
A teen at stage 2 can already build useful tools; the polish comes later.
Test on your real phone every day. Simulators hide problems with touch, speed and permissions.
Write the logic as plain functions first, then build the screen around them.
Related courses
Live, with one regular teacher, in a batch or one to one, from anywhere in Canada.
ADTC / WEB / 01
CSS craft to React interfaces.
Open the syllabusADTC / WEB / 02
The library React Native grew from.
Open the syllabusADTC / WEB / 03
Node, APIs and databases.
Open the syllabusADTC / DATA / 01
Databases from the first query.
Open the syllabusADTC / DATA / 02
Version control from zero.
Open the syllabusADTC / DATA / 03
A second language for data work.
Open the syllabusADTC / MORE / 01
Unity and C#.
Open the syllabusADTC / MORE / 02
Keeping apps and users safe.
Open the syllabusADTC / MORE / 03
For younger siblings, ages 8 to 12.
Open the syllabusHow classes run
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays.
Weekdays
Evenings, when the phone and laptop are both at hand.
Weekends
Longer build sessions for the capstone.
1-on-1
Built around the teen's own app idea.
One codebase for Android and iPhone.
Functions tested before any screen.
Every change run on the teen's phone.
Open data used only where its licence allows.
Parents hold accounts where stores require.
Fifteen to twenty teens, or one to one.
Student work
A few finished projects from our students are below. The student labs page shows the full range.

AI and ML
An AI nutrition coach that reads what you eat and works you toward a target.

AI and ML
A chatbot that answers mathematics and programming questions, built and deployed by a student.

AI and ML
An assistant that helps a young person recognise unsafe situations online.

Web app
A weather forecasting site with live conditions for any location.
Fees
The monthly fee covers eight live classes. Store fees, where a family chooses to publish, are paid to the store and are separate from ours.
Free first class
Free
no card required
Group batch
$140 CAD
a month, eight live classes
One to one
$210 CAD
a month, eight live classes
What families say
Google reviews from students and parents, exactly as posted.
★★★★★
"The one step solution for my son. Modern Age Coders make learning coding so simple that kids love it. The teachers explain complex concepts clearly with practical exercises and interactive content."
Ria Mukherjee
Parent
★★★★★
"Modern Age Coders has been a game-changer for me. I struggled to grasp IT concepts and coding before joining, but their classes transformed everything. I can now confidently write complex programs with ease."
Samriddha Mondal
Student
★★★★★
"One of the most wonderful education centres out there. Education is not limited to school syllabus but focuses on skill development."
Vansh Agarwal
Student
★★★★★
"My child Dhairya is really enjoying the Modern Age Coders classes. This is his first online class and he eagerly looks forward to it. I can already see his improvement, and the teachers are very cooperative."
Sonam Oswal
Parent of Dhairya
★★★★★
"Modern Age Coders have wonderful teachers who teach in a clear, easy and practical way. The teacher boosts students' confidence and inspires them to learn without hesitation."
Sonu Goyal
Parent
★★★★★
"I highly recommend this computer coding class! The teachers are incredibly knowledgeable and passionate about coding."
Ritu Kedia
Parent
Teens and parents ask
Apple requires the legal age of majority in your region to enrol in the Apple Developer Program. It also says that if you are under the age of majority, a parent or guardian can enrol with their Apple Account and share it with you.
Google says you must be at least 18 years of age to sign up for a Play Console account, so a parent or guardian holds the account. New personal accounts must also meet testing and device verification requirements before release.
Our App Development for Teens course takes absolute beginners aged 13 to 18. For children aged 8 to 12, App Making for Kids uses blocks first.
JavaScript and React Native, with Expo to run the app on a phone quickly and Firebase for data. One codebase builds for both Android and iPhone.
Not to learn. The React Native site says developers can "Get started quickly with Expo Go", which runs the app on the teen's own phone during development. Publishing to Apple's store has its own requirements, which we explain when a family reaches that stage.
Not usually as its own course, but parts of it are. Ontario's ICD2O has students build hands-on projects and ICS4C asks them to design graphical user interfaces; British Columbia lists Web Development 10 and Computer Programming 12.
Apple's Swift Student Challenge accepts students aged 13 or older in Canada, with free registration as an Apple developer. Technovation runs a global challenge in which teams build a first solution to a real problem.
Within each company's rules. OpenAI requires a parent's or guardian's permission for users under 18, and Anthropic does not allow anyone under 18 to use Claude. In our classes, any AI-suggested code must be explained by the teen.
Weekdays or weekends, flexible: choose your batch, or for a very personalised plan choose 1-on-1 at your convenience, weekend mornings or weekdays. Times are set in your own province's zone.
A complete app of their own design, tested on real phones, with its logic written and explained by the teen, such as the Hamilton spray pad finder on this page. Publishing is optional and done through a parent where the store requires it.
Elsewhere on this site
More for Canadian teens who want to build things people use.
All our Canadian pages.
Where assistants help and where they do not.
The block route for younger children.
The language behind React Native.
Building with AI help, within the rules.
Ontario's Grade 11 computer science.
Finding what is really broken.
Turning an idea into steps.
Projects built by our students.
Start here
In the first class your teen builds a single screen and runs it on their own phone. The teacher sees how they think and explains what a full app course would cover for their idea.
Read more first: how we teach describes our live classes, and the course list has every syllabus.
WhatsApp us · +91 91233 66161 · connect@modernagecoders.com
Teachers are based in India and teach live over video, so teens in any province can join from home. A WhatsApp message gets the quickest reply.
A priority demo is a full class of about 45 to 60 minutes. After the class the mentor sends a written skill report and a personal learning roadmap on WhatsApp. If you enrol, the demo fee is adjusted against your first month's fee. Share your demo Order ID with us on WhatsApp and we take it off.
Book a priority demo