App Programming - Day 1
From Idea to Design
Learn to specify, design, and plan your application
2026 WayUp
Think about the apps you opened this morning...
Share photos, stories, reels
Book rides, track drivers
Navigate, explore places
Stream music, playlists
Every app started as an idea. This week, YOUR idea becomes an app.
From zero to a working application in one week
Your coding playground for today's exercises
Antigravity is a simple coding environment that runs in your browser. You will use it throughout the day to try small exercises and see code in action — no installation needed.
Type this in the editor and press Run:
<h1>Hello World!</h1>
<p>My name is [your name]</p>
If you see "Hello World!" in the preview, you are ready!
You already use one every day - let's understand it
A browser is a program on your computer or phone that lets you visit websites. Chrome, Safari, Firefox, and Edge are all browsers. Right now, you are looking at this presentation in a browser.
The address you type to visit a website. Like a street address, but for the internet: https://www.google.com, https://github.com.
Software that solves a problem for users
A website shows you information (like a newspaper). A web application lets you do things: create, edit, organize, share. Gmail is a web app (you compose emails). Wikipedia is a website (you read articles).
Run in your browser - no installation needed
Examples: Gmail, Notion, Google Docs, Netflix
Installed from App Store or Play Store
Examples: WhatsApp, Instagram, TikTok
Web technology inside a native wrapper
Examples: Uber, Airbnb, Discord
Open your phone. Pick 3 apps. For each one, decide:
Every application has three layers
Think of Instagram. Can you identify each layer?
Code is only step 4 out of 6!
The idea, the specifications, and the design. Tomorrow, we code!
The blueprint before building
A specification (or "spec") is a detailed description of what your application should do, who it is for, and how it should behave. It answers: "What are we building and why?"
You would never build a house without blueprints. Why build an app without specifications?
Describe features from the user's perspective
As a [type of user], I want to [perform an action], so that [I get a benefit].
The User Story Format
As a student, I want to create tasks with a due date, so that I can track my assignments.
As a student, I want to mark tasks as complete, so that I can see my progress.
As a student, I want to filter tasks by subject, so that I can focus on one course at a time.
Think of Spotify. Write 2 user stories using the format above:
Specificity is everything
Problem: Vague, unmeasurable, open to interpretation
Strength: Specific, testable, unambiguous
Two sides of the same coin
How the app looks
"Can I see it clearly?"
How the app feels
"Can I use it easily?"
A beautiful glass door with no handle = great UI, terrible UX. A plain door that opens smoothly = simple UI, great UX. The best apps nail both.
Follow these rules and your app will look professional
1
Consistency
Same colors, fonts, and button styles everywhere. Users should never feel "lost."
2
Simplicity
Remove everything unnecessary. If a screen feels cluttered, delete elements until it feels clear.
3
Visual Hierarchy
The most important thing should be the biggest and boldest. Guide the user's eye naturally.
4
Feedback
When a user clicks a button, something should happen visually. Never leave users wondering "did that work?"
Generate app designs from text descriptions
Stitch is a free AI design tool by Google. You describe what you want in plain English, and it generates professional-looking screens in seconds. No design skills needed.
Tell Stitch what you want: "A student planner app with task list, checkboxes, due dates, and priority tags"
Stitch creates a professional design in seconds. It handles layout, spacing, and visual hierarchy for you.
Download your generated screens as images. You will import them into Figma for refinement.
stitch.withgoogle.com — sign in with your Google account to get started.
Watch the teacher demonstrate, then try it yourself
Follow along step by step:
"A clean task list page for a student planner app,
mobile-first design with checkboxes, task titles,
due dates, and colored priority tags."
"A task creation form with fields for title,
due date, subject dropdown, and priority level
selector. Modern minimal style."
"A dashboard showing upcoming deadlines, task
completion statistics, and a quick-add button.
Clean white design with blue accents."
Import your AI-generated designs and refine them
Figma is a free, browser-based design tool used by professional designers at Google, Microsoft, Uber, and Airbnb. You will import your Stitch AI screens into Figma to refine, customize, and share them.
Sign up at figma.com (free) and create a new design file
Drag and drop your Stitch exports into Figma as a starting point
Adjust colors, text, and layout. Add missing elements, fix details, make it yours.
Generate a shareable link so your teacher and teammates can view your designs
figma.com and create a free account if you have not done so already.
The four building blocks you need to know
The "canvas" for each screen of your app. Think of frames as individual pages or screens.
Start with: iPhone 14 or Desktop frame
Reusable elements like buttons, cards, or navigation bars. Change one, and all copies update.
Like templates for repeated items
Add headings, paragraphs, labels. Choose fonts, sizes, and weights to create hierarchy.
Tip: use only 2-3 font sizes
Elements stack on top of each other. The layers panel shows the order and lets you organize.
Like sheets of transparent paper
The building blocks of every project
Everything on your computer is stored as files inside folders. A photo, a Word document, a song, a web page — they are all files. Folders organize files, just like drawers in a filing cabinet.
A file is a single document stored on your computer. Every file has a name and an extension (the part after the dot) that tells the computer what type it is.
report.docx → Word documentphoto.jpg → imagesong.mp3 → audioindex.html → web pagestyle.css → design rulesA folder is a container that holds files and other folders. Folders can be nested inside each other, creating a tree structure.
Documents/
βββ School/
β βββ essay.docx
β βββ notes.pdf
βββ Photos/
β βββ vacation.jpg
βββ Music/
βββ playlist.mp3
Open the File Explorer (Windows) or Finder (Mac) on your computer.
Instructions written in a language a computer can understand
Code is text that tells a computer exactly what to do — like a recipe tells a cook how to prepare a dish. It is written in plain text files (not Word, not PDF — just plain text), using a programming language.
"Display a blue button with the text Sign In"
The browser interprets the code line by line
A blue "Sign In" button shows up on the screen
Different languages for different jobs
Just like humans speak French, English, or Spanish, computers understand different programming languages. Each language is best at a specific task. For web apps, you need three:
Defines what is on the page: headings, paragraphs, buttons, images, links. Think of it as the skeleton of your page.
<h1>Welcome</h1>
<p>This is my app.</p>
<button>Sign In</button>
Controls how things look: colors, fonts, spacing, layout. Think of it as the clothing and makeup.
button {
background: blue;
color: white;
padding: 10px 20px;
}
Makes things happen: click a button, show a message, load data. Think of it as the brain and muscles.
button.onclick = function() {
alert("Hello!");
}
In Antigravity, paste this HTML and press Run to see your first web page:
<h1>My Study Planner</h1>
<p>Welcome to my app!</p>
<button>Add Task</button>
The new way to build software — by describing what you want
Vibe coding means describing what you want in plain English and letting an AI assistant generate the code for you. Instead of learning to write code yourself, you learn to communicate clearly with an AI.
Your words become the code.
You learn a programming language (months/years), type every character by hand, debug errors yourself. Powerful, but very slow to start.
You describe what you want in English, the AI generates the code, you review and refine. You become the director, the AI is the developer.
The skill of writing clear, precise instructions for an AI. The better your prompt, the better the result. This is the #1 skill you will practice this week. It is a bit like being a good manager: if you give vague instructions, you get vague results.
The quality of your instructions determines the quality of the code
Problem: Too vague. The AI has to guess what you want.
Strength: Specific, detailed, visual.
Write a prompt for an AI to create the home page of your dream app. Be as specific as possible about colors, layout, and features. Share with your neighbor — can they picture exactly what you described?
All the files that make up your app, organized in one folder
A software project is simply a folder on your computer that contains all the files your app needs to work:
A typical beginner project: 10-30 files.
study-planner/
βββ src/
β βββ app/
β β βββ page.tsx (home page)
β β βββ tasks/
β β β βββ page.tsx (tasks page)
β β βββ layout.tsx (shared layout)
β βββ styles/
β βββ globals.css (design)
βββ public/
β βββ logo.png (images)
βββ data/
β βββ tasks.json (data)
βββ package.json (config)
It is just someone else's computer
You already use "the cloud" every day! List 3 cloud services you use:
Why we need special tools for code projects
Imagine you are writing an essay in Word. Simple: one file, one person, save and done. Now imagine:
Your project has dozens of files that all depend on each other. Change one, and others might break.
Three teammates editing the same files at the same time. How do you merge everyone's work?
You made 10 changes today and something broke. Which change caused the bug? How do you go back?
Ctrl+Z only works within one file, in one session. You need to undo changes you made 3 days ago across 5 files.
A time machine for your project
It saves snapshots of your entire project at key moments, so you can always go back in time.
See every change ever made: what, when, and by whom
Go back to any previous version instantly
Multiple people work together without conflicts
Think of a time you wished you could "undo" something on your computer:
Two different things that work together
A tool installed on your computer
Think: your personal time machine for files
A website to share and store your code
Think: Google Drive, but designed for code projects
Why so many tools are free (and why GitHub exists)
Open source means the code is publicly available for anyone to read, use, modify, and share — for free. It is built by communities of volunteers and companies who believe software should be accessible to everyone.
Your first step into the developer world
Follow these steps to get started:
Your project's home on GitHub
A repository (or "repo") is a folder that contains all the files for one project, plus the complete history of every change ever made. Think of it as a smart folder that remembers everything.
my-awesome-app/
βββ index.html (main page)
βββ style.css (design)
βββ script.js (interactivity)
βββ images/
β βββ logo.png
βββ README.md (description)
Let's do this together
Follow along with the teacher:
Your project's to-do list
Each issue can be assigned to someone, given a label (bug, feature, nice-to-have), and closed when completed. It is your project's to-do list.
Turn your Figma screens into actionable GitHub issues
You designed a login page with:
Create one issue per element:
Title: Create task list page
Label: feature
Description:
Build the task list page based on the Figma design.
Acceptance criteria:
- [ ] Page shows a list of tasks with title and due date
- [ ] Each task has a checkbox to mark as complete
- [ ] Tasks are sorted by due date (soonest first)
- [ ] An "Add Task" button is visible at the top
What you should have by the end of today
1
GitHub Account
Created and verified, with a professional username
2
Repository + README
Your project repo with specs and user stories in the README
3
Figma Design
At least 3 screens designed with Stitch AI, refined by you
4
5+ GitHub Issues
Tasks from your Figma design, with labels and acceptance criteria
Apply everything you learned today
GitHub, Specs, Stitch AI, Figma, Issues
Step-by-step guided tutorial
No prior knowledge required
Only when you have completed the slides + practical work above
Find a partner. You will work as a binom (team of 2) for the rest of the week. Choose someone whose strengths complement yours — one might be more creative, the other more organized.
Together, pick an application idea that solves a real problem you both care about. It should be simple enough to build in 2 days, but useful enough to demo on Friday.
Use Stitch AI to generate your first 3 screens, then import and refine them in Figma. Think about:
What You Learned Today
✓ How browsers, URLs, and the web work
✓ What apps are and how they are built
✓ Specifications, user stories, and UI/UX
✓ Designing with Stitch AI and Figma
✓ Files, folders, code, and programming languages
✓ The cloud, version control, and open source
✓ Git, GitHub, repositories, and issues
2026 WayUp - way-up.io