Trying (and failing) to save
the Republic with CSS
a.k.a.
Slide 3
The longest 18 months
of my life OMG!
a.k.a.
Slide 4
⚠
️
CAUTION
MAY CONTAIN
POLITICS
Slide 5
Slide 6
mina.codes
@
minamarkham
Hi, I’m Mina
$
Slide 7
Slide 8
Slide 9
Slide 10
mina.so/pantsuit-post
Slide 11
An
18-month
, nationally
televised
hackathon
Slide 12
%
Broke the homepage of
hillaryclinton.com
&
Launched a site for oppositional content
❤
️
Built design system used by dozens of apps
(
Created a dashboard for caucus data
♿
Led effort for accessibility compliance
*
Implemented redesign of
hillaryclinton.com
Helped build a custom CMS for new site
,
️
Ran tech talk series
Had the time of my life
Slide 13
%
Broke the homepage of
hillaryclinton.com
&
Launched a site for oppositional content
❤
️
Built design system used by dozens of apps
(
Created a dashboard for caucus data
♿
Led effort for accessibility compliance
*
Implemented redesign of
hillaryclinton.com
Helped build a custom CMS for new site
,
️
Ran tech talk series
Had the time of my life
Slide 14
[ insert
email joke
here ]
Slide 15
Slide 16
Slide 17
June 2015
Slide 18
Election Day
Slide 19
We need a
Bootstrap
…
“
Kyle Rush,
Deputy CTO
Slide 20
Design System?
Pattern Library?
Styleguide?
Slide 21
Naming
things is hard.
Slide 22
Pattern Library:
Library of UI patterns
Slide 23
Framework:
The front-end code
Slide 24
Style Guide:
The documentation
Slide 25
Design System:
All of the above
(and more)
Slide 26
mina.so/ds-anatomy
Slide 27
mina.so/ds-anatomy
Slide 28
…and it needs a
good name
.
“
Kyle Rush,
Deputy CTO
Slide 29
Pantsuit?
Slide 30
Slide 31
Why
did we need it?
Slide 32
hillaryclinton.com
Slide 33
hillaryclinton.com
Slide 34
hillaryclinton.com/donate
Slide 35
hillaryclinton.com/calls
Slide 36
hillaryclinton.com/literallytrump
Slide 37
hillaryclinton.com/briefing
Slide 38
Multiple
codebases.
One
UI.
Slide 39
Partners
Visual Design
.
Product Design
Stakeholders
Content / Storytelling
/
Fundraising
0
Organizing
✅
Voter
2
Engagement
3
️
Data Infrastructure
(
Analytics
Support
4
️
Front-End Ops
5
Dev Ops
Slide 40
Te a m
:
6
Slide 41
Done
is better
than
perfect
.
Slide 42
If we don’t ship
on time
,
the ship will have sailed.
Stephanie Hannon,
CTO
“
Slide 43
Pantsuit 1.0
≈
6 weeks
Slide 44
Te c h n i c a l d e b t i s
your “
friend
”
Slide 45
Slide 46
As time progressed,
maintainability
went
down and
stability
went up.
Ve r y O f f i c i a l C h a r t ™
Ve r y O f f i c i a l C h a r t ™
Slide 47
If you don’t have
technical debt
, you’re
not moving fast enough.
The documentation for Pantsuit is a great
example of
form following
function
: it
served as a source of inspiration as well as a
how-to.
BETH ANDRES-BECK
, Senior Engineer, Fundraising
“
Slide 86
Automation
Slide 87
❤
️
Slide 88
Slide 89
Slide 90
post-publish.js
Slide 91
PANTSUIT
•
Backend Teams
•
Internal dashboards
•
Documentation
•
Most common
•
Front-end boilerplate
•
Donations
CDN
NPM
MANUAL
npm publish
git push
download
v2.1.0
Slide 92
“
Pantsuit made it so we could deploy style
changes to our
100+ microsites
instantaneously and cache styles across all
sites
easily
and
consistently
.
Nat Welch,
SRE, Dev Ops
Slide 93
What
was the outcome?
Slide 94
Slide 95
Pantsuit turned our tech products into a
couture collection
– each app individually
crafted with unifying motifs that tied them
together. It was hands down the
best tool
we had at our disposal on the campaign
❤
️
.
KYLE LUCOVSKY
,
Engineer, Voter Team
“
“