If you’re seeing this, the site behind it is likely broken!

Hi, there. I use these course sites as little sandboxes to experiment with and learn various “brand new” CSS properties—and your browser does not support (at least) one of them. Apologies. It “should” always work in current/updating Safari and Chrome!

  • Typography & Interaction

    ’25–26

  • The Syllabus

  • Our Class

  • Unit Nº 1: “Type and the Web”

    Wks. 1–6

    • Week Nº 1

      Aug. 29

    • Everything Is a “Web Page”

    • Week Nº 2

      Sep. 5

    • It’s All About Type

    • Week Nº 3

      Sep. 12

    • An Intro to HTML

    • Week Nº 4

      Sep. 19

    • An Intro to CSS

    • Week Nº 5

      Sep. 26

    • The Box Model

    • Project Nº 1: “Manuscript”

      Oct. 3

    • Week Nº 6

      Oct. 3

  • Unit Nº 2: “There Is No Perfect Layout”

    Wks. 7–10

    • Week Nº 7

      Oct. 10

    • Responsive Design

    • DevTools /​ Web Inspector

    • Week Nº 8

      Oct. 17

    • Finally, Flexbox

    • And (CSS) Grid

    • Week Nº 9

      Oct. 24

    • Some Additional, Advanced CSS

    • Project Nº 2: “Spread”

      Oct. 31

    • Week Nº 10

      Oct. 31

  • Unit Nº 3: “Typography as Interface”

    Wks. 11–15

    • Week Nº 11

      Nov. 7

    • Working with Images

    • Week Nº 12

      Nov. 14

    • Week Nº 13

      Nov. 21

    • Thanksgiving Week

    • Project Nº 3: “Binding”

      Dec. 5

    • Week Nº 14

      Dec. 5

    • Week Nº 15

      Dec. 12

  • Winter Break

  • Unit Nº 4: “Interface as Interface”

    Wks. 16–21

    • Week Nº 16

      Jan. 21

    • Week Nº 17

      Jan. 28

    • An Intro to JavaScript

    • Week Nº 18

      Feb. 4

    • Week Nº 19

      Feb. 11

    • Week Nº 20

      Feb. 18

    • Project Nº 4: “Links”

      Feb. 25

    • Week Nº 21

      Feb. 25

  • Unit Nº 5: “If All You Have Is a Hammer, Everything Looks like a Nail”

    Wks. 22–30

    • Week Nº 22

      Mar. 4

    • Puttin’ a (Link/​Meta) Bow on It

    • Week Nº 23

      Mar. 11

    • Spring Break

    • Week Nº 24

      Mar. 25

    • Week Nº 25

      Apr. 1

    • Week Nº 26

      Apr. 8

    • Session Recordings

      Overall Notes

      Eric’s Feedback

      Michael’s Feedback

      Devansh’s Feedback

      More Overall Notes

      • Let’s look at our milestones: we should have a barebones-but-complete MVP today, moving into refinement next week.

      • As we move more into design, let’s “put a pin” in any additional features and/​or “bells and whistles.” Come back to these after the flow/​look/​feel is where you want it to be.

        If your functionality isn’t there yet, we’re behind⁠—and that needs to come first to allow you to move to design! Two weeks!

      • Consider the “storytelling” of your project⁠—(good) stories have a start, middle, and an end. As we move more into your design, think of someone coming to your site/​extension, using it, and then what its “end” state is. Does it feel resolved/​finished?

      • Don’t show visitors/​us things we can’t yet do or use. If we have to do “step 1,” don’t show us “step 2” until we’ve done the first one. (Or show them differently, or disabled.)

        This is also a way to narrow your down your logic and edge-cases! And make the design less overwhelming.

      • Also, affordances⁠—what does this thing do? Make it obvious!

      • In code, if your JS includes element.style.property = someValue, this is just an inline style. Let’s mind our first-semester fundamentals about where our styles live (in our external stylesheets)⁠—you probably just want to add or remove a class.

        If you want to pass a dynamic value to your stylesheet, you can set a CSS variable with element.style.setProperty('--some-variable', someValue).

      • When attributing “AI” questions, be sure to properly share the conversation thread (not just copy your session URL). You can test this in an incognito window!

        Some links are also just broken? Check your attributions⁠—a reminder:

        If you cannot furnish a link to your “conversation” and questions, you cannot use the tool nor its output.

      • Some of these conversation attribution links are not showing the full chat history⁠—probably because the context window is limited. We need to see it from beginning to end! Start new, shorter, more specific conversations.

        This is also a good practice to prevent LLM feedback loops, dead-end paths, and “hallucinations.”

      • Generally we want to see narrower, more focused questioning⁠—that does not cede your control/​understanding to the LLM.

        Less this:

        how use JS to filter json?

        More this:

        I’m trying to use Javascript filter() to look through an array in a JSON object, but am getting this error in my console: Uncaught SyntaxError: Unexpected token ')'. Can you explain this to me? Here is my function…

      Project Check-Ins, ongoing

      Devansh will be joining us again! We’ll break up into smaller groups today:

      Group Nº 1

      • Ali
      • Zarah
      • Sooim
      • Evgenii
      • Sophia

      Group Nº 2

      • Mia
      • Riya
      • Lucy
      • Kinza
      • Trenton

      Group Nº 3

      • Michael
      • Soko
      • Chareese
      • Amanda
      • Katie

      Group Nº 4

      • Melody
      • Maika
      • Kimaya
      • Noor
      • Cason
      • Zoom for Devansh
      • Zoom for Eric
      • Zoom for Michael

      Structure for today

      • Our goal today is for you to see both instructors and both one alumni! If we’re relatively quick about things.

      • Have your MVP up on your phone (or your Chrome extension loaded), ready to tap tap tap.

      • With your instructors: update us on your progress from last week and what you’ll be tackling next.

      • Our goal is to help identify what you need to get across the finish line in two weeks. 😲

      • With your alumn: give them a brief background to your problem/​concept and then just hand it over!

      • This could be more about vibes, and just some fresh UX eyes.

      For next week

      • We’re heading into the closing phases of your projects. Next week, you should be shifting into design and testing/​QA:

        Project Nº 5: Refinement, Polish, and Testing

      • Make sure we have your links/​progress:

        Submission Form

    • Week Nº 27

      Apr. 15

    • Project Nº 5: “Functions”

      Apr. 22

    • Week Nº 28

      Apr. 22

    • Week Nº 29

      Apr. 29

    • Week Nº 30

      May 6

    • “Everything Else”

  • Project “Index”

    May 15

  • The end