A web page starts as structure. Then it gets style. Then it gets behavior. Then it connects to other systems.
This is the simple mental model: HTML gives the page a body, CSS gives it visual character, JavaScript makes it respond, and APIs let it talk to places outside itself.
The living stack
Structure
HTMLnames the parts on the page.
Style
CSSdecides how those parts look.
Action
JavaScriptchanges things when people interact.
Connection
APImoves data between systems.
Frame it this way: web coding is less mysterious when you can point to what each layer is responsible for.
1. HTML
HTML is the page's frame.
HTML is not a full software framework like React or Next.js. It is more basic and more important: it is the markup that gives the page its parts.
Headings, paragraphs, links, buttons, forms, images, tables, and sections all begin as HTML. Without it, CSS has nothing to style and JavaScript has nothing reliable to control.
What HTML gives you
Skeleton
<section>groups one idea.
Meaning
<h1>says this is the main heading.
Action point
<button>marks something people can press.
<section>
<h1>Shelter Dashboard</h1>
<p>Open shelters and available capacity.</p>
<button>Show open shelters</button>
</section>
HTML is read by browsers, screen readers, search engines, and code.
Good HTML makes the page easier to style, test, and improve later.
When HTML is clear, the rest of the system has a stable foundation.
2. CSS
CSS gives the structure a visual voice.
CSS controls color, spacing, type, layout, borders, states, and motion. It turns raw HTML into something that feels intentional.
The important idea is separation: HTML says what a thing is. CSS says how that thing should appear on different screens.
Same HTML, styled interface
Colorsignal and mood
Spacingreading rhythm
Layoutdesktop and mobile
Stateshover, focus, active
Plain version: CSS is not decoration after the real work. CSS is part of how the interface communicates.
3. JavaScript
JavaScript makes the page react.
JavaScript listens for events and changes the page. Clicks, searches, filters, maps, menus, calculators, form validation, and live updates all depend on behavior.
HTML can place a button on the page. CSS can make it look right. JavaScript decides what happens when someone presses it.
Action loop
User eventClick, type, scroll, submit, choose.
JavaScriptReads the event and decides what to change.
Updated pageNew state appears without rebuilding the whole page.
button.addEventListener("click", () => {
panel.textContent = "Showing open shelters";
});
4. APIs
An API is how systems talk.
An API is a doorway with rules. One system asks for something in an agreed format, and another system responds in an agreed format.
An API is not automatically the backend. It is the connector. It can connect your frontend to your backend, your map to ArcGIS, or your dashboard to a weather service.
Interconnectivity
Web pageNeeds data or wants to save work.
APIThe request and response contract.
Other systemDatabase, ArcGIS, Vercel function, spreadsheet, or service.
Simple rule: if one piece of software needs to ask another piece of software for something, an API is probably involved.
5. Frontend
The frontend is what the person touches.
The frontend runs in the browser. It is the visible and interactive part: pages, buttons, menus, forms, maps, charts, tables, and visual feedback.
Frontend work blends structure, style, and behavior. A good frontend does not just look nice. It helps people understand where they are, what changed, and what to do next.
Browser-side work
Render
Show informationHeadings, maps, tables, charts, pages.
Ask for dataCalls APIs when it needs outside information.
In a Red Cross-style map app: the frontend is the map screen, the filter controls, the popup, and the visible workflow.
6. Backend
The backend does work out of sight.
The backend usually runs on a server. It can check permissions, talk to databases, call secure services, process files, generate reports, or protect secrets.
The user may never see the backend directly. They see the frontend. But the frontend often depends on backend work to get trusted data and complete real tasks.
Read and write dataDatabases, files, records, logs.
Process
Do heavier workGeocoding, reports, exports, analysis.
7. Python
Python is a general-purpose workbench.
Python is a full programming language, not just a cleanup tool. It is good at telling the computer to do repeatable work: read files, transform data, call APIs, run GIS analysis, generate reports, and power server-side logic.
In this learning map, Python is the lane for automation, analysis, and backend work. HTML/CSS/JavaScript still own the browser experience, but Python often prepares the data, checks the logic, or runs the service behind it.
Python can be
A scriptA repeatable recipe that renames files, cleans a spreadsheet, or exports a report.
A notebookA place to mix code, explanation, tables, charts, and GIS checks while exploring a problem.
A data toolA way to join, filter, summarize, geocode, validate, or reshape messy operational data.
A GIS partnerA way to work with feature layers, shapefiles, maps, spatial joins, and ArcGIS automation.
An API clientA way to ask other systems for data, process the response, and send useful results elsewhere.
A backendA server-side language for routes, jobs, trusted logic, database work, and app services.
Plain version: use Python when the work needs calculation, automation, GIS processing, backend logic, or repeatable analysis. Use HTML/CSS/JS when the work needs to become the visible browser experience.
8. IDE + command line
Your coding workspace has two doors.
An IDE like Cursor is the visual workbench. It helps you read files, edit code, search a project, and use AI assistance without leaving the project.
The command line is the direct control panel. It runs scripts, starts local servers, installs packages, checks Git status, and talks to tools that do not have buttons.
Two ways into the same project
IDE
Best for reading, editing, comparing, searching, and staying oriented inside many files.
Command line
Best for running, checking, installing, deploying, and repeating exact steps.
Beginner rule: you do not need to love the command line. You need to recognize when it is the shortest path.
9. GitHub, Vercel, Supabase
Build, store, publish, and remember.
Git and GitHub track your project history. Vercel publishes the project to the web. Supabase gives an app a database, login system, storage, and backend-like services when a static page is no longer enough.
These are not the same thing, but they often sit next to each other in one real project.
Project path
GitHubStores code and history.
VercelBuilds or serves the web app.
SupabaseStores app data when the site needs memory.
Git is the version tracking tool on your machine.
GitHub is where the tracked project can live online.
Vercel is where the project can become a public URL.
Supabase is where an app can keep structured data.
10. AI assistants
Codex, Claude, Copilot, and Gemini are different kinds of help.
Think of AI coding tools as teammates with different seats. Some are inside the editor, some are local agent workspaces, some are chat-based explainers, and some connect to documents or browser context.
The important beginner move is not choosing one forever. It is learning what kind of help you need: explain, draft, edit, test, research, or operate across files.
Assistant map
CodexWorks in a local project, edits files, runs checks, and verifies results.
Claude CodeAnother agent-style coding partner for project work and long refactors.
CopilotSits close to the editor and helps write or complete code in place.
GeminiUseful for chat, multimodal context, and Google-connected workflows.
Simple frame: ask whether you need a tutor, an editor assistant, or an agent that can move through a project.
11. ArcGIS + SDK
ArcGIS is the GIS platform. The SDK is a code door into it.
ArcGIS Online, Experience Builder, Survey123, dashboards, feature layers, and web maps are platform tools. They help you make GIS products without starting from empty code.
The ArcGIS Maps SDK is what you use when you want custom web behavior around maps: specialized filters, custom workflows, app-specific controls, or map interactions that a no-code builder does not easily support.
SDKCode that reads and controls maps in a custom web app.
Custom appA focused interface for the exact workflow.
Beginner rule: use Experience Builder when it already solves the workflow. Reach for the SDK when the map needs behavior the builder cannot express cleanly.
12. How it connects
The full loop is the real lesson.
Most useful web apps are not one technology. They are a chain of responsibilities. Each part is simpler when it does its own job.
One complete project
BrowserShows the result to the user.
HTMLDefines the parts and meaning.
CSSControls the visual system.
JavaScriptHandles interaction and state.
APIConnects the page to other systems.
PythonAutomates, analyzes, integrates, and can power backend work.
GitHub + VercelStore and publish the project.
ArcGIS + SupabaseProvide maps, layers, and app data.
The point: learn coding faster by asking which layer owns the problem you are looking at.
Glossary
Words that stop sounding mysterious.
Search a term, or scroll the list. The definitions stay plain on purpose. This is vocabulary for getting oriented, not documentation for experts.
Advanced shelf
The second pass can get more technical.
These ideas matter, but they should not interrupt the first beginner path. Keep them here until the foundation is comfortable.
Packages and dependencies
Reusable code your project installs instead of writing everything from scratch.
Environment variables and secrets
Private values like API keys that should not be pasted into public frontend code.
Authentication
How apps know who someone is and what they are allowed to access.
Databases and schemas
How structured data is organized so apps can query it reliably.
Testing and verification
How you prove a page or workflow still works after changes.
0. Feature map
Codex is a project workspace, not just a chat box.
Codex can read the project, edit files, run checks, open a browser, and keep useful rules close to the work.
This course is the operational companion to Coding 101. Coding 101 explains the ingredients. Codex 101 explains how an agent helps you work with them.
Core lanes
File accessReads and edits real files in the project folder.
MemoryUses project instructions and repeated preferences.
PluginsConnects to tools like browser, Gmail, Drive, GitHub, and Vercel.
SkillsTurns reliable workflows into reusable procedures.
Browser useTests the thing it built in the actual interface.
AutomationsRuns useful checks or summaries on a schedule.
1. File access
Codex works inside a real folder.
The practical difference from ordinary chat is that Codex can inspect the files, understand the project shape, make changes, and run commands to verify them.
Plain version: chat gives advice. A project agent can do the work in the project and show the evidence.
2. Memory
Memory keeps recurring rules near the work.
Project instructions, preferences, and durable patterns save you from explaining the same thing over and over. In this project, the left-rail teaching format is one of those preferences.
Useful memory layers
Project
AGENTS.mdRules and context that belong to this folder.
Personal
PreferencesReusable ways you like work done.
Session
Current taskThe plan, files, and decisions in this run.
3. Plugins + connectors
Plugins let Codex reach outside the folder.
A plugin or connector is a controlled bridge to another surface: browser, GitHub, Vercel, Google Drive, Gmail, Calendar, Supabase, or other systems.
The beginner idea is simple: use file access for local project work, and use connectors when the task depends on an external account, page, repo, deployment, or document.
When a workflow works well, it can become a skill. That means the next run starts from the procedure instead of from scratch.
Skill loop
Do it onceRun the workflow manually.
Refine itFix the weak steps until it is reliable.
Capture itTurn the pattern into reusable instructions.
5. Browser + computer use
Seeing the result changes the work.
For frontend work, the browser is not optional. Codex should open the page, click through it, check layout, inspect errors, and verify that the visible experience matches the intent.
Computer use extends that idea to desktop surfaces when the task depends on something outside the code editor.
An automation is for work that is valuable on a schedule: daily summaries, weekly checks, monitoring, reminders, recurring reports, or project housekeeping.
The best first automations are low risk and easy to inspect. They summarize, check, or prepare rather than silently changing important systems.
Recurring work
Daily
BriefWhat changed, what needs attention.
Weekly
ReviewProject status, stale tasks, broken links.
Later
Follow-upWake this thread back up at the right time.
7. Chronicle
Chronicle gives work more context.
Chronicle is useful when the story of what happened across screens matters. It can help recover context from recent activity, screenshots, and workflow history.
Use it for orientation and continuity, not as a replacement for clear project files and explicit instructions.
Context recovery
Recent workWhat was visible and active.
ChronicleContext stream.
Next stepResume with less guessing.
8. Workflow cards
Start with concrete tasks.
Codex makes the most sense when the request has a real folder, a visible target, or a clear output. These prompts are intentionally practical.
Local filesReceipts to spreadsheet
Point Codex at a folder of messy files and ask for a structured output.
In my Downloads folder, find the receipts I need to process. Analyze them into an Excel workbook, categorize each transaction, and add charts that show spending patterns.
MemorySave a reusable preference
Tell Codex what to remember when a format, tone, or workflow should become default.
From now on, when I ask for a learning page and do not specify the format, use this left-rail guide layout with short sections, practical examples, and a table of contents.
Browser useTest the thing it built
Ask Codex to open the local page, click through the workflow, and fix what does not visibly work.
Open the local app in the browser. Test the buttons, navigation, mobile layout, and the main success path. Fix any visible issues you find.
9. Practice labs
Three labs to try first.
Small enough to finish, real enough to show why Codex is different.
Create a folder with messy source material: notes, CSVs, PDFs, screenshots, or exports.
Ask Codex to inspect the folder and summarize what is there.
Ask for one clean output: table, page, spreadsheet, or report.
Ask it to verify the output and explain what changed.
When Codex produces a workflow you like, ask it to convert the steps into reusable instructions.
Name the trigger situation.
List the inputs it should ask for.
Define the checks it should run before saying it is done.
Use Codex as a full loop frontend partner instead of only a code generator.
Ask for a small static page.
Ask it to open the page and test the main interactions.
Ask it to repair visible layout and console issues.
Advanced shelf
Deeper Codex topics belong in a second pass.
The first pass should stay practical. These topics are useful after the basic agent loop makes sense.
Worktrees and branches
How to isolate experiments and merge only the useful changes.
Multi-agent workflow
How to split exploration, implementation, review, and deployment without creating chaos.
Connector permissions
How to think about what tools an agent can access and why that matters.
Deployment review
How to confirm the live Vercel or GitHub Pages version matches the local page.
0. Field demo
A plain-English prompt becomes a live ArcGIS map.
This tab uses the Lower 48 choropleth app as a concrete bridge between Coding 101 and real GIS work.
The important idea is not that the app is complicated. The important idea is that one prompt turned into a real web interface with controls, map layers, live services, and deployment.
Demo chain
PromptDescribe the map, controls, popups, and live overlays.
ArcGIS appDraw states, recolor variables, search, zoom, and show overlays.
VercelPublish the working demo as a public URL.
Beginner frame: this is what coding looks like when HTML, CSS, JavaScript, APIs, ArcGIS, and deployment all show up in one small project.
1. Prompt
The request described the user experience first.
The prompt did not start with library names or architecture. It started with what a person should be able to do: see the 48 states, choose variables, search, zoom, change basemaps, and click a state for a useful summary.
make me an app showing the 48 state and then allow me to select different variables and you color code the states choropleth style and also give me searchable drop down of states so when I select a state it zooms to the state and a hope button to return and a button to allow various base maps and some simple instrcutions and an email to jbf@jbf.com if questions and when a user clicks on a state give me a pop up with few facts and 30 word overview
add live NWS alerts and current IRWIN wildfires
Useful habit: describe the workflow in plain English before worrying about the code. The code should serve the workflow.
2. Live map
The working demo stays inside the lesson.
The embedded app keeps its own Prompt and Output tabs. Click Output inside the frame to use the map, change variables, search for a state, switch basemaps, and test the live overlays.
Embedded from state-demo-three.vercel.appPrompt to output
3. What each layer does
The demo is a stack of familiar parts.
Once you name each layer, the app becomes easier to understand. The browser shows the interface. JavaScript runs the map behavior. ArcGIS services provide spatial data. Vercel makes the result public.
Working stack
HTMLCreates the control panel, buttons, search input, map container, and prompt/output tabs.
CSSTurns the controls and map stage into a clear side-panel interface.
JavaScriptListens for selections, changes renderers, zooms to states, and refreshes overlays.
ArcGIS SDKDraws the basemap, state polygons, popups, NWS alerts, and wildfire incidents.
APIsBring in live weather alerts and current wildfire feature services.
VercelHosts the static app so anyone with the URL can open it.
4. ArcGIS pieces
ArcGIS is the map engine and data connector.
The demo uses the ArcGIS Maps SDK for JavaScript. That means the page is still ordinary HTML, CSS, and JavaScript, but the map behavior comes from ArcGIS classes built for layers, views, renderers, popups, and services.
GIS ingredients
Base
BasemapLight gray, streets, topographic, imagery, or dark gray background.
States
GeoJSONLayerLower 48 state boundaries and demo attributes.
Live
FeatureLayerNWS alerts and IRWIN wildfire services.
Meaning
Renderer + popupColors, symbols, facts, and short summaries.
5. Source note
This tab points to the current live source app.
For now, Coding 101 embeds the existing Vercel deployment instead of copying the full ArcGIS app code into this folder. That keeps this teaching site simple and avoids breaking the working map while we decide whether to fully merge the app later.