Skip to main

Miriam Suzanne

Miriam is a co-founder, product manager, and user-experience developer. She’s a core contributor to the Sass language.

Miriam leads the OddBird process, working with clients and users to set priorities and find solutions to their unique problems. She is a user-experience expert, and a pioneer of modern CSS techniques – member of the Sass core team, and creator of the popular Susy and True libraries. Miriam is a staff writer for CSS-Tricks, co-author of SitePoint’s Jump Start Sass, and internationally known conference speaker, winning “Best of” CSS Dev Conf in 2017. She is also a multimedia artist with extensive experience in theatre, writing, music, and visual art.

Upcoming Events

  1. [ ] SmashingConf Live – Online
  2. [ ] Webconf.asia – Hong Kong

Open Source

Blend

Sass support for LCH, Lab, and more CSS color spaces

CSS Color Modules Level 4 & Level 5 include several new CSS color formats, new color-adjustment syntax, and a contrast function. Blend provides early access to many of these features, while working with Sass colors.

W3C CSS Working Group

Developing specifications for the CSS language

Miriam is an Invited Expert on the W3C CSS Working Group, helping to develop the next level of Cascading & Inheritance, in addition to other CSS standards. She’s also active in the CSS4 and Design Token Community Groups.

Cascading Colors

Dynamic & interactive color palettes using CSS

Generate dynamic and interactive color palettes. Define custom themes with CSS custom properties, allow user-adjustments with a bit of light-weight JS, and customize the underlying system with Sass.

CSS Remedy

Addressing the technical debt of CSS

CSS Remedy provides a modern proposal for how CSS should work by default. Browsers are limited on how far they can improve default styles, but you don’t have to stay in the past.

Sass

CSS with superpowers

Sass is the most mature, stable, and powerful professional grade CSS extension language in the world. After creating several of the most popular sass toolkits, Miriam became a core contributor to the language.

Herman

Automated style guides

Design systems streamline development, communication, and consistency – but often rely on dedicated teams and extended budgets. We wanted a tool that helps create and maintain living style guides & pattern libraries in an agile process, and on a budget. Herman helps you keep your development process simple – and your UX consistent – as you scale over time.

Accoutrement

Integrated design-system management in Sass

OddBird’s Accoutrement tools help keep design tokens meaningful to both humans and machines – opening the door for automation, while improving readability. These tools also integrate with Herman, our automated pattern-library generator.

True

Unit-testing for Sass developers

True is the only full-featured unit-testing framework designed specifically for the Sass language. Write your tests in Sass, compile them with Sass, and then (optionally) pass the results to a Javascript test-runner for command-line control and reporting.

Compass

CSS-authoring framework & Sass library

An open source CSS authoring framework which uses the Sass language to make writing and sharing stylesheets powerful and easy. Compass was the first package-manager and toolkit-sharing platform for CSS, helping popularize the Sass language – and offering powerful browser-compatibility tools that changed the landscape for designers developers.

Susy

CSS layout framework

Susy was a responsive layout engine for Sass, before flexbox and CSS grid were available. Susy is now deprecated, and will not receive updates. If you need help moving off Susy, or learning the latest in web layout, we offer training and consulting to help bring you up-to-date.

2020 Resources

  1. Miriam speaking at Develop Denver, 2019
    Talk resource type

    Dynamic CSS

    with grids & custom properties

    • at Webconf.asia on
    see all Talk resources
  2. see all Talk resources
  3. see all Link resources
    Link resource type

    Using Custom Property “Stacks” to Tame the Cascade

    Since the inception of CSS in 1994, the cascade and inheritance have defined how we design on the web. Both are powerful features, but as authors we’ve had very little control over how they interact. Selector specificity and source order provide some minimal “layering” control, without a lot of nuance — and inheritance requires an unbroken lineage. Now, CSS Custom Properties allow us to manage and control both cascade and inheritance in new ways.

  4. Miriam talking with Jen Simmons and others
    Workshop resource type

    Resilient Web Systems

    Upgrade your app with front-end training & consulting

    see all Workshop resources
  5. Podcast resource type

    Design Systems AMA

    Jina and I answer questions about CSS, Sass, Design Systems, and more!

    see all Podcast resources
  6. Podcast resource type

    Authoring the future of CSS

    A spinoff of the Party Corgi Network discord. I chat with Chris Biscardi about The CSS Working Group, open-source projects, art, and music.

    see all Podcast resources
  7. Article resource type

    W3C Invited Expert on the CSS Working Group

    Helping define the future of styles on the web

    I’ve joined the CSS Working Group as a W3C Invited Expert to help to develop the next level of Cascading & Inheritance, in addition to other CSS standards. I’m also currently active in the CSS4 and Design Token Community Groups.

    see all Article resources

2019

  1. Link resource type

    Embracing the Universal Web

    CSS-Tricks asked a number of web builders the same question…

    What about building websites has you interested this year?” There are constantly new features appearing in browsers – from subgrid to variable fonts to better developer tools. It’s a really great time to be re-thinking everything we know about design on the web. Responsive design has served us…

    see all Link resources
  2. Video resource type

    Edit CSS Shapes in the Browser

    For quick visual adjustments directly on the page

    Have you ever wanted to create more interesting shapes on the web, or flow text around the details of an image? Shape paths can be hard to code without a visual reference, but Firefox provides a shape editor to make it quick and clear.

    see all Video resources
  3. Video resource type

    Use new selectors responsibly with selector queries

    Just in time for Selectors Level 4

    Firefox 69 was the first to implement selector feature queries, but other browsers are following suit. I’ll show you how it works, and how to start using this new feature query right away.

    see all Video resources
  4. Miriam speaking at Smashing Conf NY
    Talk resource type

    CSS is Rad

    Resilient design on an infinite canvas

    • at SmashingConf Live on
    see all Talk resources
  5. Video resource type

    How do you wrap long words in CSS?

    None of the solutions are perfect, but we have some options

    Horizontal text overflow has always been difficult to manage on the web. The default visible overflow is designed to make sure content remains accessible no matter the size of a containing box, but it’s not our only option.

    see all Video resources
  6. Video resource type

    Scroll Snap in CSS

    Without any JavaScript or “scrolljacking”

    When we’re scrolling down a page, or through a gallery of images, snap-targets can help guide us from one section or image to the next. In the past, developers have used JavaScript to hijack scrolling, but now we can manage scroll alignment directly in CSS with only a few lines…

    see all Video resources
  7. Video resource type

    Inner & Outer Values of the Display Property

    Allow us to be more explicit & expressive about layouts

    The display property has been in CSS from the beginning, handling everything from block and inline boxes to list-items and full layout systems like flexbox or grid. Now the display syntax is getting an upgrade to match it’s multiple uses.

    see all Video resources
  8. Podcast resource type

    On Sass & CSS

    I drop by the show to talk about Sass in 2019, design tokens, OddBird, unused CSS, new CSS properties, and Dave & Chris’ explanation of revert.

    see all Podcast resources
  9. Video resource type

    Why isn’t this CSS doing anything?

    Have you ever set a width in CSS, and… nothing happens?

    There are a number of property & value combinations that can lead to CSS being inactive, and now Firefox will tell you why. Open the developer tools, and look for the greyed-out property with an info-box on hover.

    see all Video resources
  10. Video resource type

    Faster Layouts with CSS Grid

    And subgrid, landing on Dec 3

    For years, we’ve struggled to build resilient layouts on the web, but CSS Grid promises to change all that – and you can start using it now, with only a few properties and basic concepts.

    see all Video resources
  11. Video resource type

    Laying out Forms using Subgrid

    and fallbacks for legacy browsers

    It’s a common pattern to align form labels and inputs in grid-like layout. I’ll show you how to do it quickly using CSS subgrid, with several quick fallbacks.

    see all Video resources
  12. Video resource type

    Subgrid for Better Card Layouts

    and fallbacks for legacy browsers

    Card layouts are popular on the web, rows and columns of boxes with similar content. CSS grids can help align those cards, but it’s still be hard to line-up content inside the cards – headers and footers that might need more or less room.

    see all Video resources
  13. Link resource type

    Introducing Sass Modules

    Sass recently launched a major new feature you might recognize from other languages: a module system. The new syntax will replace @import with @use and @forward – a big step forward for making Sass partials (one of the language’s most used features) more readable, performant, and safe. This article goes…

    see all Link resources
  14. Video resource type

    What does revert do in CSS?

    And how is it different from unset or initial?

    I’ve often used initial and unset in my CSS – global keywords that can be applied to any property. The difference is small, but important: unset allows inheritance, while initial does not. But then Firefox implemented revert and I was confused – how is this one different from the others?

    see all Video resources
  15. Video resource type

    Why is CSS so Weird?

    How can we design for an unknown & infinite canvas?

    CSS is the design language of the web – one of three core web languages – but it also seems to be the most contentious and often perplexing. It’s too easy and too hard, too fragile and too resilient. Love it or hate it, CSS is weird: not quite markup…

    see all Video resources
  16. Article resource type

    Sass Modules, a Primer

    Getting started with @use and @forward

    Dart Sass (the primary Sass implementation) released version 1.23.0 last night with a major new feature: modules. This is a common feature in many languages – but for those of us who primarily write CSS, it can be a big mental shift. Let’s take a look at the basics.

    see all Article resources
  17. Video resource type

    Styling Lists in CSS

    Powerful New CSS for Styling Bullets, Numbers, and List Markers

    When you create lists in HTML, browsers add bullet-points or numbers we call list markers. Now CSS gives us the tools to style those list markers, and even create our own!

    see all Video resources
  18. Video resource type

    Announcing the Mozilla Developer Channel

    a gift from Mozilla (and OddBird)

    Over the summer, we’ve been working with Mozilla to help create a new resource for web professionals like us – with a mix of videos, articles, demos, and open source tools. Today, we’re excited to launch the video channel!

    see all Video resources
  19. Rethinking user experience design across media
    Talk resource type

    User Unfriendly

    designing software for humans, with other humans

    see all Talk resources
  20. Sample organized color swatches with hex and hsl values
    Talk resource type

    Agile Design Systems

    with meaningful code and automation

    see all Talk resources
  21. Podcast resource type

    Design Systems & CSS

    We start by talking about design systems and design tooling – how they differ, and the problems they solve.

    see all Podcast resources
  22. Link resource type

    CSS Custom Properties In The Cascade

    a deep-dive into what’s possible

    Pushing past the “variable” metaphor, CSS Custom Properties can provide new ways to balance context and isolation in our patterns and components.

    see all Link resources
  23. Article resource type

    Smashing CSS Follow-Up Q&A

    Questions about Dynamic CSS

    I had the pleasure of presenting both a talk and workshop at Smashing Conf in San Francisco this year. During the talk, people left questions in a collaborative doc, so I’m here to provide the answers!

    see all Article resources
  24. see all Workshop resources
  25. Link resource type

    Has CSS finally come of age?

    Steve Jenkins interviews Miriam about the state of CSS, and what’s coming next for the language – from Intrinsic Design to Dynamic CSS.

    see all Link resources
  26. Article resource type

    VueFinder at VueConf, 2019

    Dynamic CSS with Vue

    Inspired by VueConf 2018 I spent some time learning JS and Vue in more depth, and built myself a more flexible VueFinder presentation tool to fit my needs. This year, I returned to VueConf and gave the closing talk on passing data between CSS and Vue.

    see all Article resources
  27. Podcast resource type

    Dynamic CSS Interview

    a mid-conference conversation

    Thunder Nerds interview me before her talk at VueConf US 2019.

    see all Podcast resources
  28. see all Talk resources

2018

  1. Podcast resource type

    Fonts & more

    Miriam talks with the Views on Vue panel about design, tools, fonts, and more.

    see all Podcast resources
  2. Podcast resource type

    Ethics, ES6 in Practice, and Dynamic CSS

    On Episode 18, the TalkScript team continues the live-ish at JSConfUS podcast series with guests Myles Borins, Tim Doherty, and Miriam Suzanne. Listen in!

    see all Podcast resources
  3. see all Talk resources
  4. Article resource type

    Beyond Tellerand

    Grid Systems & Vue Invaders!

    I love when conferences give me the opportunity to travel around the world. I love it even more when conferences go beyond the web to find inspiration from other fields. Beyond Tellerand (Düsseldorf, Germany) was the best possible combination.

    see all Article resources
  5. Article resource type

    VueConf US

    Agile design systems in Vue

    I’ve been excited about Vue.js since Sarah Drasner first showed me the basics. Since then, we’ve started using it for client work at OddBird, and I’m constantly impressed by the power and simplicity – so it was a real honor being invited to speak at the first VueConf US in…

    see all Article resources
  6. Article resource type

    Herman Style Guides

    An agile approach to design systems on a budget

    Design systems streamline development, communication, and consistency – but often rely on dedicated teams and extended budgets. We wanted a tool to create and maintain living style guides & pattern libraries in an agile process, and on a budget. Herman helps keep our development flow simple, and our UX consistent…

    see all Article resources

2017

  1. Link resource type

    18 Designers Predict UI/UX Trends for 2018

    Figma asked 18 designers (including me) what UI/UX trends they predict for 2018. December, with its flurry of holiday parties, cheery out-of-office auto-replies and introspective weather patterns, provided the perfect opportunity to pause and survey the landscape.

    see all Link resources
  2. Link resource type

    How to Write Beautiful Sass

    Excerpt from Jump Start Sass, chapter 11

    Clean, beautiful code should be a goal in every project. If other developers need to make a change, they should be able to read what is there and understand it. Readable code is the core of maintainability. This excerpt from Miriam’s book, Jump Start Sass will help get you started…

    see all Link resources
  3. Article resource type

    Media Queries & Grid Settings

    Practical media helpers for Susy3

    Most grids change with the viewport – and Susy needs new settings at each breakpoint. Susy3 is designed without mixins for complete flexibility from project to project, but it can be useful to build additional tools and shortcuts as you go. Here are some snippets to help you get started…

    see all Article resources
  4. see all Talk resources
  5. Link resource type

    More CSS Charts, with Grid & Custom Properties

    Inspired by Robin Rendle, I demonstrate some of my early experiments combining CSS Grids and custom properties to create dynamic layouts and data-visualizations.

    see all Link resources
  6. see all Article resources
    Flexible grid column layout
    Article resource type

    Welcome to Susy3!

    Make grid systems your fallback plan

    We’re excited to introduce Susy 3.0, a major update to our popular grid-math calculator – now more focused and flexible than ever. Susy was designed to make layout math easy, without forcing you into generic patterns and ugly markup. But grid systems are on the way out, replaced by real CSS layout specs that live in the browser. With Susy3, we want to help make that a smooth transition.

  7. Article resource type

    Understanding ‘Spread’ in Susy3

    Susy 3.0 will be released in the next week, if all goes well, and there’s a lot to write about it. I wanted to start with a detailed overview of one core concept: spread.

    see all Article resources
  8. Link resource type

    Stop Being Productive

    It’s time to re-think what we’re measuring

    Miriam reflects on the nature and value of productivity for the SuperYesMore series: The Human in the Machine.

    see all Link resources
  9. Link resource type

    Fun with Viewport Units

    Viewport units have been around for several years now, with near-perfect support in the major browsers, but I keep finding new and exciting ways to use them. I thought it would be fun to review the basics, and then round-up some of my favorite use-cases.

    see all Link resources
  10. Article resource type

    Making Function Calls Across Sass Versions

    You don’t need safe-get-function utilities

    The Sass 3.5 Release Candidate includes support for first-class functions. What are they, how do we use them, and what tools can we use to future-proof our Sass toolkits in advance?

    see all Article resources
  11. Article resource type

    Code Patterns & Style Guides

    Living Style Guide documentation on the web is a difficult problem, gaining a lot of attention in the last few years. Let’s take an in-depth look at one way to store patterns directly in Sass, and generate documentation automatically.

    see all Article resources
  12. Video resource type

    Getting Started with CSS Grid

    It feels like CSS Grid has been coming for a long time now, but it just now seems to be reaching a point where folks are talking more and more about it and that it’s becoming something we should learning.

    see all Video resources
  13. Article resource type

    We Are Not Neutral: 2016 in Review

    OddBird is a small company – a shared vision and brand that transforms seven remote contractors into a Web Software Agency. 2016 was a year of big changes for us, individually and as a company. We can’t distance ourselves from the world we work in, or the lives of…

    see all Article resources
  14. see all Talk resources

2016

  1. Link resource type

    Loops in CSS Preprocessors

    No matter what acronym drives your selectors (BEM, OOCSS, SMACSS, ETC), loops can help keep your patterns more readable and maintainable, baking them directly into your code. We’ll take a look at what loops can do, and how to use them in the major CSS preprocessors.

    see all Link resources
  2. Link resource type

    Beyond Pixels Profile

    Experience design is a collaboration

    Net Magazine featured Miriam this month with a Beyond Pixels profile. “Miriam Suzanne creates experimental experiences with her band and her fellow developers.”

    see all Link resources
  3. Podcast resource type

    Versioning Show Ep.8

    I joined Tim Evko and M. David Green for their SitePoint podcast – The Versioning Show. We discussed going from lurker to speaker, the importance of writing about what you’re learning, stumbling into fame, approaching new projects, and unit testing in Sass.

    see all Podcast resources
  4. Link resource type

    CSS-Tricks Interview

    Chris Coyier interviews Miriam when she joins the CSS-Tricks team as a Staff Writer. We talk about getting started in the industry, name confusion, founding OddBird, building Susy, and more.

    see all Link resources
  5. Link resource type

    Sass Toolkits, Live Q&A

    I did a live Q&A at SitePoint in August, talking about: Customizing Susy for your projects Other ways to do layouts (and why you might not even need a toolkit) How to select a toolkit, or build your very own!

    see all Link resources
  6. Article resource type

    Auditioning GitHub Projects

    With the release of kanban-style project boards, we decided to move our open design process over to GitHub and give it a try.

    see all Article resources
  7. Article resource type

    CSSConf 2016 Recap

    It was a pleasure speaking at CSSConf 2016 in Boston! Here are some of my notes from the event – covering everything from creativity and the Bauhaus movement to SVG 2 internals, React styles, CSS grid layouts, and custom properties (e.g. CSS-native variables). I included links to slides and video…

    see all Article resources
  8. see all Talk resources
  9. Link resource type

    Sass Toolkits, Live Q&A

    I did a live Q&A at SitePoint talking about: Customizing Susy for your projects Other ways to do layouts (and why you might not even need a toolkit) How to select a toolkit, or build your very own!

    see all Link resources
  10. Article resource type

    Open Design for OddBird.net

    We’re re-building our website in the open, and writing about our process along the way. We hope you’ll follow along and even get involved!

    see all Article resources
  11. Article resource type

    Clarity Conference

    It was an honor to be part of the first ever Clarity Conference in San Francisco – a beautiful event organized by Jina, and completely focused on Style Guides.

    see all Article resources
  12. see all Article resources
    Jump Start Sass, by Miriam Suzanne and Hugo Giraudel
    Article resource type

    Jump Start Sass

    Get up to speed with Sass in a weekend…

    Using Sass, you can write your stylesheets in a more concise, dynamic, and readable way, and cut down many of the repetitive tasks that come with writing vanilla CSS. This book provides a thorough introduction to Sass for the beginner.

  13. Link resource type

    Sass Architecture

    Excerpt from Jump Start Sass, chapter 11

    I’m excited to release Jump Start Sass, a book I co-authored with Hugo Giraudel. Digital copies are available from SitePoint, wih print editions sold by O’Reilly. Here’s an excerpt from Chapter 11, Sass Architecture.

    see all Link resources

2015

  1. see all Talk resources
    Tools should fit you. Sorry, this hammer only builds patio chairs...
    Talk resource type

    Sassy Toolkits

    a case-study in building and sharing open-source Sass

2014

  1. Article resource type

    SassConf 2014

    SassConf is right around the corner, and Claudina has been working hard to make it happen!

    see all Article resources
  2. see all Talk resources

2013

  1. Article resource type

    Susy Next, Alpha 5

    Susy Next alpha 5 is out, and loaded with changes. We now require Sass 3.3, we no longer require Compass, and there have been major syntax improvements. We’re getting real close to launch, and we’d love to know what you think. Play around, and let us know!

    see all Article resources
  2. see all Talk resources
  3. Article resource type

    Map-Set vs. Map-Merge

    The difference between map-set and map-merge? Almost nothing.

    see all Article resources
  4. Article resource type

    Susy Next, Alpha 4

    Susy Next alpha 4 is now available.

    see all Article resources
  5. Article resource type

    Susy Next, The Second Alpha

    Go download & play with it!

    We haven’t written full docs yet, and this blog post will be vastly incomplete, but I’ll give you a quick rundown of where we’re going. This is all open to change, of course. There’s a reason we’re still in alpha.

    see all Article resources
  6. Article resource type

    Isolation and Bleed in Susy

    A few new features have landed in Susy 1.0.7, even as we work on more integrated syntaxes for 2.0. The isolate() and isolate-grid() mixins help you manage the worst effects of sub-pixel rounding, while bleed() helps you break items out of the box.

    see all Article resources
  7. Article resource type

    Susy Next, The First Alpha

    Last night we released the very first alpha build of Susy Next. This release is extremely sparse. What we have built is a background ‘engine’ for calculating grid math. There are some rough first steps towards api and syntax, but they are more “proof of concept” experimentation than usable interface.

    see all Article resources
  8. see all Article resources
    Article resource type

    Sass Layout in 2013 and the Future of Susy

    The web is littered with grid systems and ‘frameworks’ that force your code & design into narrowly defined patterns. Even the most semantic of us have had to push specialized techniques in order to create a usable syntax.

    But Sass has come a long way, and I’m convinced that it’s time for something new.

    What if you had a layout system that bends completely to the needs of your site? What if you could use one unified syntax for handling responsive layouts of any kind? What if you had a modular system that let you mix-and-match to customize for every site, and change your output with simple extensions?

2012

  1. Article resource type

    Off-Canvas Layout with Susy

    The off-canvas layout pattern for responsive web design has been getting all the attention lately, and I’ve had several people ask how Susy One might play along. I’ll show you how easy it is, and how much flexibility Susy can add along the way.

    see all Article resources
  2. see all Article resources
  3. Article resource type

    Sass Striped Backgrounds

    Jina asked twitter for Sass advice the other day. She was working on a bit of code to create a rainbow-striped background gradient using any set of arbitrary colors. This is my solution, in the form of a Sass function. This requires Sass 3.2 in order to run.

    see all Article resources