← All modules
07Intermediate

Deployment

A project on your laptop is a demo. A project on a URL is a product.

Most people learning to build stop one step too early. The app runs on their laptop, the demo works, and then it lives forever on `localhost` where no client, recruiter or user will ever see it. Deployment is that missing step, and it is where a portfolio project becomes something you can put a link to. The gap is not talent — it is a handful of concepts nobody teaches in order: what a server actually is, why your API key must never touch your code, how a domain name finds your app, and what to do the first time it returns a 500 to a real person. This module walks that path once, end to end, on your own project. You will push a working AI app to a cloud host, point a domain at it, keep your secrets in environment variables instead of your Git history, and add just enough logging to debug a failure you cannot reproduce. Nothing here is theoretical: by the end you have a live URL you can send to anyone, and you understand every piece well enough to fix it at 2am.

LevelIntermediate
Duration2 weeks
Sessions5
Price750 DH

Prerequisites

  • You have built a small app that runs on your own machine
  • Basic comfort with a terminal and Git
  • A project you actually want to put online

What you can do afterwards

  • Ship a working app to a cloud host and get back a live URL
  • Point a custom domain at your app and understand how DNS resolves it
  • Keep API keys and secrets out of your code, in environment variables
  • Read a production error you cannot reproduce, using logs
  • Explain the difference between your dev environment and production — and why it matters
  • Set up a deploy that ships automatically when you push to Git

Sessions

What a server actually is

“The cloud” is somebody else’s computer that stays on. Before touching any dashboard, we build the honest picture: a machine listening on a port, waiting for requests, running your code, sending back a response. Once that is concrete, the hosting choices stop being magic and become trade-offs you can actually reason about.

Covered

Request, response and what a port isStatic hosting vs a running serverServerless: code that wakes up on demandWhere your AI calls actually runCold starts and why the first request is slowReading a hosting bill before it surprises you

Your first deploy

We take your project and push it live. You connect a Git repository to a host, watch the build run, and get a URL back. It will probably fail the first time — a missing dependency, a wrong build command — and that failure is the lesson: reading a build log and fixing it is the skill, not avoiding it.

Covered

Connecting a Git repo to a hostThe build step: what runs and whereReading a failed build logPreview deploys for every changeRolling back a bad releaseAuto-deploy on push

Domains and DNS

A random host URL says “student project”. Your own domain says “product”. We buy a domain, point it at your app, and — the part everyone finds mysterious — understand how DNS turns a name into your server. HTTPS comes free once you know where to click, and we cover why a padlock is not optional in 2026.

Covered

Buying a domain, without overpayingA record, CNAME — what they point atHow DNS resolves a name to your appPropagation: why it is not instantHTTPS and the free certificateSubdomains for staging

Secrets and environments

The fastest way to lose money is to commit your OpenAI key to a public repo — bots scan GitHub for exactly that. We move every secret out of the code and into environment variables, and separate your development setup from production so a test never bills the real account or emails a real user. This is the session that keeps you out of trouble.

Covered

Why a key in your code is a leakEnvironment variables, per environmentWhat belongs in .gitignoreDev, staging, productionRotating a key you exposedLeast privilege for API keys

When it breaks in production

It worked on your machine and it is 500-ing for a user in another country. You cannot reproduce it, so you need logs. We add just enough logging and error tracking to see what actually happened, learn to read a stack trace from production, and set one alert so you find out before your users tell you. This is the difference between a demo and something people can rely on.

Covered

Logging what you will need laterReading a production stack traceError tracking that groups the noiseOne alert worth havingTimeouts and retries on AI callsA rate limit before your bill explodes
What you leave with

Take the project you built earlier and put it fully online: a live URL on your own domain, HTTPS on, every secret in environment variables, an auto-deploy from Git, and one alert wired up. Then break it on purpose — pull a key, trigger an error — and use your logs to find and fix it. You leave with a link you can put on your CV and the confidence that you can keep it running.

Offered in

Questions

Do I need to know DevOps for this?

No. Modern hosts handle the hard parts — servers, scaling, certificates — so a solo builder can ship without a DevOps team. This module teaches the concepts underneath so you understand what the dashboard is doing, not a career in infrastructure.

Will hosting cost me money?

A portfolio-sized app usually fits inside a free tier. The real cost is your AI provider — every model call is billed — which is exactly why we spend a session on rate limits and keeping keys locked down.

I only have a static site — is this still for me?

Yes. We start with static hosting because it is the simplest thing that works, then add a backend the moment your app needs to call an AI model with a secret key — which most do. You will finish able to deploy both.

Other modules