πŸ‘‹ Welcome to Dev School!

~ every student gets called by name here ~
⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ⭐

Learn to speak Computer

~ no boring textbooks were harmed in the making of this page ~
DAY 1 + 2 Β· June 4–5, 2026
Lesson 1

🦴 A webpage is a body

Every page on the internet β€” Instagram, Netflix, Vantage Circle β€” is made of exactly three ingredients:

🦴 HTML is the skeleton β€” a boring list of what exists: a box, a picture, a heading, a button. No beauty. No behavior. Just bones.

🎨 CSS is the clothes & makeup β€” it takes the bones and says β€œyou, be coral. You, get rounded corners. You, float with a soft shadow.”

🧠 JavaScript is the brain & muscles β€” it makes things happen: clicks, counting, loading data.

⚑ You did this today! That profile card you screenshotted for Preetam? Below is its baby version. Use the buttons to build it up, ingredient by ingredient. Try clicking β€œGive Award” at each stage… πŸ‘€
πŸ§ͺ Experiment: build Preetam's card
PR
<h3>Preetam Rajkhowa
<p>Development
<span>πŸ… Encouragement Expert
173Awards
563Badges
28Greetings
This is raw HTML. Sad, right? Like a website from 1995. But every element you see in the real card is already here β€” just naked!
⭐ Star Quiz #1
Preetam says: β€œThe Encouragement Expert badge should have more rounded corners.” Who do we call?
Lesson 2

🎨 CSS β€” your kingdom πŸ‘‘

CSS works like a dress code memo: you write a rule that says who it applies to (the β€œselector”, like .badge) and what they must wear (the properties, like border-radius: 20px).

The β€œC” stands for Cascading β€” rules flow down like a waterfall, and when two rules argue about the same thing, the more specific one (or the one written later) wins. That's the whole drama of CSS in one sentence.

And !important? That's a rule screaming to skip the queue. It wins instantly β€” but now nobody else can ever override it politely. That's why your project has a lint rule banning it. It's the villain. 🦹

⚑ You do this every day! Your whole branch β€” feat/ui-design-tokens-phase-1 β€” is CSS work. Design tokens are just CSS variables: named wardrobe items like --coral that every component borrows from, so changing one name re-dresses the whole app.
πŸ§ͺ Experiment: dress the badge yourself
πŸ… Encouragement Expert
↑ this code updates LIVE as you play. You are literally writing CSS right now. Tell your CTO. 😎
⭐ Star Quiz #2
Two CSS rules both want to color the same button β€” one written at the top of the file, one at the bottom, equally specific. Who wins?
Lesson 3

✏️ SVG β€” drawings made of math

A photo (JPG/PNG) is a grid of colored dots β€” pixels. Zoom in, and the dots get big and blurry. 🟦🟦🟦

An SVG stores no dots at all. It stores instructions: β€œdraw a circle at the center, radius 6. Now a ribbon below it.” The computer re-draws it fresh at ANY size β€” so it is never blurry. It's a recipe, not a photo of the cake. πŸŽ‚

⚑ You did this TODAY β€” literally these exact icons! Below are the two real icons you sent Preetam an hour ago: the award medal (Service Award History) and the gift (Redeem Gift). Play with them β€” they're not images, they're living math.
πŸ§ͺ Experiment: Preetam's icons, but make it a toy
a 24px PNG zoomed in β†’
blurry dots 😡
the same icon as SVG β†’
crisp forever ✨
⭐ Star Quiz #3
Why did your SVG icons stay perfectly sharp when you dragged that size slider to 200px?
Lesson 4

🧱 Components β€” LEGO city

Imagine writing Preetam's profile card by hand… then writing it AGAIN for every one of 2 million employees. Madness. 🀯

Instead, developers build a component: one reusable mold πŸ§‡ (like a waffle iron). Pour in different data β€” name, department, awards β€” and out comes a fresh card every time. Same shape, different filling.

That's what Angular (the framework your app is built with) does all day. Your codebase is a LEGO city of components: vc-profile-widget, vc-side-icon… every vc- thing you've seen me mention is a LEGO brick.

⚑ This is why your job is powerful! When Preetam's icons get added to profile-widget.component.html, they update everywhere that component appears β€” every page, every user β€” by editing ONE file. Fix the mold, fix every waffle.
πŸ§ͺ Experiment: one mold, many waffles
↑ β€œChange the mold” edits ONE design… watch EVERY card update at once. That's components.
⭐ Star Quiz #4
The profile card appears on 5 different pages of Vantage Circle. The icons need updating. How many files do you edit?

πŸŒ… DAY 2

~ how your work travels: time machines, kitchens & one very strict bouncer ~
Lesson 5

⏰ Git β€” the time machine

Git is a magic photo album for code. Every commit πŸ“Έ is a labelled snapshot of every file in the project at that moment. Broke something on Tuesday? Flip back to Monday's photo and compare. Nothing is ever truly lost.

A branch 🌿 is a parallel universe. master is the official universe. Your feat/ui-design-tokens-phase-1 is a sandbox copy where your design-token experiments live safely β€” when the work is ready, the universes get merged.

And push? That's publishing your snapshots to the team's shared cloud album. Committing is private; pushing is public πŸ“’ β€” which is exactly why your rule with me is β€œnever push without permission.”

⚑ You live in git every day! Every time I tell you β€œcommitted βœ…β€, we glued a new photo into your branch's album. Those weird codes like 56216ac? Snapshot serial numbers.
πŸ§ͺ Experiment: a tiny time machine
↑ edit the sentence, snapshot it a few times… then click ANY old dot to time-travel 🀯
⭐ Star Quiz #5
Yesterday the button looked perfect. Today it's broken and nobody knows why. What superpower does git give you?
Lesson 6

🏭 The build kitchen

npm is a grocery delivery service πŸ›’. The file package.json is the shopping list, and npm install fills your fridge (a folder called node_modules) with thousands of ingredients other developers already cooked.

The dev server is your personal kitchen πŸ‘¨β€πŸ³. npm run start:dev:proxify cooks the whole app and serves it hot at localhost:4200 β€” a private restaurant only YOUR computer can visit.

Best part: watch mode. The chef literally watches your files. Save a .scss file β†’ he notices β†’ re-cooks just that dish β†’ your browser gets the fresh version in seconds. (That β€œcompiling…” wait this morning? The chef's first big cook of the day.)

⚑ You did this today! We started the kitchen together this morning. The β€œproxy” in the command is the waiter 🀡 β€” your local app's /api orders get forwarded to the real backend kitchen in the cloud.
πŸ§ͺ Experiment: be the chef's boss
πŸ“ save
πŸ”¨ compile
πŸ“¦ bundle
🌐 serve
πŸ”’ localhost:4200

Hello Vantage! πŸ‘‹

πŸ‘¨β€πŸ³ re-cooking…
↑ type something β€” the chef notices, re-cooks, and serves. That's watch mode!
⭐ Star Quiz #6
You hit Save on a .scss file while the dev server is running. What happens?
Lesson 7

🎟️ Auth β€” the nightclub bouncer

When you log in, the bouncer checks your ID (email + password) once, then hands you a wristband β€” a token: a long random code. From then on, every single request your app makes shows the wristband, not your password.

But Club Vantage has a strict rule: ONE wristband per person. If your account logs in somewhere else, the club prints a NEW wristband and cancels yours. Next time you knock β†’ 🚫 bounced to /site/logout.

Sound familiar? That's exactly what happened to you this morning. And get-auth.js is our trick: it quietly logs in again and writes the fresh wristband into custom-auth.ts.

⚑ This was literally your morning! App bounced you to site/logout β†’ we ran node scripts/get-auth.js β†’ fresh token β†’ hard refresh β†’ back in. You now understand the whole story.
πŸ§ͺ Experiment: Club Vantage πŸͺ©
🎟️ your wristband (token)
a1b2c3d4…
βœ… fresh & valid
You're outside Club Vantage πŸ•Ί
Try getting in!
↑ try: enter β†’ evil login β†’ enter again (bounced!) β†’ get-auth.js β†’ enter. Your morning, as a game.
⭐ Star Quiz #7
The app suddenly throws you to /site/logout (like this morning!). What most likely happened?
Lesson 8

🧠 TypeScript β€” the forbidden room

Remember the brain (JavaScript) from Lesson 1? TypeScript is JavaScript with a strict grammar teacher πŸ‘©β€πŸ« standing behind it. Every box gets a label β€” a type: awards: number means β€œonly numbers may live here.”

Put the wrong thing in a box, and the teacher refuses to even build the app. Annoying? A little. But it catches mistakes before 2 million employees ever see them β€” instead of the app exploding in their faces. πŸ’₯

So why is it your forbidden room? Because .ts files are the app's brain and behavior. Changing a wardrobe (SCSS) can at worst look funny. Changing the brain is surgery. The rule isn't β€œyou can't” β€” it's β€œnot yet.” (And hey β€” today you peeked inside. πŸ‘€)

πŸ§ͺ Experiment: get past the grammar teacher
// profile-widget.component.ts β€” fill the boxes!
awards: number = ?;
name: string = ?;
πŸ‘‰ click a dashed slot, then pick a value chip below
↑ make BOTH lines happy and the app ships. (Try the banana somewhere. Trust me.)
⭐ Star Quiz #8
Why does Sayani's rulebook say β€œdon't touch .ts files (yet)”?
πŸ”’ Earn all 8 stars to unlock your certificate!

πŸ† Bootcamp Certificate

Your Name Here

has officially stopped being scared of

🦴 HTML🎨 CSS✏️ SVG🧱 Components ⏰ Git🏭 Builds🎟️ Tokens🧠 TypeScript

Both days conquered. Next stop: reading real code in your own repo β€” with me as your co-pilot. πŸš€