Codex
Students installed Codex so AI can create and edit project files locally.
Section 1 / Recap
Last session was about getting the builder stack ready and practicing the tools students need before building a database-backed product.
Students installed Codex so AI can create and edit project files locally.
Students created GitHub accounts so their code can live online.
Students installed GitHub Desktop to commit and push without terminal commands.
Students created Supabase accounts for database, auth, and storage features.
Students created Vercel accounts so future projects can be deployed online.
We practiced the first three tools: creating files with Codex, saving code in GitHub, and using GitHub Desktop for commits and pushes.
Section 2 / Prompt engineering
The problem is usually not that AI is bad. The prompt is unclear, context is missing, or planning is weak. Prompt engineering means turning a vague wish into a buildable instruction.
Know the user, product, data, and goal before asking AI to build.
Give AI a specific job, not a vague wish.
Use screenshots, sketches, files, examples, and data to show what you mean.
The product becomes easier to build, debug, test, and deploy.
Section 5 / Plan before you code
The first job is not to ask Codex to code. Keep adding product information, ask Codex what the product will do, then check whether that matches your idea.
Example prompt
Do not code yet.
I am building a Student Application Management System.
Students should track universities, courses, deadlines, application status, document status, and visa status.
First, explain what this product will do in simple language.
Then list the main features.
Then tell me what information is still missing before we build.
Section 7 / AI can write prompts
Students can speak or write a rough idea, then ask AI to turn it into a professional Codex prompt.
Prompt creator prompt
Turn my rough idea into a professional Codex prompt.
Ask clarification questions first if anything is missing.
Then create:
1. Product goal
2. Target users
3. Core features
4. Screens
5. Database tables
6. Edge cases
7. Build steps
8. Testing checklist
9. Deployment checklist
Do not write code until the plan is clear.
Section 8 / Map the product
Planning becomes much easier when students can see the user journey, screen layout, workflow, and database before any code is written.
Ask AI to show how a student adds an application, updates status, tracks documents, and checks visa progress.
Ask for a simple dashboard wireframe with application cards, filters, deadline alerts, and an add/edit form.
Ask for a workflow from application creation to offer received, deposit paid, visa applied, and visa approved.
Ask for tables, validations, and linkages: students, applications, documents, deadlines, and status history.
Section 11 / Reverse engineer great outputs
Students learn faster when they analyze strong examples before creating their own website, LinkedIn post, or presentation.
Example: "Analyze this homepage. Why is the hero section effective? What can I reuse for my student tracker?"
Example: "Why does this LinkedIn post get attention? Break down the hook, structure, tone, and call to action."
Example: "Why is this presentation clear? Identify the story, slide rhythm, visuals, and missing improvements."
Section 13 / Give me 3 options
Beginners often ask AI for one output. Better builders ask for options so they can compare direction, tone, and strategy before choosing.
This usually gives one average version, and students accept it too quickly.
Ask for a professional version, a humorous version, and a thought leadership version.
Students can see tone, structure, and messaging differences immediately.
Pick the strongest option, then ask AI to combine the best parts of all three.
Section 15 / Error reading
Beginners panic when something breaks. Teach them to copy the error, understand it, find likely causes, and fix one thing at a time.
Example prompt
Explain this error in beginner language.
Tell me:
1. What the error means
2. The most likely cause
3. One fix to try first
4. How I can check if the fix worked
Do not change unrelated code.
Section 17 / Test like a user
Students should test the Student Application Tracker like a real student using it for applications, deadlines, documents, and visa progress.
Try adding one university with course, deadline, application status, and visa status.
Change the status from "Not started" to "Applied" and confirm the UI updates.
Refresh the page and confirm the application still appears from Supabase.
Submit without a university or deadline and check whether the app gives a useful message.
Open the app on a phone-sized screen and check forms, cards, and buttons.
Context sources
Ask: "Build this, but for student applications."
Ask AI to turn your rough dashboard idea into a clean interface.
Example: use LinkedIn-style density, navigation, and profile patterns.
Give brand colors, tone, and examples so the app looks intentional.
Use requirement documents, research papers, or class notes as source context.
Turn an application tracker sheet into a database-backed dashboard.
Section 20 / Connect Codex to Supabase
Codex builds the app locally. Supabase gives it a real database. The connection happens through project credentials, environment variables, and client code.
Open Supabase, create a new project, choose a project name, set a database password, and wait for setup to finish.
In Supabase project settings, copy the Project URL and anon public key. These are safe to use in frontend env variables.
Create a local env file and add values like VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY.
Ask Codex to install Supabase JS, create a Supabase client file, and use it to read and write application records.
Add a sample application locally, refresh the page, and confirm the record still loads from Supabase.
Codex prompt
Connect this project to Supabase.
Use these environment variables:
- VITE_SUPABASE_URL
- VITE_SUPABASE_ANON_KEY
Create:
1. A Supabase client file
2. Functions to create, read, update, and delete application records
3. Form validation before saving
4. A loading state
5. Error messages if Supabase fails
Do not hardcode my Supabase keys in the source code.
Section 21 / Vercel
Students connect GitHub to Vercel, deploy the project, then watch automatic deployments happen when they push changes.
Import the Student Application Tracker repository into Vercel.
Paste the Supabase URL and anon key before deploying.
Watch the site go live and open the production URL.
Change text, push to GitHub, and Vercel updates the live app automatically.
Homework
Nothing new to learn before the next class. Just repeat the workflow once so the tools start feeling familiar.
Choose any small idea and build it with Codex, GitHub, Supabase if needed, and Vercel.
Use the same steps from class: plan, ask questions, build, test, and deploy.
The goal is confidence, not complexity. A simple working project is enough.
Bring the project link or screenshots and one thing you want to improve.