Skip to content

Week 33 — Polish & deploy

At a glance

Date Friday, May 14, 2027
Unit 4 — Ship It
Big idea Shipping means making a project clear, safe, saved, and reachable — not perfect.
Goal Every capstone has a final public-safe showcase page or link ready for Week 34 QR codes.
Student accounts needed None for Azure. Teacher deploys all public pages.
Prep time 30–45 minutes before class, plus post-class deploy time if needed.

Why this lesson looks the way it does

Last Friday students tested and fixed. Today is the transition from builder mode to publisher mode. The bar is not "professional portfolio." The bar is clear, safe, and demonstrable for a real visitor next week.

Because projects may be websites, MakeCode games, or Python programs, the common artifact is a showcase page on the class Azure Static Web App. Website projects can be the artifact itself. MakeCode projects can be linked from a page after teacher review. Python projects can be presented with a description, code excerpt, and sample run; if the editor provides a safe share link, include it only after review.


CSTA 2026 standards

Concept area Connection
Algorithms & Design Decide what final visitor path best communicates the project
Programming Fix final bugs and prepare HTML/CSS or share links for deployment
Data & Analysis Use test feedback to choose final changes and verify expected behavior
Systems & Security Publish through teacher-managed Azure folders and protect credentials/private information
Computing & Society Attribute sources, remove private details, and prepare work for a public audience

"I can…" objectives

By the end of today, students can say:

  • I can polish a project by improving clarity, instructions, and first impressions.
  • I can prepare a safe showcase page or link for public viewing.
  • I can explain what my project does in 20 seconds.
  • I can stop adding features so the project can ship.

Teacher prep — the 5-minute version

This is really a 30–45 minute prep, plus post-class deploy time if student artifacts need cleanup.

  1. Reopen the Azure Static Web App folder from Week 29.
  2. Create a capstone folder:
    eca-shipit-site/
      capstone/
        index.html
        blue-otter/
          index.html
          style.css
    
  3. Prepare the capstone landing page with placeholder links.
  4. Have the Week 29 deploy command ready:
    $resourceGroup = "eca-coding-2027-rg"
    $appName = "eca-coding-shipit-2027"
    $token = az staticwebapp secrets list --name $appName --resource-group $resourceGroup --query "properties.apiKey" -o tsv
    swa deploy . --env production --deployment-token $token
    $siteHost = az staticwebapp show --name $appName --resource-group $resourceGroup --query "defaultHostname" -o tsv
    "https://$siteHost/capstone/"
    
  5. Do not project the token. If deployment fights you, collect all artifacts and deploy after class.

$host is reserved in PowerShell

Use $siteHost, not $host — PowerShell's $host is a read-only automatic variable and assigning to it throws an error.


Minute-by-minute run sheet

0:00–0:04 — Anchor

Say:

"Last Friday someone else tested your project. Today we make the version a visitor will see next week.

The goal is not perfect. The goal is shipped: clear, safe, saved, and reachable."


0:04–0:10 — Mini-lesson: polish is not decoration

Write this on the board:

Polish = clarity + safety + reliability + first impression

Say:

"Changing the color can be polish. But only if the page is already readable. Adding instructions can be polish. Fixing a bug can be polish. Removing a confusing extra feature can be polish."

Show a showcase page template:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>Capstone: Space Collector</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <main>
      <h1>Space Collector</h1>
      <p><strong>Built by:</strong> Rocket Team</p>
      <p>Collect stars, avoid asteroids, and reach 20 points to win.</p>
      <h2>How to try it</h2>
      <p>Use the link or read the sample run below.</p>
      <p><a href="https://arcade.makecode.com/" target="_blank">Project link</a></p>
      <h2>What we learned</h2>
      <ul>
        <li>We learned to test before adding more features.</li>
        <li>We fixed the enemy speed after peer feedback.</li>
      </ul>
    </main>
  </body>
</html>
body {
  font-family: Arial, sans-serif;
  margin: 40px;
  background: #101827;
  color: #f8fafc;
}

main {
  max-width: 760px;
  background: #1f2937;
  padding: 20px;
  border-radius: 14px;
}

a {
  color: #93c5fd;
}

0:10–0:34 — Polish and package

Students complete the final checklist:

  1. Project has a title.
  2. Visitor can tell what to do in ten seconds.
  3. Must-have feature works.
  4. No full names, personal photos, contact info, or private details.
  5. Sources are linked or credited if outside images/facts are used.
  6. Project is saved and handed to teacher.
  7. Team can give a 20-second explanation.

Teacher collection options:

  • Website: copy final folder into capstone/<slug>/.
  • MakeCode: teacher reviews share link, then adds it to a showcase page in capstone/<slug>/.
  • Python: student provides code and sample output; teacher creates or reviews a showcase page. If using a public editor share link, review it first.

Say while circulating:

"If it helps the visitor understand or trust your project, do it. If it is just a new idea, write it down for summer and keep shipping."

At 0:30, call feature freeze:

"No new features after this minute. Only fixes, saving, and handoff."


0:34–0:42 — Share-out: 20-second rehearsal

Each team rehearses with a neighboring team:

Our project is called ___.
It is for ___.
You use it by ___.
One thing we learned was ___.

Choose two to present to the room.


0:42–0:45 — Teaser + prompt

"Next Friday is Showcase Day. People will not see every bug you fixed. They will see that you built something and shipped it. Practice being proud without apologizing."

Tiered challenges

🟢 Starter — grades 5–6

Use this simple showcase page and replace bracketed text:

<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>[Project Name]</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <main>
      <h1>[Project Name]</h1>
      <p>This project is about [topic].</p>
      <h2>How to use it</h2>
      <p>[One or two clear instructions.]</p>
      <h2>What I learned</h2>
      <p>[One thing you learned.]</p>
    </main>
  </body>
</html>

🟡 Builder — grades 7–8

Add a "Behind the build" section:

<h2>Behind the build</h2>
<ul>
  <li>Hardest bug: ___</li>
  <li>Best feedback: ___</li>
  <li>Change we made: ___</li>
</ul>

🔴 Extender — grades 9–10

Run the final publisher check:

Relative links work:
Mobile width readable:
No private info:
External links appropriate:
Project explanation under 20 seconds:

Then help generate the class capstone landing page list without exposing full student names.


Share-out prompt

"What did you polish today that made the project clearer, safer, or more reliable?"

🤔 Think About This

What is one sentence you can say next week that starts with, 'I built…'? Notice how that feels.


🔌 Unplugged Plan B — if the internet is down

Polish can still happen offline.

Time Activity
0:00–0:04 Anchor: testing is done; today is publishing prep
0:04–0:10 Mini-lesson: polish = clarity + safety + reliability + first impression
0:10–0:26 Teams create or revise paper showcase cards with title, instructions, what they learned, and safe public slug
0:26–0:35 Partner review for clarity and privacy
0:35–0:42 20-second presentation rehearsal
0:42–0:45 Teaser: teacher will deploy when internet returns; showcase still happens

After class, use the paper cards to finish missing showcase pages.


Common problems & fixes

Problem Fix
Student keeps adding features Call feature freeze and ask what must be true for showcase.
MakeCode share link is missing Have student export/download or record project details; create a showcase page now and add link after class if needed.
Python project cannot run publicly Showcase the code, sample input/output, and explanation on a static page. Do not require a live Python host.
Website paths break in capstone/<slug>/ Use relative paths only: style.css, image.png, not local machine paths.
Team wants full names on showcase page Use team name, first names only if school policy allows, or approved public slug. Safer default: team/project names.
Deployment takes too long Collect, preview, and deploy after class. Showcase depends on working URLs next week, not live CLI drama today.

Vocabulary

  • Polish — final changes that make a project clearer, safer, and more reliable
  • Feature freeze — a point when no new features are added before shipping
  • Showcase page — a public page that explains and links to a project
  • Attribution — giving credit for outside images, facts, or resources
  • Relative path — a file path based on the current folder, such as style.css

Reflection — fill in after class

  • Which capstones are deployed and verified?
  • Which need post-class teacher packaging?
  • Are QR code URLs ready for Week 34?
  • Who needs encouragement to present without apologizing?

Next week: Week 34 — 🎉 Showcase Day