Catalog
Ninety courses. Six benches.
Interface, JavaScript, TypeScript, React, and delivery are the frontend work. Practice is how you scope it, price it, and run it inside an LLC. Every course includes one call a week. Nothing is charged until after that first conversation.
90 courses · 6 benches
15 courses in Interface
BR-01 · Interface · Beginner
The Box, on Purpose
Learn the box model by building a page whose spacing you can explain.
Box model · Margin · Padding · Display
Read the briefHide the brief
Margin, border, padding, and display, taught by drawing the boxes the browser is already drawing. You will stop adding wrappers to fix a gap you cannot name.
- Explain how margin, border, and padding add up
- Choose between block, inline, and inline-block
- Fix a collapsed margin without another wrapper
$9.99
3 weeks · 3 calls
BR-01 · Interface · Beginner
Selectors that Hold
Write selectors that survive a redesign, and stop fighting specificity you created.
Selectors · Specificity · Cascade · Inheritance
Read the briefHide the brief
Specificity, inheritance, and the cascade, practiced on a stylesheet that has already gone wrong. You will learn to win a conflict by simplifying it.
- Predict which rule wins and say why
- Write a selector that does not depend on a long chain
- Reset a property without !important
Before this: The Box, on Purpose
$14.90
4 weeks · 4 calls
BR-01 · Interface · Intermediate
Flow, Flex, and When Flex Fails
Use normal flow and flexbox for the layouts they are actually good at.
Flow · Flexbox · Alignment · Wrapping
Read the briefHide the brief
A row, a stack, a toolbar, and the case where flex starts fighting you. You will know when to stop and reach for grid instead.
- Build a row that wraps without a media-query hack
- Align items on the cross axis on purpose
- Explain when flex is the wrong tool
Before this: The Box, on Purpose
$19.90
4 weeks · 4 calls
BR-01 · Interface · Beginner
Grid for Pages, Not Demos
Lay out a real page: header, sidebar, and a content column that behaves.
Grid · Template areas · Gaps · Placement
Read the briefHide the brief
Named areas, placement, and a breakpoint that changes the page without rewriting the markup. You will build a layout you could hand to a writer.
- Draw a page as named grid areas
- Place an item without absolute positioning
- Change the grid at a breakpoint without rewriting markup
Before this: Flow, Flex, and When Flex Fails
$29.90
5 weeks · 5 calls
BR-01 · Interface · Intermediate
Type on a Screen
Set type for reading: measure, leading, hierarchy, and the few sizes a page needs.
Typography · Measure · Leading · Hierarchy
Read the briefHide the brief
A display face and a text face, a measure that stays comfortable, and a scale small enough to remember. You will stop picking font sizes by eye.
- Set a measure that stays readable
- Build a type scale with a handful of sizes
- Pair a display face and a text face
Before this: The Box, on Purpose
$39.90
5 weeks · 5 calls
BR-01 · Interface · Intermediate
Color, Contrast, and States
Choose colors that pass contrast, including hover, focus, and disabled.
Color · Contrast · States · Tokens
Read the briefHide the brief
Roles instead of hex values, and states that do not rely on color alone. You will check pairs against WCAG rather than against your monitor.
- Check a pair against WCAG contrast
- Design hover and focus without relying on color alone
- Name colors as roles, not as hex values
Before this: Type on a Screen
$49.90
6 weeks · 6 calls
BR-01 · Interface · Advanced
Forms People Can Finish
Labels, errors, and keyboards. A form a person can complete without guessing.
Forms · Labels · Errors · Keyboard
Read the briefHide the brief
Every control gets a name, every error sits next to its field, and the form works from the keyboard. Advanced, because the details are where forms fail.
- Associate every control with a visible label
- Show an error next to the field it belongs to
- Complete the form from the keyboard alone
Before this: Selectors that Hold
$59.90
6 weeks · 6 calls
BR-01 · Interface · Intermediate
Responsive Without a Framework
Breakpoints, container queries, and fluid space, with no utility framework required.
Media queries · Container queries · Fluid type · Breakpoints
Read the briefHide the brief
You will choose breakpoints from the content, and use a container query where a viewport query is the wrong question.
- Choose a breakpoint from the content, not a device list
- Use a container query where a viewport query is wrong
- Let spacing scale without a pile of overrides
Before this: Grid for Pages, Not Demos
$69.90
7 weeks · 7 calls
BR-01 · Interface · Intermediate
Motion that Respects People
Transitions that explain a change, and stay still when someone asks them to.
Transitions · Reduced motion · Easing · Purpose
Read the briefHide the brief
Animate a property that does not force layout, and honor prefers-reduced-motion as a requirement rather than a nicety.
- Animate a property that does not force layout
- Honor prefers-reduced-motion
- Use motion to show where something went
Before this: Color, Contrast, and States
$79.90
8 weeks · 8 calls
BR-01 · Interface · Advanced
Names, Focus, and the Keyboard
Accessible names, focus order, and the mistakes that hide a control from assistive tech.
Accessible name · Focus · Keyboard · Semantics
Read the briefHide the brief
You will give controls names a screen reader can announce, keep focus in visual order, and build a skip link that lands. Advanced, and it is the difference between a page that looks done and one that is.
- Give a control a name a screen reader can announce
- Keep focus order the same as visual order
- Build a skip link that actually lands
Before this: Forms People Can Finish
$89.90
8 weeks · 8 calls
BR-01 · Interface · Intermediate
Custom Properties as a System
Design tokens in CSS variables: themes, density, and one place a color can change.
Custom properties · Tokens · Theming · Inheritance
Read the briefHide the brief
A theme as custom properties on a root, an override in one subtree, and a clear line between a variable and a preprocessor constant.
- Model a theme as custom properties on a root
- Override a token in one subtree
- Explain how a variable differs from a preprocessor constant
Before this: Color, Contrast, and States
$99.90
9 weeks · 9 calls
BR-01 · Interface · Intermediate
Component CSS that Stays
Scope styles to a component without a framework, and keep the cascade from leaking.
Scope · Cascade layers · Components · Naming
Read the briefHide the brief
Cascade layers, a naming scheme that does not explode, and a third-party widget that no longer restyles your page.
- Scope a component's CSS so it cannot leak
- Use a cascade layer to settle third-party styles
- Name a variant without a combinatorial class list
Before this: Selectors that Hold
$109.90
10 weeks · 10 calls
BR-01 · Interface · Intermediate
Debugging Layout in the Browser
Read the box overlay, the grid inspector, and the cascade until the bug is obvious.
DevTools · Box overlay · Cascade · Grid inspector
Read the briefHide the brief
You will be handed broken layouts and asked to name the winning rule before you change anything. Guessing is the habit this course is trying to retire.
- Find which rule is winning from the cascade panel
- Measure a box instead of guessing the gap
- Spot an overflow before it becomes a horizontal scroll
Before this: Grid for Pages, Not Demos
$119.90
11 weeks · 11 calls
BR-01 · Interface · Intermediate
Empty, Error, and Busy States
The screens people actually see: nothing loaded, something failed, and the wait.
Empty states · Errors · Loading · Content design
Read the briefHide the brief
An empty state that says what to do, an error that names the failure, and a busy state that does not freeze the page. Twelve weeks, because these are product decisions as much as CSS.
- Design an empty state that tells the person what to do
- Write an error that names the failure and the next step
- Show progress without blocking the whole page
Before this: Forms People Can Finish
$129.90
12 weeks · 12 calls
BR-01 · Interface · Advanced
Capstone: A Finished Interface
One responsive, accessible interface, from a blank file to something you can hand over.
Capstone · Responsive · Accessibility · Handoff
Read the briefHide the brief
You choose the page. We hold the line on keyboard access, contrast, type, and a layout that works on a phone and a wide screen. You leave with notes another person could build from.
- Ship a page that works on a phone and a wide screen
- Pass a keyboard and contrast pass you run yourself
- Write notes another developer can build from
Before this: Names, Focus, and the Keyboard
$147.90
12 weeks · 12 calls