← All lessons

Foundations — the absolute basics

The plain-English version. No coding background needed. We give an analogy for each idea, then show how it shows up in this actual project.

You don't need to memorize any of this to build the app. Claude Code does the typing and the commands. But understanding what the pieces are makes you the director instead of a passenger.

1. Hardware vs. software

Software always needs some hardware to run on. The only real question is whose hardware: yours, or someone else's.

2. Your laptop vs. "the cloud"

When you run a program on your own computer, it runs on your hardware — only you can use it, and only while your computer is on.

"The cloud" just means someone else's computers, in a data center, that are always on and reachable over the internet. That's the whole trick. "Putting it in the cloud" = running your software on an always-on computer that's reachable over the internet — instead of only your laptop. (Who's actually allowed in is a separate choice: this app, for example, requires a Google login.)

3. What is a server?

A server is one of those always-on computers, running your software, waiting to serve whoever visits.

4. Frontend vs. backend

Inside that "restaurant" (§3), the work splits into two halves:

5. Where data lives: database vs. file storage

Apps need to remember things, and there are two kinds of memory:

So: Neon holds the records and the slips that point at each file; R2 holds the big files themselves.

6. What is an API?

An API is just a menu one program offers to another: "here's what you can ask me to do, how to ask — and I'll hand the result back in a predictable format."

7. Putting it together — what "the cloud" really is

A real cloud app is just these pieces, each on someone-else's always-on hardware:

your browser (frontend) → a server (backend) → a database + file storage → other companies' APIs

None of it is magic — it's specialized boxes connected by the internet.

8. Hosting — getting your app onto a server

Hosting = a company runs your app on their servers and keeps it reachable at a web address (often free to start).

9. git and GitHub — the save system + the shared shelf


See it in the real project

Everything above is live in this repo:

ConceptIn this project
Frontend + backendNext.js (the app/ folder)
Server / hostingVercel
DatabaseNeon
File storageCloudflare R2
Provider APIsOpenRouter + AtlasCloud
Save system + shared shelfgit + GitHub

Want the deeper "how it all connects" version? Read ../architecture.md. Want to know why each piece was chosen? The ../adr/ folder explains every decision.

Next: Building it properly — the spec-first, traceable process behind every change, and why we don't cut corners.