CINXE.COM

<!doctype html><html lang="en"><head><title data-rh="true">The best office coffee you’ll ever have. | by Avidan Ross | Root Ventures | Medium</title><meta data-rh="true" charset="utf-8"/><meta data-rh="true" name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1,maximum-scale=1"/><meta data-rh="true" name="theme-color" content="#000000"/><meta data-rh="true" name="twitter:app:name:iphone" content="Medium"/><meta data-rh="true" name="twitter:app:id:iphone" content="828256236"/><meta data-rh="true" property="al:ios:app_name" content="Medium"/><meta data-rh="true" property="al:ios:app_store_id" content="828256236"/><meta data-rh="true" property="al:android:package" content="com.medium.reader"/><meta data-rh="true" property="fb:app_id" content="542599432471018"/><meta data-rh="true" property="og:site_name" content="Medium"/><meta data-rh="true" property="og:type" content="article"/><meta data-rh="true" property="article:published_time" content="2017-12-04T18:40:34.631Z"/><meta data-rh="true" name="title" content="The best office coffee you’ll ever have. | by Avidan Ross | Root Ventures | Medium"/><meta data-rh="true" property="og:title" content="The best office coffee you’ll ever have."/><meta data-rh="true" property="al:android:url" content="medium://p/6fe9e190c2d2"/><meta data-rh="true" property="al:ios:url" content="medium://p/6fe9e190c2d2"/><meta data-rh="true" property="al:android:app_name" content="Medium"/><meta data-rh="true" name="description" content="This week, my book Where to Drink Coffee was published by Phaidon Books. If you’ve met me, it’s obvious within the first 30 seconds that I am a coffee nerd. I am also a DIY electronics junkie. Past…"/><meta data-rh="true" property="og:description" content="Engineering in pursuit of the perfect espresso shot."/><meta data-rh="true" property="og:url" content="https://medium.com/root-ventures/the-best-office-coffee-youll-ever-have-6fe9e190c2d2"/><meta data-rh="true" property="al:web:url" content="https://medium.com/root-ventures/the-best-office-coffee-youll-ever-have-6fe9e190c2d2"/><meta data-rh="true" property="og:image" content="https://miro.medium.com/v2/resize:fit:1200/1*6fjz0foK50HJMjoytFg4kA.jpeg"/><meta data-rh="true" property="article:author" content="https://medium.com/@root.vc"/><meta data-rh="true" name="author" content="Avidan Ross"/><meta data-rh="true" name="robots" content="index,noarchive,follow,max-image-preview:large"/><meta data-rh="true" name="referrer" content="unsafe-url"/><meta data-rh="true" property="twitter:title" content="The best office coffee you’ll ever have."/><meta data-rh="true" name="twitter:site" content="@MachinePix"/><meta data-rh="true" name="twitter:app:url:iphone" content="medium://p/6fe9e190c2d2"/><meta data-rh="true" property="twitter:description" content="Engineering in pursuit of the perfect espresso shot."/><meta data-rh="true" name="twitter:image:src" content="https://miro.medium.com/v2/resize:fit:1200/1*6fjz0foK50HJMjoytFg4kA.jpeg"/><meta data-rh="true" name="twitter:card" content="summary_large_image"/><meta data-rh="true" name="twitter:creator" content="@AvidanRoss"/><meta data-rh="true" name="twitter:label1" content="Reading time"/><meta data-rh="true" name="twitter:data1" content="6 min read"/><link data-rh="true" rel="icon" href="https://miro.medium.com/v2/5d8de952517e8160e40ef9841c781cdc14a5db313057fa3c3de41c6f5b494b19"/><link data-rh="true" rel="search" type="application/opensearchdescription+xml" title="Medium" href="/osd.xml"/><link data-rh="true" rel="apple-touch-icon" sizes="152x152" href="https://miro.medium.com/v2/resize:fill:304:304/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="120x120" href="https://miro.medium.com/v2/resize:fill:240:240/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="76x76" href="https://miro.medium.com/v2/resize:fill:152:152/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="apple-touch-icon" sizes="60x60" href="https://miro.medium.com/v2/resize:fill:120:120/10fd5c419ac61637245384e7099e131627900034828f4f386bdaa47a74eae156"/><link data-rh="true" rel="mask-icon" href="https://miro.medium.com/v2/resize:fill:1000:1000/7*GAOKVe--MXbEJmV9230oOQ.png" color="#171717"/><link data-rh="true" rel="preconnect" href="https://glyph.medium.com" crossOrigin=""/><link data-rh="true" id="glyph_preload_link" rel="preload" as="style" type="text/css" href="https://glyph.medium.com/css/unbound.css"/><link data-rh="true" id="glyph_link" rel="stylesheet" type="text/css" href="https://glyph.medium.com/css/unbound.css"/><link data-rh="true" rel="author" href="https://medium.com/@root.vc"/><link data-rh="true" rel="canonical" href="https://medium.com/root-ventures/the-best-office-coffee-youll-ever-have-6fe9e190c2d2"/><link data-rh="true" rel="alternate" href="android-app://com.medium.reader/https/medium.com/p/6fe9e190c2d2"/><script data-rh="true" type="application/ld+json">{"@context":"http:\u002F\u002Fschema.org","@type":"NewsArticle","image":["https:\u002F\u002Fmiro.medium.com\u002Fv2\u002Fresize:fit:1200\u002F1*6fjz0foK50HJMjoytFg4kA.jpeg"],"url":"https:\u002F\u002Fmedium.com\u002Froot-ventures\u002Fthe-best-office-coffee-youll-ever-have-6fe9e190c2d2","dateCreated":"2017-12-04T17:56:01.460Z","datePublished":"2017-12-04T17:56:01.460Z","dateModified":"2018-05-29T21:06:05.046Z","headline":"The best office coffee you’ll ever have. - Root Ventures - Medium","name":"The best office coffee you’ll ever have. - Root Ventures - Medium","description":"This week, my book Where to Drink Coffee was published by Phaidon Books. If you’ve met me, it’s obvious within the first 30 seconds that I am a coffee nerd. I am also a DIY electronics junkie. Past…","identifier":"6fe9e190c2d2","author":{"@type":"Person","name":"Avidan Ross","url":"https:\u002F\u002Fmedium.com\u002F@root.vc"},"creator":["Avidan Ross"],"publisher":{"@type":"Organization","name":"Root Ventures","url":"https:\u002F\u002Fmedium.com\u002Froot-ventures","logo":{"@type":"ImageObject","width":201,"height":60,"url":"https:\u002F\u002Fmiro.medium.com\u002Fv2\u002Fresize:fit:402\u002F1*yeR8jcn1bzctX2Ry4V8y6g.png"}},"mainEntityOfPage":"https:\u002F\u002Fmedium.com\u002Froot-ventures\u002Fthe-best-office-coffee-youll-ever-have-6fe9e190c2d2"}</script><style type="text/css" data-fela-rehydration="546" data-fela-type="STATIC">html{box-sizing:border-box;-webkit-text-size-adjust:100%}*, *:before, *:after{box-sizing:inherit}body{margin:0;padding:0;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;color:rgba(0,0,0,0.8);position:relative;min-height:100vh}h1, h2, h3, h4, h5, h6, dl, dd, ol, ul, menu, figure, blockquote, p, pre, form{margin:0}menu, ol, ul{padding:0;list-style:none;list-style-image:none}main{display:block}a{color:inherit;text-decoration:none}a, button, input{-webkit-tap-highlight-color:transparent}img, svg{vertical-align:middle}button{background:transparent;overflow:visible}button, input, optgroup, select, textarea{margin:0}:root{--reach-tabs:1;--reach-menu-button:1}#speechify-root{font-family:Sohne, sans-serif}div[data-popper-reference-hidden="true"]{visibility:hidden;pointer-events:none}.grecaptcha-badge{visibility:hidden} /*XCode style (c) Angel Garcia <angelgarcia.mail@gmail.com>*/.hljs {background: #fff;color: black; }/* Gray DOCTYPE selectors like WebKit */ .xml .hljs-meta {color: #c0c0c0; }.hljs-comment, .hljs-quote {color: #007400; }.hljs-tag, .hljs-attribute, .hljs-keyword, .hljs-selector-tag, .hljs-literal, .hljs-name {color: #aa0d91; }.hljs-variable, .hljs-template-variable {color: #3F6E74; }.hljs-code, .hljs-string, .hljs-meta .hljs-string {color: #c41a16; }.hljs-regexp, .hljs-link {color: #0E0EFF; }.hljs-title, .hljs-symbol, .hljs-bullet, .hljs-number {color: #1c00cf; }.hljs-section, .hljs-meta {color: #643820; }.hljs-title.class_, .hljs-class .hljs-title, .hljs-type, .hljs-built_in, .hljs-params {color: #5c2699; }.hljs-attr {color: #836C28; }.hljs-subst {color: #000; }.hljs-formula {background-color: #eee;font-style: italic; }.hljs-addition {background-color: #baeeba; }.hljs-deletion {background-color: #ffc8bd; }.hljs-selector-id, .hljs-selector-class {color: #9b703f; }.hljs-doctag, .hljs-strong {font-weight: bold; }.hljs-emphasis {font-style: italic; } </style><style type="text/css" data-fela-rehydration="546" data-fela-type="KEYFRAME">@-webkit-keyframes k1{0%{opacity:0.8}50%{opacity:0.5}100%{opacity:0.8}}@-moz-keyframes k1{0%{opacity:0.8}50%{opacity:0.5}100%{opacity:0.8}}@keyframes k1{0%{opacity:0.8}50%{opacity:0.5}100%{opacity:0.8}}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE">.a{font-family:medium-content-sans-serif-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif}.b{font-weight:400}.c{background-color:rgba(255, 255, 255, 1)}.l{display:block}.m{position:sticky}.n{top:0}.o{z-index:500}.p{padding:0 24px}.q{align-items:center}.r{border-bottom:solid 1px #F2F2F2}.y{height:41px}.z{line-height:20px}.ab{display:flex}.ac{height:57px}.ae{flex:1 0 auto}.af{color:inherit}.ag{fill:inherit}.ah{font-size:inherit}.ai{border:inherit}.aj{font-family:inherit}.ak{letter-spacing:inherit}.al{font-weight:inherit}.am{padding:0}.an{margin:0}.ao{cursor:pointer}.ap:disabled{cursor:not-allowed}.aq:disabled{color:#6B6B6B}.ar:disabled{fill:#6B6B6B}.au{width:auto}.av path{fill:#242424}.aw{height:25px}.ax{margin-left:16px}.ay{border:none}.az{border-radius:20px}.ba{width:240px}.bb{background:#F9F9F9}.bc path{fill:#6B6B6B}.be{outline:none}.bf{font-family:sohne, "Helvetica Neue", Helvetica, Arial, sans-serif}.bg{font-size:14px}.bh{width:100%}.bi{padding:10px 20px 10px 0}.bj{background-color:transparent}.bk{color:#242424}.bl::placeholder{color:#6B6B6B}.bm{display:inline-block}.bn{margin-left:12px}.bo{margin-right:12px}.bp{border-radius:4px}.bq{margin-left:24px}.br{height:24px}.bx{background-color:#F9F9F9}.by{border-radius:50%}.bz{height:32px}.ca{width:32px}.cb{justify-content:center}.ch{max-width:680px}.ci{min-width:0}.cj{animation:k1 1.2s ease-in-out infinite}.ck{height:100vh}.cl{margin-bottom:16px}.cm{margin-top:48px}.cn{align-items:flex-start}.co{flex-direction:column}.cp{justify-content:space-between}.cq{margin-bottom:24px}.cw{width:80%}.cx{background-color:#F2F2F2}.dd{height:44px}.de{width:44px}.df{margin:auto 0}.dg{margin-bottom:4px}.dh{height:16px}.di{width:120px}.dj{width:80px}.dp{margin-bottom:8px}.dq{width:96%}.dr{width:98%}.ds{width:81%}.dt{margin-left:8px}.du{color:#6B6B6B}.dv{font-size:13px}.dw{height:100%}.ep{color:#FFFFFF}.eq{fill:#FFFFFF}.er{background:#1A8917}.es{border-color:#1A8917}.ew:disabled{cursor:inherit !important}.ex:disabled{opacity:0.3}.ey:disabled:hover{background:#1A8917}.ez:disabled:hover{border-color:#1A8917}.fa{border-radius:99em}.fb{border-width:1px}.fc{border-style:solid}.fd{box-sizing:border-box}.fe{text-decoration:none}.ff{text-align:center}.fi{margin-right:32px}.fj{position:relative}.fk{fill:#6B6B6B}.fn{background:transparent}.fo svg{margin-left:4px}.fp svg{fill:#6B6B6B}.fr{box-shadow:inset 0 0 0 1px rgba(0, 0, 0, 0.05)}.fs{position:absolute}.fz{margin:0 24px}.gd{background:rgba(255, 255, 255, 1)}.ge{border:1px solid #F2F2F2}.gf{box-shadow:0 1px 4px #F2F2F2}.gg{max-height:100vh}.gh{overflow-y:auto}.gi{left:0}.gj{top:calc(100vh + 100px)}.gk{bottom:calc(100vh + 100px)}.gl{width:10px}.gm{pointer-events:none}.gn{word-break:break-word}.go{word-wrap:break-word}.gp:after{display:block}.gq:after{content:""}.gr:after{clear:both}.gs{line-height:1.23}.gt{letter-spacing:0}.gu{font-style:normal}.gv{font-weight:700}.ia{align-items:baseline}.ib{width:48px}.ic{height:48px}.id{border:2px solid rgba(255, 255, 255, 1)}.ie{z-index:0}.if{box-shadow:none}.ig{border:1px solid rgba(0, 0, 0, 0.05)}.ih{margin-left:-12px}.ii{width:28px}.ij{height:28px}.ik{z-index:1}.il{width:24px}.im{margin-bottom:2px}.in{flex-wrap:nowrap}.io{font-size:16px}.ip{line-height:24px}.ir{margin:0 8px}.is{display:inline}.it{color:#1A8917}.iu{fill:#1A8917}.ix{flex:0 0 auto}.ja{flex-wrap:wrap}.jd{white-space:pre-wrap}.je{margin-right:4px}.jf{overflow:hidden}.jg{max-height:20px}.jh{text-overflow:ellipsis}.ji{display:-webkit-box}.jj{-webkit-line-clamp:1}.jk{-webkit-box-orient:vertical}.jl{word-break:break-all}.jn{padding-left:8px}.jo{padding-right:8px}.kp> *{flex-shrink:0}.kq{overflow-x:scroll}.kr::-webkit-scrollbar{display:none}.ks{scrollbar-width:none}.kt{-ms-overflow-style:none}.ku{width:74px}.kv{flex-direction:row}.kw{z-index:2}.kz{-webkit-user-select:none}.la{border:0}.lb{fill:rgba(117, 117, 117, 1)}.le{outline:0}.lf{user-select:none}.lg> svg{pointer-events:none}.lp{cursor:progress}.lq{margin-left:4px}.lr{margin-top:0px}.ls{opacity:1}.lt{padding:4px 0}.lw{width:16px}.ly{display:inline-flex}.me{max-width:100%}.mf{padding:8px 2px}.mg svg{color:#6B6B6B}.mx{line-height:1.58}.my{letter-spacing:-0.004em}.mz{font-family:source-serif-pro, Georgia, Cambria, "Times New Roman", Times, serif}.nu{margin-bottom:-0.46em}.nv{text-decoration:underline}.nw{font-style:italic}.nx{margin-left:auto}.ny{margin-right:auto}.nz{max-width:600px}.of{clear:both}.og{height:auto}.om{width:50%}.on{margin-right:10px}.oo{padding-top:5px}.op{padding-bottom:5px}.oq:last-of-type{margin-right:0}.os{cursor:zoom-in}.ot{z-index:auto}.ov{margin-top:10px}.ow{max-width:728px}.oz{width:200%}.pa{left:calc(0% - 8px)}.pb{transform:translateX(-50%)}.pc{max-width:4032px}.pd{max-width:240px}.pe{max-width:3024px}.pf{max-width:2048px}.pg{margin-bottom:26px}.ph{margin-top:6px}.pi{margin-top:8px}.pj{margin-right:8px}.pk{padding:8px 16px}.pl{border-radius:100px}.pm{transition:background 300ms ease}.po{white-space:nowrap}.pp{border-top:none}.pq{margin-bottom:14px}.pr{height:52px}.ps{max-height:52px}.pt{box-sizing:content-box}.pu{position:static}.pw{max-width:155px}.qc{margin-right:20px}.qi{height:0px}.qj{margin-bottom:40px}.qk{margin-bottom:48px}.qy{border-radius:2px}.ra{height:64px}.rb{width:64px}.rc{align-self:flex-end}.rd{flex:1 1 auto}.rh{padding-right:4px}.ri{font-weight:500}.rv{margin-top:16px}.rw{color:rgba(255, 255, 255, 1)}.rx{fill:rgba(255, 255, 255, 1)}.ry{background:rgba(25, 25, 25, 1)}.rz{border-color:rgba(25, 25, 25, 1)}.sc:disabled{opacity:0.1}.sd:disabled:hover{background:rgba(25, 25, 25, 1)}.se:disabled:hover{border-color:rgba(25, 25, 25, 1)}.tc{gap:18px}.td{fill:rgba(61, 61, 61, 1)}.tf{margin-top:32px}.tg{fill:#242424}.th{background:0}.ti{border-color:#242424}.tj:disabled:hover{color:#242424}.tk:disabled:hover{fill:#242424}.tl:disabled:hover{border-color:#242424}.tw{border-bottom:solid 1px #E5E5E5}.tx{margin-top:72px}.ty{padding:24px 0}.tz{margin-bottom:0px}.ua{margin-right:16px}.as:hover:not(:disabled){color:rgba(25, 25, 25, 1)}.at:hover:not(:disabled){fill:rgba(25, 25, 25, 1)}.et:hover{background:#156D12}.eu:hover{border-color:#156D12}.ev:hover{cursor:pointer}.fl:hover{color:#242424}.fm:hover{fill:#242424}.fq:hover svg{fill:#242424}.ft:hover{background-color:rgba(0, 0, 0, 0.1)}.iq:hover{text-decoration:underline}.iv:hover:not(:disabled){color:#156D12}.iw:hover:not(:disabled){fill:#156D12}.ld:hover{fill:rgba(8, 8, 8, 1)}.lu:hover{fill:#000000}.lv:hover p{color:#000000}.lx:hover{color:#000000}.mh:hover svg{color:#000000}.pn:hover{background-color:#F2F2F2}.qz:hover{background-color:none}.sa:hover{background:#000000}.sb:hover{border-color:#242424}.te:hover{fill:rgba(25, 25, 25, 1)}.bd:focus-within path{fill:#242424}.lc:focus{fill:rgba(8, 8, 8, 1)}.mi:focus svg{color:#000000}.ou:focus{transform:scale(1.01)}.lh:active{border-style:none}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (min-width: 1080px)">.d{display:none}.bw{width:64px}.cg{margin:0 64px}.cv{height:48px}.dc{margin-bottom:52px}.do{margin-bottom:48px}.ef{font-size:14px}.eg{line-height:20px}.em{font-size:13px}.eo{padding:5px 12px}.fh{display:flex}.fy{margin-bottom:68px}.gc{max-width:680px}.hq{font-size:42px}.hr{margin-top:1.19em}.hs{margin-bottom:32px}.ht{line-height:52px}.hu{letter-spacing:-0.011em}.hz{align-items:center}.kb{border-top:solid 1px #F2F2F2}.kc{border-bottom:solid 1px #F2F2F2}.kd{margin:32px 0 0}.ke{padding:3px 8px}.kn> *{margin-right:24px}.ko> :last-child{margin-right:0}.lo{margin-top:0px}.md{margin:0}.nq{font-size:20px}.nr{margin-top:2.14em}.ns{line-height:32px}.nt{letter-spacing:-0.003em}.oe{margin-top:56px}.ol{max-width:1192px}.qb{display:inline-block}.qh{margin-bottom:104px}.ql{flex-direction:row}.qo{margin-bottom:0}.qp{margin-right:20px}.re{max-width:500px}.rt{line-height:24px}.ru{letter-spacing:0}.sj{margin-bottom:88px}.sm{margin-bottom:72px}.sz{font-size:24px}.ta{line-height:30px}.tb{letter-spacing:-0.016em}.tq{width:min-width}.tv{padding-top:72px}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (max-width: 1079.98px)">.e{display:none}.ln{margin-top:0px}.ox{margin-left:auto}.oy{text-align:center}.qa{display:inline-block}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (max-width: 903.98px)">.f{display:none}.lm{margin-top:0px}.pz{display:inline-block}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (max-width: 727.98px)">.g{display:none}.lk{margin-top:0px}.ll{margin-right:0px}.py{display:inline-block}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (max-width: 551.98px)">.h{display:none}.s{display:flex}.t{justify-content:space-between}.bs{width:24px}.cc{margin:0 24px}.cr{height:40px}.cy{margin-bottom:44px}.dk{margin-bottom:32px}.dx{font-size:13px}.dy{line-height:20px}.eh{padding:0px 8px 1px}.fu{margin-bottom:4px}.gw{font-size:32px}.gx{margin-top:1.01em}.gy{margin-bottom:24px}.gz{line-height:38px}.ha{letter-spacing:-0.014em}.hv{align-items:flex-start}.iy{flex-direction:column}.jb{margin-bottom:2px}.jp{margin:24px -24px 0}.jq{padding:0}.kf> *{margin-right:8px}.kg> :last-child{margin-right:24px}.kx{margin-left:0px}.li{margin-top:0px}.lj{margin-right:0px}.lz{margin:0}.mj{border:1px solid #F2F2F2}.mk{border-radius:99em}.ml{padding:0px 16px 0px 12px}.mm{height:38px}.mn{align-items:center}.mp svg{margin-right:8px}.na{font-size:18px}.nb{margin-top:1.56em}.nc{line-height:28px}.nd{letter-spacing:-0.003em}.oa{margin-top:40px}.oh{max-width:100%}.px{display:inline-block}.qd{margin-bottom:96px}.qw{margin-bottom:20px}.qx{margin-right:0}.rj{font-size:24px}.rk{line-height:30px}.rl{letter-spacing:-0.016em}.sf{margin-bottom:64px}.sn{font-size:20px}.so{line-height:24px}.sp{letter-spacing:0}.tm{width:100%}.tr{padding-top:48px}.mo:hover{border-color:#E5E5E5}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (min-width: 904px) and (max-width: 1079.98px)">.i{display:none}.bv{width:64px}.cf{margin:0 64px}.cu{height:48px}.db{margin-bottom:52px}.dn{margin-bottom:48px}.ed{font-size:14px}.ee{line-height:20px}.ek{font-size:13px}.el{padding:5px 12px}.fg{display:flex}.fx{margin-bottom:68px}.gb{max-width:680px}.hl{font-size:42px}.hm{margin-top:1.19em}.hn{margin-bottom:32px}.ho{line-height:52px}.hp{letter-spacing:-0.011em}.hy{align-items:center}.jx{border-top:solid 1px #F2F2F2}.jy{border-bottom:solid 1px #F2F2F2}.jz{margin:32px 0 0}.ka{padding:3px 8px}.kl> *{margin-right:24px}.km> :last-child{margin-right:0}.mc{margin:0}.nm{font-size:20px}.nn{margin-top:2.14em}.no{line-height:32px}.np{letter-spacing:-0.003em}.od{margin-top:56px}.ok{max-width:1192px}.qg{margin-bottom:104px}.qm{flex-direction:row}.qq{margin-bottom:0}.qr{margin-right:20px}.rf{max-width:500px}.rr{line-height:24px}.rs{letter-spacing:0}.si{margin-bottom:88px}.sl{margin-bottom:72px}.sw{font-size:24px}.sx{line-height:30px}.sy{letter-spacing:-0.016em}.tp{width:min-width}.tu{padding-top:72px}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (min-width: 728px) and (max-width: 903.98px)">.j{display:none}.w{display:flex}.x{justify-content:space-between}.bu{width:64px}.ce{margin:0 48px}.ct{height:48px}.da{margin-bottom:52px}.dm{margin-bottom:48px}.eb{font-size:13px}.ec{line-height:20px}.ej{padding:0px 8px 1px}.fw{margin-bottom:68px}.ga{max-width:680px}.hg{font-size:42px}.hh{margin-top:1.19em}.hi{margin-bottom:32px}.hj{line-height:52px}.hk{letter-spacing:-0.011em}.hx{align-items:center}.jt{border-top:solid 1px #F2F2F2}.ju{border-bottom:solid 1px #F2F2F2}.jv{margin:32px 0 0}.jw{padding:3px 8px}.kj> *{margin-right:24px}.kk> :last-child{margin-right:0}.mb{margin:0}.ni{font-size:20px}.nj{margin-top:2.14em}.nk{line-height:32px}.nl{letter-spacing:-0.003em}.oc{margin-top:56px}.oj{max-width:100%}.qf{margin-bottom:104px}.qn{flex-direction:row}.qs{margin-bottom:0}.qt{margin-right:20px}.rg{max-width:500px}.rp{line-height:24px}.rq{letter-spacing:0}.sh{margin-bottom:88px}.sk{margin-bottom:72px}.st{font-size:24px}.su{line-height:30px}.sv{letter-spacing:-0.016em}.to{width:min-width}.tt{padding-top:72px}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="all and (min-width: 552px) and (max-width: 727.98px)">.k{display:none}.u{display:flex}.v{justify-content:space-between}.bt{width:24px}.cd{margin:0 24px}.cs{height:40px}.cz{margin-bottom:44px}.dl{margin-bottom:32px}.dz{font-size:13px}.ea{line-height:20px}.ei{padding:0px 8px 1px}.fv{margin-bottom:4px}.hb{font-size:32px}.hc{margin-top:1.01em}.hd{margin-bottom:24px}.he{line-height:38px}.hf{letter-spacing:-0.014em}.hw{align-items:flex-start}.iz{flex-direction:column}.jc{margin-bottom:2px}.jr{margin:24px 0 0}.js{padding:0}.kh> *{margin-right:8px}.ki> :last-child{margin-right:8px}.ky{margin-left:0px}.ma{margin:0}.mq{border:1px solid #F2F2F2}.mr{border-radius:99em}.ms{padding:0px 16px 0px 12px}.mt{height:38px}.mu{align-items:center}.mw svg{margin-right:8px}.ne{font-size:18px}.nf{margin-top:1.56em}.ng{line-height:28px}.nh{letter-spacing:-0.003em}.ob{margin-top:40px}.oi{max-width:100%}.qe{margin-bottom:96px}.qu{margin-bottom:20px}.qv{margin-right:0}.rm{font-size:24px}.rn{line-height:30px}.ro{letter-spacing:-0.016em}.sg{margin-bottom:64px}.sq{font-size:20px}.sr{line-height:24px}.ss{letter-spacing:0}.tn{width:100%}.ts{padding-top:48px}.mv:hover{border-color:#E5E5E5}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="print">.pv{display:none}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="(orientation: landscape) and (max-width: 903.98px)">.jm{max-height:none}</style><style type="text/css" data-fela-rehydration="546" data-fela-type="RULE" media="(prefers-reduced-motion: no-preference)">.or{transition:transform 300ms cubic-bezier(0.2, 0, 0.2, 1)}</style></head><body><div id="root"><div class="a b c"><div class="d e f g h i j k"></div><script>document.domain = document.domain;</script><div class="l c"><div class="l m n o c"><div class="p q r s t u v w x i d y z"><a class="du ag dv bf ak b am an ao ap aq ar as at s u w i d q dw z" href="https://rsci.app.link/?%24canonical_url=https%3A%2F%2Fmedium.com%2Fp%2F6fe9e190c2d2&amp;%7Efeature=LoOpenInAppButton&amp;%7Echannel=ShowPostUnderCollection&amp;source=---top_nav_layout_nav----------------------------------" rel="noopener follow">Open in app<svg xmlns="http://www.w3.org/2000/svg" width="10" height="10" fill="none" viewBox="0 0 10 10" class="dt"><path fill="currentColor" d="M.985 8.485a.375.375 0 1 0 .53.53zM8.75 1.25h.375A.375.375 0 0 0 8.75.875zM8.375 6.5a.375.375 0 1 0 .75 0zM3.5.875a.375.375 0 1 0 0 .75zm-1.985 8.14 7.5-7.5-.53-.53-7.5 7.5zm6.86-7.765V6.5h.75V1.25zM3.5 1.625h5.25v-.75H3.5z"></path></svg></a><div class="ab q"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><button class="bf b dx dy eh dz ea ei eb ec ej ek ee el em eg eo ep eq er es et eu ev ew ex ey ez fa fb fc fd bm fe ff" data-testid="headerSignUpButton">Sign up</button></span></p><div class="ax l"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerSignInButton" rel="noopener follow" href="/m/signin?operation=login&amp;redirect=https%3A%2F%2Fmedium.com%2Froot-ventures%2Fthe-best-office-coffee-youll-ever-have-6fe9e190c2d2&amp;source=post_page---top_nav_layout_nav-----------------------global_nav-----------">Sign in</a></span></p></div></div></div><div class="p q r ab ac"><div class="ab q ae"><a class="af ag ah ai aj ak al am an ao ap aq ar as at ab" aria-label="Homepage" data-testid="headerMediumLogo" rel="noopener follow" href="/?source=---top_nav_layout_nav----------------------------------"><svg xmlns="http://www.w3.org/2000/svg" width="719" height="160" fill="none" viewBox="0 0 719 160" class="au av aw"><path fill="#242424" d="m174.104 9.734.215-.047V8.02H130.39L89.6 103.89 48.81 8.021H1.472v1.666l.212.047c8.018 1.81 12.09 4.509 12.09 14.242V137.93c0 9.734-4.087 12.433-12.106 14.243l-.212.047v1.671h32.118v-1.665l-.213-.048c-8.018-1.809-12.089-4.509-12.089-14.242V30.586l52.399 123.305h2.972l53.925-126.743V140.75c-.687 7.688-4.721 10.062-11.982 11.701l-.215.05v1.652h55.948v-1.652l-.215-.05c-7.269-1.639-11.4-4.013-12.087-11.701l-.037-116.774h.037c0-9.733 4.071-12.432 12.087-14.242m25.555 75.488c.915-20.474 8.268-35.252 20.606-35.507 3.806.063 6.998 1.312 9.479 3.714 5.272 5.118 7.751 15.812 7.368 31.793zm-.553 5.77h65.573v-.275c-.186-15.656-4.721-27.834-13.466-36.196-7.559-7.227-18.751-11.203-30.507-11.203h-.263c-6.101 0-13.584 1.48-18.909 4.16-6.061 2.807-11.407 7.003-15.855 12.511-7.161 8.874-11.499 20.866-12.554 34.343q-.05.606-.092 1.212a50 50 0 0 0-.065 1.151 85.807 85.807 0 0 0-.094 5.689c.71 30.524 17.198 54.917 46.483 54.917 25.705 0 40.675-18.791 44.407-44.013l-1.886-.664c-6.557 13.556-18.334 21.771-31.738 20.769-18.297-1.369-32.314-19.922-31.042-42.395m139.722 41.359c-2.151 5.101-6.639 7.908-12.653 7.908s-11.513-4.129-15.418-11.63c-4.197-8.053-6.405-19.436-6.405-32.92 0-28.067 8.729-46.22 22.24-46.22 5.657 0 10.111 2.807 12.236 7.704zm43.499 20.008c-8.019-1.897-12.089-4.722-12.089-14.951V1.309l-48.716 14.353v1.757l.299-.024c6.72-.543 11.278.386 13.925 2.83 2.072 1.915 3.082 4.853 3.082 8.987v18.66c-4.803-3.067-10.516-4.56-17.448-4.56-14.059 0-26.909 5.92-36.176 16.672-9.66 11.205-14.767 26.518-14.767 44.278-.003 31.72 15.612 53.039 38.851 53.039 13.595 0 24.533-7.449 29.54-20.013v16.865h43.711v-1.746zM424.1 19.819c0-9.904-7.468-17.374-17.375-17.374-9.859 0-17.573 7.632-17.573 17.374s7.721 17.374 17.573 17.374c9.907 0 17.375-7.47 17.375-17.374m11.499 132.546c-8.019-1.897-12.089-4.722-12.089-14.951h-.035V43.635l-43.714 12.551v1.705l.263.024c9.458.842 12.047 4.1 12.047 15.152v81.086h43.751v-1.746zm112.013 0c-8.018-1.897-12.089-4.722-12.089-14.951V43.635l-41.621 12.137v1.71l.246.026c7.733.813 9.967 4.257 9.967 15.36v59.279c-2.578 5.102-7.415 8.131-13.274 8.336-9.503 0-14.736-6.419-14.736-18.073V43.638l-43.714 12.55v1.703l.262.024c9.459.84 12.05 4.097 12.05 15.152v50.17a56.3 56.3 0 0 0 .91 10.444l.787 3.423c3.701 13.262 13.398 20.197 28.59 20.197 12.868 0 24.147-7.966 29.115-20.43v17.311h43.714v-1.747zm169.818 1.788v-1.749l-.213-.05c-8.7-2.006-12.089-5.789-12.089-13.49v-63.79c0-19.89-11.171-31.761-29.883-31.761-13.64 0-25.141 7.882-29.569 20.16-3.517-13.01-13.639-20.16-28.606-20.16-13.146 0-23.449 6.938-27.869 18.657V43.643L545.487 55.68v1.715l.263.024c9.345.829 12.047 4.181 12.047 14.95v81.784h40.787v-1.746l-.215-.053c-6.941-1.631-9.181-4.606-9.181-12.239V66.998c1.836-4.289 5.537-9.37 12.853-9.37 9.086 0 13.692 6.296 13.692 18.697v77.828h40.797v-1.746l-.215-.053c-6.94-1.631-9.18-4.606-9.18-12.239V75.066a42 42 0 0 0-.578-7.26c1.947-4.661 5.86-10.177 13.475-10.177 9.214 0 13.691 6.114 13.691 18.696v77.828z"></path></svg></a><div class="ax h"><div class="ab ay az ba bb q bc bd"><div class="bm" aria-hidden="false" aria-describedby="searchResults" aria-labelledby="searchResults"></div><div class="bn bo ab"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M4.092 11.06a6.95 6.95 0 1 1 13.9 0 6.95 6.95 0 0 1-13.9 0m6.95-8.05a8.05 8.05 0 1 0 5.13 14.26l3.75 3.75a.56.56 0 1 0 .79-.79l-3.73-3.73A8.05 8.05 0 0 0 11.042 3z" clip-rule="evenodd"></path></svg></div><input role="combobox" aria-controls="searchResults" aria-expanded="false" aria-label="search" data-testid="headerSearchInput" tabindex="0" class="ay be bf bg z bh bi bj bk bl" placeholder="Search" value=""/></div></div></div><div class="h k w fg fh"><div class="fi ab"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerWriteButton" rel="noopener follow" href="/m/signin?operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Fnew-story&amp;source=---top_nav_layout_nav-----------------------new_post_topnav-----------"><div class="bf b bg z du fj fk ab q fl fm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24" aria-label="Write"><path fill="currentColor" d="M14 4a.5.5 0 0 0 0-1zm7 6a.5.5 0 0 0-1 0zm-7-7H4v1h10zM3 4v16h1V4zm1 17h16v-1H4zm17-1V10h-1v10zm-1 1a1 1 0 0 0 1-1h-1zM3 20a1 1 0 0 0 1 1v-1zM4 3a1 1 0 0 0-1 1h1z"></path><path stroke="currentColor" d="m17.5 4.5-8.458 8.458a.25.25 0 0 0-.06.098l-.824 2.47a.25.25 0 0 0 .316.316l2.47-.823a.25.25 0 0 0 .098-.06L19.5 6.5m-2-2 2.323-2.323a.25.25 0 0 1 .354 0l1.646 1.646a.25.25 0 0 1 0 .354L19.5 6.5m-2-2 2 2"></path></svg><div class="dt l">Write</div></div></a></span></div></div><div class="k j i d"><div class="fi ab"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerSearchButton" rel="noopener follow" href="/search?source=---top_nav_layout_nav----------------------------------"><div class="bf b bg z du fj fk ab q fl fm"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24" aria-label="Search"><path fill="currentColor" fill-rule="evenodd" d="M4.092 11.06a6.95 6.95 0 1 1 13.9 0 6.95 6.95 0 0 1-13.9 0m6.95-8.05a8.05 8.05 0 1 0 5.13 14.26l3.75 3.75a.56.56 0 1 0 .79-.79l-3.73-3.73A8.05 8.05 0 0 0 11.042 3z" clip-rule="evenodd"></path></svg></div></a></div></div><div class="fi h k j"><div class="ab q"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><button class="bf b dx dy eh dz ea ei eb ec ej ek ee el em eg eo ep eq er es et eu ev ew ex ey ez fa fb fc fd bm fe ff" data-testid="headerSignUpButton">Sign up</button></span></p><div class="ax l"><p class="bf b dx dy dz ea eb ec ed ee ef eg du"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerSignInButton" rel="noopener follow" href="/m/signin?operation=login&amp;redirect=https%3A%2F%2Fmedium.com%2Froot-ventures%2Fthe-best-office-coffee-youll-ever-have-6fe9e190c2d2&amp;source=post_page---top_nav_layout_nav-----------------------global_nav-----------">Sign in</a></span></p></div></div></div><div class="l" aria-hidden="false"><button class="ay fn am ab q ao fo fp fq" aria-label="user options menu" data-testid="headerUserIcon"><div class="l fj"><img alt="" class="l fd by bz ca cx" src="https://miro.medium.com/v2/resize:fill:64:64/1*dmbNkD5D-u45r44go_cf0g.png" width="32" height="32" loading="lazy" role="presentation"/><div class="fr by l bz ca fs n ay ft"></div></div></button></div></div></div><div class="l"><div class="fu fv fw fx fy l"><div class="ab cb"><div class="ci bh fz ga gb gc"></div></div><article><div class="l"><div class="l"><span class="l"></span><section><div><div class="fs gi gj gk gl gm"></div><div class="gn go gp gq gr"><div class="ab cb"><div class="ci bh fz ga gb gc"><div><h1 id="52fe" class="pw-post-title gs gt gu bf gv gw gx gy gz ha hb hc hd he hf hg hh hi hj hk hl hm hn ho hp hq hr hs ht hu bk" data-testid="storyTitle">The best office coffee you’ll ever have.</h1><div><div class="speechify-ignore ab cp"><div class="speechify-ignore bh l"><div class="hv hw hx hy hz ab"><div><div class="ab ia"><div><div class="bm" aria-hidden="false"><a rel="noopener follow" href="/@root.vc?source=post_page---byline--6fe9e190c2d2--------------------------------"><div class="l ib ic by id ie"><div class="l fj"><img alt="Avidan Ross" class="l fd by dd de cx" src="https://miro.medium.com/v2/resize:fill:88:88/0*VelptGRmrK6hws43.jpeg" width="44" height="44" loading="lazy" data-testid="authorPhoto"/><div class="if by l dd de fs n ig ft"></div></div></div></a></div></div><div class="ih ab fj"><div><div class="bm" aria-hidden="false"><a href="https://medium.com/root-ventures?source=post_page---byline--6fe9e190c2d2--------------------------------" rel="noopener follow"><div class="l ii ij by id ik"><div class="l fj"><img alt="Root Ventures" class="l fd by br il cx" src="https://miro.medium.com/v2/resize:fill:48:48/1*-poLkkJbhYoA0QZ12EZ8OQ.png" width="24" height="24" loading="lazy" data-testid="publicationPhoto"/><div class="if by l br il fs n ig ft"></div></div></div></a></div></div></div></div></div><div class="bn bh l"><div class="ab"><div style="flex:1"><span class="bf b bg z bk"><div class="im ab q"><div class="ab q in"><div class="ab q"><div><div class="bm" aria-hidden="false"><p class="bf b io ip bk"><a class="af ag ah ai aj ak al am an ao ap aq ar iq" data-testid="authorName" rel="noopener follow" href="/@root.vc?source=post_page---byline--6fe9e190c2d2--------------------------------">Avidan Ross</a></p></div></div></div><span class="ir is" aria-hidden="true"><span class="bf b bg z du">·</span></span><p class="bf b io ip du"><span><a class="it iu ah ai aj ak al am an ao ap aq ar ex iv iw" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fsubscribe%2Fuser%2F632574fc28c2&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Froot-ventures%2Fthe-best-office-coffee-youll-ever-have-6fe9e190c2d2&amp;user=Avidan+Ross&amp;userId=632574fc28c2&amp;source=post_page-632574fc28c2--byline--6fe9e190c2d2---------------------post_header-----------">Follow</a></span></p></div></div></span></div></div><div class="l ix"><span class="bf b bg z du"><div class="ab cn iy iz ja"><div class="jb jc ab"><div class="bf b bg z du ab jd"><span class="je l ix">Published in</span><div><div class="l" aria-hidden="false"><a class="af ag ah ai aj ak al am an ao ap aq ar iq ab q" data-testid="publicationName" href="https://medium.com/root-ventures?source=post_page---byline--6fe9e190c2d2--------------------------------" rel="noopener follow"><p class="bf b bg z jf jg jh ji jj jk jl jm bk">Root Ventures</p></a></div></div></div><div class="h k"><span class="ir is" aria-hidden="true"><span class="bf b bg z du">·</span></span></div></div><span class="bf b bg z du"><div class="ab ae"><span data-testid="storyReadTime">6 min read</span><div class="jn jo l" aria-hidden="true"><span class="l" aria-hidden="true"><span class="bf b bg z du">·</span></span></div><span data-testid="storyPublishDate">Dec 4, 2017</span></div></span></div></span></div></div></div><div class="ab cp jp jq jr js jt ju jv jw jx jy jz ka kb kc kd ke"><div class="h k w fg fh q"><div class="ku l"><div class="ab q kv kw"><div class="pw-multi-vote-icon fj je kx ky kz"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerClapButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Froot-ventures%2F6fe9e190c2d2&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Froot-ventures%2Fthe-best-office-coffee-youll-ever-have-6fe9e190c2d2&amp;user=Avidan+Ross&amp;userId=632574fc28c2&amp;source=---header_actions--6fe9e190c2d2---------------------clap_footer-----------"><div><div class="bm" aria-hidden="false"><div class="la ao lb lc ld le am lf lg lh kz"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-label="clap"><path fill-rule="evenodd" d="M11.37.828 12 3.282l.63-2.454zM13.916 3.953l1.523-2.112-1.184-.39zM8.589 1.84l1.522 2.112-.337-2.501zM18.523 18.92c-.86.86-1.75 1.246-2.62 1.33a6 6 0 0 0 .407-.372c2.388-2.389 2.86-4.951 1.399-7.623l-.912-1.603-.79-1.672c-.26-.56-.194-.98.203-1.288a.7.7 0 0 1 .546-.132c.283.046.546.231.728.5l2.363 4.157c.976 1.624 1.141 4.237-1.324 6.702m-10.999-.438L3.37 14.328a.828.828 0 0 1 .585-1.408.83.83 0 0 1 .585.242l2.158 2.157a.365.365 0 0 0 .516-.516l-2.157-2.158-1.449-1.449a.826.826 0 0 1 1.167-1.17l3.438 3.44a.363.363 0 0 0 .516 0 .364.364 0 0 0 0-.516L5.293 9.513l-.97-.97a.826.826 0 0 1 0-1.166.84.84 0 0 1 1.167 0l.97.968 3.437 3.436a.36.36 0 0 0 .517 0 .366.366 0 0 0 0-.516L6.977 7.83a.82.82 0 0 1-.241-.584.82.82 0 0 1 .824-.826c.219 0 .43.087.584.242l5.787 5.787a.366.366 0 0 0 .587-.415l-1.117-2.363c-.26-.56-.194-.98.204-1.289a.7.7 0 0 1 .546-.132c.283.046.545.232.727.501l2.193 3.86c1.302 2.38.883 4.59-1.277 6.75-1.156 1.156-2.602 1.627-4.19 1.367-1.418-.236-2.866-1.033-4.079-2.246M10.75 5.971l2.12 2.12c-.41.502-.465 1.17-.128 1.89l.22.465-3.523-3.523a.8.8 0 0 1-.097-.368c0-.22.086-.428.241-.584a.847.847 0 0 1 1.167 0m7.355 1.705c-.31-.461-.746-.758-1.23-.837a1.44 1.44 0 0 0-1.11.275c-.312.24-.505.543-.59.881a1.74 1.74 0 0 0-.906-.465 1.47 1.47 0 0 0-.82.106l-2.182-2.182a1.56 1.56 0 0 0-2.2 0 1.54 1.54 0 0 0-.396.701 1.56 1.56 0 0 0-2.21-.01 1.55 1.55 0 0 0-.416.753c-.624-.624-1.649-.624-2.237-.037a1.557 1.557 0 0 0 0 2.2c-.239.1-.501.238-.715.453a1.56 1.56 0 0 0 0 2.2l.516.515a1.556 1.556 0 0 0-.753 2.615L7.01 19c1.32 1.319 2.909 2.189 4.475 2.449q.482.08.971.08c.85 0 1.653-.198 2.393-.579.231.033.46.054.686.054 1.266 0 2.457-.52 3.505-1.567 2.763-2.763 2.552-5.734 1.439-7.586z" clip-rule="evenodd"></path></svg></div></div></div></a></span></div><div class="pw-multi-vote-count l li lj lk ll lm ln lo"><p class="bf b dv z du"><span class="lp">--</span></p></div></div></div><div><div class="bm" aria-hidden="false"><button class="ao la ls lt ab q fk lu lv" aria-label="responses"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="lr"><path d="M18.006 16.803c1.533-1.456 2.234-3.325 2.234-5.321C20.24 7.357 16.709 4 12.191 4S4 7.357 4 11.482c0 4.126 3.674 7.482 8.191 7.482.817 0 1.622-.111 2.393-.327.231.2.48.391.744.559 1.06.693 2.203 1.044 3.399 1.044.224-.008.4-.112.486-.287a.49.49 0 0 0-.042-.518c-.495-.67-.845-1.364-1.04-2.057a4 4 0 0 1-.125-.598zm-3.122 1.055-.067-.223-.315.096a8 8 0 0 1-2.311.338c-4.023 0-7.292-2.955-7.292-6.587 0-3.633 3.269-6.588 7.292-6.588 4.014 0 7.112 2.958 7.112 6.593 0 1.794-.608 3.469-2.027 4.72l-.195.168v.255c0 .056 0 .151.016.295.025.231.081.478.154.733.154.558.398 1.117.722 1.659a5.3 5.3 0 0 1-2.165-.845c-.276-.176-.714-.383-.941-.59z"></path></svg><p class="bf b dv z du"><span class="pw-responses-count lq lr">4</span></p></button></div></div></div><div class="ab q kf kg kh ki kj kk kl km kn ko kp kq kr ks kt"><div class="lw k j i d"></div><div class="h k"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="headerBookmarkButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F6fe9e190c2d2&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Froot-ventures%2Fthe-best-office-coffee-youll-ever-have-6fe9e190c2d2&amp;source=---header_actions--6fe9e190c2d2---------------------bookmark_footer-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="du lx" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div><div class="fd ly cn"><div class="l ae"><div class="ab cb"><div class="lz ma mb mc md me ci bh"><div class="ab"><div class="bm bh" aria-hidden="false"><div><div class="bm" aria-hidden="false"><button aria-label="Listen" data-testid="audioPlayButton" class="af fk ah ai aj ak al mf an ao ap ex mg mh lv mi mj mk ml mm s mn mo mp mq mr ms mt u mu mv mw"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M3 12a9 9 0 1 1 18 0 9 9 0 0 1-18 0m9-10C6.477 2 2 6.477 2 12s4.477 10 10 10 10-4.477 10-10S17.523 2 12 2m3.376 10.416-4.599 3.066a.5.5 0 0 1-.777-.416V8.934a.5.5 0 0 1 .777-.416l4.599 3.066a.5.5 0 0 1 0 .832" clip-rule="evenodd"></path></svg><div class="j i d"><p class="bf b bg z du">Listen</p></div></button></div></div></div></div></div></div></div></div><div class="bm" aria-hidden="false" aria-describedby="postFooterSocialMenu" aria-labelledby="postFooterSocialMenu"><div><div class="bm" aria-hidden="false"><button aria-controls="postFooterSocialMenu" aria-expanded="false" aria-label="Share Post" data-testid="headerSocialShareButton" class="af fk ah ai aj ak al mf an ao ap ex mg mh lv mi mj mk ml mm s mn mo mp mq mr ms mt u mu mv mw"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M15.218 4.931a.4.4 0 0 1-.118.132l.012.006a.45.45 0 0 1-.292.074.5.5 0 0 1-.3-.13l-2.02-2.02v7.07c0 .28-.23.5-.5.5s-.5-.22-.5-.5v-7.04l-2 2a.45.45 0 0 1-.57.04h-.02a.4.4 0 0 1-.16-.3.4.4 0 0 1 .1-.32l2.8-2.8a.5.5 0 0 1 .7 0l2.8 2.79a.42.42 0 0 1 .068.498m-.106.138.008.004v-.01zM16 7.063h1.5a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-11c-1.1 0-2-.9-2-2v-10a2 2 0 0 1 2-2H8a.5.5 0 0 1 .35.15.5.5 0 0 1 .15.35.5.5 0 0 1-.15.35.5.5 0 0 1-.35.15H6.4c-.5 0-.9.4-.9.9v10.2a.9.9 0 0 0 .9.9h11.2c.5 0 .9-.4.9-.9v-10.2c0-.5-.4-.9-.9-.9H16a.5.5 0 0 1 0-1" clip-rule="evenodd"></path></svg><div class="j i d"><p class="bf b bg z du">Share</p></div></button></div></div></div></div></div></div></div></div></div><p id="0ac8" class="pw-post-body-paragraph mx my gu mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gn bk">This week, my book <a class="af nv" href="http://www.phaidon.com/store/food-cook/where-to-drink-coffee-9780714873923/" rel="noopener ugc nofollow" target="_blank"><em class="nw">Where to Drink Coffee</em></a> was published by Phaidon Books. If you’ve met me, it’s obvious within the first 30 seconds that I am a coffee nerd.</p><figure class="oa ob oc od oe of nx ny paragraph-image"><div class="nx ny nz"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1200/format:webp/1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg 1200w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 600px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1200/1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg 1200w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 600px"/><img alt="" class="bh me og c" width="600" height="900" loading="eager" role="presentation"/></picture></div></figure><p id="d523" class="pw-post-body-paragraph mx my gu mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gn bk">I am also a DIY electronics junkie. Past projects have included a live-tweeting BBQ smoker and an industrial pizza oven with superchargers. When I build stuff, it’s often in the pursuit the most consistent and high quality food and drink possible. My latest project has been a closed-loop espresso machine hack in pursuit of the perfect espresso shot.</p></div></div><div class="of"><div class="ab cb"><div class="lz oh ma oi mb oj cf ok cg ol ci bh"><div class="oa ob oc od oe ab kv"><figure class="lr of om on oo op oq paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*4qRzELd2Bp0vy6_1ol4imQ.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*4qRzELd2Bp0vy6_1ol4imQ.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*4qRzELd2Bp0vy6_1ol4imQ.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*4qRzELd2Bp0vy6_1ol4imQ.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*4qRzELd2Bp0vy6_1ol4imQ.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*4qRzELd2Bp0vy6_1ol4imQ.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/format:webp/1*4qRzELd2Bp0vy6_1ol4imQ.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*4qRzELd2Bp0vy6_1ol4imQ.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*4qRzELd2Bp0vy6_1ol4imQ.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*4qRzELd2Bp0vy6_1ol4imQ.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*4qRzELd2Bp0vy6_1ol4imQ.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*4qRzELd2Bp0vy6_1ol4imQ.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*4qRzELd2Bp0vy6_1ol4imQ.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/1*4qRzELd2Bp0vy6_1ol4imQ.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px"/><img alt="" class="bh me og c" width="500" height="3024" loading="eager" role="presentation"/></picture></div></figure><figure class="lr of om on oo op oq paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*zjobMrStbZT84BrN4Wl42A.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*zjobMrStbZT84BrN4Wl42A.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*zjobMrStbZT84BrN4Wl42A.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*zjobMrStbZT84BrN4Wl42A.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*zjobMrStbZT84BrN4Wl42A.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*zjobMrStbZT84BrN4Wl42A.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/format:webp/1*zjobMrStbZT84BrN4Wl42A.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*zjobMrStbZT84BrN4Wl42A.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*zjobMrStbZT84BrN4Wl42A.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*zjobMrStbZT84BrN4Wl42A.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*zjobMrStbZT84BrN4Wl42A.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*zjobMrStbZT84BrN4Wl42A.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*zjobMrStbZT84BrN4Wl42A.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/1*zjobMrStbZT84BrN4Wl42A.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px"/><img alt="" class="bh me og c" width="500" height="3024" loading="eager" role="presentation"/></picture></div><figcaption class="ov ff ow nx ny ox oy bf b bg z du oz fj pa pb">The Root Ventures espresso machine, before and after.</figcaption></figure></div></div></div></div><div class="of"><div class="ab cb"><div class="lz oh ma oi mb oj cf ok cg ol ci bh"><figure class="lr of oo op paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><div class="nx ny pc"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*dXCigFDa7bLQINNl3JggPQ.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*dXCigFDa7bLQINNl3JggPQ.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*dXCigFDa7bLQINNl3JggPQ.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*dXCigFDa7bLQINNl3JggPQ.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*dXCigFDa7bLQINNl3JggPQ.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*dXCigFDa7bLQINNl3JggPQ.jpeg 1100w, https://miro.medium.com/v2/resize:fit:2000/format:webp/1*dXCigFDa7bLQINNl3JggPQ.jpeg 2000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 1000px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*dXCigFDa7bLQINNl3JggPQ.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*dXCigFDa7bLQINNl3JggPQ.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*dXCigFDa7bLQINNl3JggPQ.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*dXCigFDa7bLQINNl3JggPQ.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*dXCigFDa7bLQINNl3JggPQ.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*dXCigFDa7bLQINNl3JggPQ.jpeg 1100w, https://miro.medium.com/v2/resize:fit:2000/1*dXCigFDa7bLQINNl3JggPQ.jpeg 2000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 1000px"/><img alt="" class="bh me og c" width="1000" height="750" loading="eager" role="presentation"/></picture></div></div><figcaption class="ov ff ow nx ny ox oy bf b bg z du">Espresso cups from NASA’s <a class="af nv" href="https://www.nasa.gov/mission_pages/station/research/experiments/2029.html" rel="noopener ugc nofollow" target="_blank">Capillary Beverage</a> experiment.</figcaption></figure></div></div></div><div class="ab cb"><div class="ci bh fz ga gb gc"><p id="6fe0" class="pw-post-body-paragraph mx my gu mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gn bk">Here is the challenge: when most baristas pull a “shot” of espresso, they simply use a measuring cup to identify 2 fluid ounces of espresso. As anyone who loves espresso knows, the same volume of espresso doesn’t remain consistent because crema — the foam on every shot — can vary widely. Volume is not the best way to measure a shot of espresso.</p><p id="269c" class="pw-post-body-paragraph mx my gu mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gn bk">Walk into enough serious cafes and you will notice that the baristas are using scales in every step of the process. What coffee experts have discovered is that mass is a much more accurate measure for pulling consistent espresso shots (if you want a deep technical analysis, <a class="af nv" href="http://www.lamarzoccousa.com/blog/ben-kaminsky-barista-vs-volumetrics/" rel="noopener ugc nofollow" target="_blank">this post by Ben Kaminski</a> is the most rigorous analysis I’ve seen). When you ask a roaster for a “recipe” on a specific roast, they will respond with something along the lines of “18 grams in, 27 seconds, 35 grams out”. They can state recipes this way because nearly everyone standardizes their machines to 201°F and 9 bars of pressure. This leaves grind size as the only variable for a barista to tweak.</p><figure class="oa ob oc od oe of nx ny paragraph-image"><div class="nx ny pd"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*qHk1df5gda-dsNleMZVQ1A.png 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*qHk1df5gda-dsNleMZVQ1A.png 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*qHk1df5gda-dsNleMZVQ1A.png 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*qHk1df5gda-dsNleMZVQ1A.png 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*qHk1df5gda-dsNleMZVQ1A.png 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*qHk1df5gda-dsNleMZVQ1A.png 1100w, https://miro.medium.com/v2/resize:fit:480/format:webp/1*qHk1df5gda-dsNleMZVQ1A.png 480w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 240px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*qHk1df5gda-dsNleMZVQ1A.png 640w, https://miro.medium.com/v2/resize:fit:720/1*qHk1df5gda-dsNleMZVQ1A.png 720w, https://miro.medium.com/v2/resize:fit:750/1*qHk1df5gda-dsNleMZVQ1A.png 750w, https://miro.medium.com/v2/resize:fit:786/1*qHk1df5gda-dsNleMZVQ1A.png 786w, https://miro.medium.com/v2/resize:fit:828/1*qHk1df5gda-dsNleMZVQ1A.png 828w, https://miro.medium.com/v2/resize:fit:1100/1*qHk1df5gda-dsNleMZVQ1A.png 1100w, https://miro.medium.com/v2/resize:fit:480/1*qHk1df5gda-dsNleMZVQ1A.png 480w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 240px"/><img alt="" class="bh me og c" width="240" height="120" loading="eager" role="presentation"/></picture></div><figcaption class="ov ff ow nx ny ox oy bf b bg z du">With temperature, pressure, mass of beans, and shot time fixed as inputs by the recipe, the only variable input is grind size. The output is mass.</figcaption></figure><p id="89aa" class="pw-post-body-paragraph mx my gu mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gn bk">Unfortunately, unless you have this <a class="af nv" href="https://www.espressoparts.com/index.php/la-marzocco-linea-pb-3-group-av-automatic-espresso-machine?gclid=CjwKCAjw7frPBRBVEiwAuDf_LVVeX8V2WoypOxSRinlje-hEwz0YKt49lu88rptUzsheTbOTgYFmNhoC4YYQAvD_BwE" rel="noopener ugc nofollow" target="_blank">$18k machine</a>, you’ll never get a <a class="af nv" href="https://en.wikipedia.org/wiki/Feedback" rel="noopener ugc nofollow" target="_blank">closed loop</a> mass-to-shot-time system. It became clear that our office espresso machine needed some serious modding.</p><p id="f28f" class="pw-post-body-paragraph mx my gu mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gn bk">We started out with a great machine, a La Marzocco GS3 from eBay that need some TLC. However, the principal of this hack can be applied to just about any high quality espresso machine.</p><p id="815f" class="pw-post-body-paragraph mx my gu mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gn bk">The plan was to override the manual “make espresso” button and instead send commands to the machine based on the real time mass of the espresso. The first thing we needed was a microcontroller with wifi connectivity. Thankfully, the open-source <a class="af nv" href="http://particle.io" rel="noopener ugc nofollow" target="_blank">Particle Photon</a> was ready to use with a robust web-based IDE and firmware manager (we are also one of their largest investors, along with <a class="af nv" href="https://medium.com/spark-capital" rel="noopener">Spark Capital</a>).</p><figure class="oa ob oc od oe of nx ny paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><div class="nx ny pe"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*ooXY32M9F5EiA1FSOT_EkA.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*ooXY32M9F5EiA1FSOT_EkA.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*ooXY32M9F5EiA1FSOT_EkA.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*ooXY32M9F5EiA1FSOT_EkA.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*ooXY32M9F5EiA1FSOT_EkA.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*ooXY32M9F5EiA1FSOT_EkA.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1400/format:webp/1*ooXY32M9F5EiA1FSOT_EkA.jpeg 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*ooXY32M9F5EiA1FSOT_EkA.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*ooXY32M9F5EiA1FSOT_EkA.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*ooXY32M9F5EiA1FSOT_EkA.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*ooXY32M9F5EiA1FSOT_EkA.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*ooXY32M9F5EiA1FSOT_EkA.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*ooXY32M9F5EiA1FSOT_EkA.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1400/1*ooXY32M9F5EiA1FSOT_EkA.jpeg 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px"/><img alt="" class="bh me og c" width="700" height="934" loading="lazy" role="presentation"/></picture></div></div><figcaption class="ov ff ow nx ny ox oy bf b bg z du">Disassembling the GS3</figcaption></figure><figure class="oa ob oc od oe of nx ny paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><div class="nx ny pf"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*upN_Hnok4va7lI2IV9NJpg.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*upN_Hnok4va7lI2IV9NJpg.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*upN_Hnok4va7lI2IV9NJpg.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*upN_Hnok4va7lI2IV9NJpg.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*upN_Hnok4va7lI2IV9NJpg.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*upN_Hnok4va7lI2IV9NJpg.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1400/format:webp/1*upN_Hnok4va7lI2IV9NJpg.jpeg 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*upN_Hnok4va7lI2IV9NJpg.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*upN_Hnok4va7lI2IV9NJpg.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*upN_Hnok4va7lI2IV9NJpg.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*upN_Hnok4va7lI2IV9NJpg.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*upN_Hnok4va7lI2IV9NJpg.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*upN_Hnok4va7lI2IV9NJpg.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1400/1*upN_Hnok4va7lI2IV9NJpg.jpeg 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px"/><img alt="" class="bh me og c" width="700" height="468" loading="lazy" role="presentation"/></picture></div></div><figcaption class="ov ff ow nx ny ox oy bf b bg z du">The Particle Photon is a wifi micro-controller ready to go out-of-box with a web IDE.</figcaption></figure><p id="6a23" class="pw-post-body-paragraph mx my gu mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gn bk">With a microcontroller selected, the next step was finding a way to measure the output of the espresso feedback loop: mass. Unfortunately, the GS3 has no mass sensors (although La Marzocco’s high-end cafe models do). We needed a precise scale that we could pull digital data off of. Here we were aided by our friends at <a class="af nv" href="https://acaia.co" rel="noopener ugc nofollow" target="_blank">Acaia</a>, makers of the <a class="af nv" href="https://acaia.co/products/acaia-lunar-1" rel="noopener ugc nofollow" target="_blank">Lunar </a>— an awesome water-resistant digital scale. Acaia provided us the communication spec of the Lunar for this project, enabling us to measure and transmit the real time mass of an espresso shot over bluetooth.</p><figure class="oa ob oc od oe of nx ny paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><div class="nx ny pe"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*l31wMGplHsbsF3KYxZs4OQ.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*l31wMGplHsbsF3KYxZs4OQ.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*l31wMGplHsbsF3KYxZs4OQ.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*l31wMGplHsbsF3KYxZs4OQ.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*l31wMGplHsbsF3KYxZs4OQ.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*l31wMGplHsbsF3KYxZs4OQ.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1400/format:webp/1*l31wMGplHsbsF3KYxZs4OQ.jpeg 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*l31wMGplHsbsF3KYxZs4OQ.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*l31wMGplHsbsF3KYxZs4OQ.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*l31wMGplHsbsF3KYxZs4OQ.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*l31wMGplHsbsF3KYxZs4OQ.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*l31wMGplHsbsF3KYxZs4OQ.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*l31wMGplHsbsF3KYxZs4OQ.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1400/1*l31wMGplHsbsF3KYxZs4OQ.jpeg 1400w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 700px"/><img alt="" class="bh me og c" width="700" height="934" loading="lazy" role="presentation"/></picture></div></div><figcaption class="ov ff ow nx ny ox oy bf b bg z du">The Acaia Lunar allowed us to measure output for our feedback loop.</figcaption></figure><p id="452a" class="pw-post-body-paragraph mx my gu mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gn bk">To receive data from the scale, we used an <a class="af nv" href="http://www.enzytek.com/goodModBle.html" rel="noopener ugc nofollow" target="_blank">EnzyTek bluetooth module</a>. With the espresso-feedback-loop-output (mass) measured, transmitted, and received, the final hardware step was controlling the espresso machine itself.</p><p id="34de" class="pw-post-body-paragraph mx my gu mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gn bk">Initially we thought we would jack into the GS3’s interal debug RS232 port and reverse-engineer its digital commands, but after some port-sniffing we realized we were over-complicating the solution. We could simply mechanically emulate a press of the “make espresso” button and then emulate a stop signal when the espresso was done. The addition of a basic relay to the Particle allowed us to this.</p></div></div><div class="of"><div class="ab cb"><div class="lz oh ma oi mb oj cf ok cg ol ci bh"><div class="oa ob oc od oe ab kv"><figure class="lr of om on oo op oq paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*gAFWLHV9gIeFHdc07W4aJg.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*gAFWLHV9gIeFHdc07W4aJg.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*gAFWLHV9gIeFHdc07W4aJg.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*gAFWLHV9gIeFHdc07W4aJg.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*gAFWLHV9gIeFHdc07W4aJg.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*gAFWLHV9gIeFHdc07W4aJg.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/format:webp/1*gAFWLHV9gIeFHdc07W4aJg.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*gAFWLHV9gIeFHdc07W4aJg.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*gAFWLHV9gIeFHdc07W4aJg.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*gAFWLHV9gIeFHdc07W4aJg.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*gAFWLHV9gIeFHdc07W4aJg.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*gAFWLHV9gIeFHdc07W4aJg.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*gAFWLHV9gIeFHdc07W4aJg.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/1*gAFWLHV9gIeFHdc07W4aJg.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px"/><img alt="" class="bh me og c" width="500" height="3024" loading="eager" role="presentation"/></picture></div></figure><figure class="lr of om on oo op oq paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/format:webp/1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px"/><img alt="" class="bh me og c" width="500" height="3024" loading="eager" role="presentation"/></picture></div><figcaption class="ov ff ow nx ny ox oy bf b bg z du oz fj pa pb">Reverse engineering the GS3 controller with help from David Young @ <a class="af nv" href="http://www.youngcircuitdesigns.com/" rel="noopener ugc nofollow" target="_blank">Young Circuit Designs</a>.</figcaption></figure></div></div></div></div><div class="of"><div class="ab cb"><div class="lz oh ma oi mb oj cf ok cg ol ci bh"><figure class="lr of oo op paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><div class="nx ny pc"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg 1100w, https://miro.medium.com/v2/resize:fit:2000/format:webp/1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg 2000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 1000px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg 1100w, https://miro.medium.com/v2/resize:fit:2000/1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg 2000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 1000px"/><img alt="" class="bh me og c" width="1000" height="750" loading="eager" role="presentation"/></picture></div></div><figcaption class="ov ff ow nx ny ox oy bf b bg z du">There were a surprising amount of electronics inside the GS3.</figcaption></figure><figure class="lr of oo op paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><div class="nx ny pc"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*zo5aYYk76qhWjY0zYM2Rzg.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*zo5aYYk76qhWjY0zYM2Rzg.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*zo5aYYk76qhWjY0zYM2Rzg.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*zo5aYYk76qhWjY0zYM2Rzg.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*zo5aYYk76qhWjY0zYM2Rzg.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*zo5aYYk76qhWjY0zYM2Rzg.jpeg 1100w, https://miro.medium.com/v2/resize:fit:2000/format:webp/1*zo5aYYk76qhWjY0zYM2Rzg.jpeg 2000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 1000px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*zo5aYYk76qhWjY0zYM2Rzg.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*zo5aYYk76qhWjY0zYM2Rzg.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*zo5aYYk76qhWjY0zYM2Rzg.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*zo5aYYk76qhWjY0zYM2Rzg.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*zo5aYYk76qhWjY0zYM2Rzg.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*zo5aYYk76qhWjY0zYM2Rzg.jpeg 1100w, https://miro.medium.com/v2/resize:fit:2000/1*zo5aYYk76qhWjY0zYM2Rzg.jpeg 2000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 1000px"/><img alt="" class="bh me og c" width="1000" height="750" loading="eager" role="presentation"/></picture></div></div><figcaption class="ov ff ow nx ny ox oy bf b bg z du">Isolating the two cables that allowed us to emulate “make espresso” button presses.</figcaption></figure><figure class="lr of oo op paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><div class="nx ny pc"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*dhfWksZTLfXTfD8aKuDLFQ.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*dhfWksZTLfXTfD8aKuDLFQ.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*dhfWksZTLfXTfD8aKuDLFQ.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*dhfWksZTLfXTfD8aKuDLFQ.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*dhfWksZTLfXTfD8aKuDLFQ.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*dhfWksZTLfXTfD8aKuDLFQ.jpeg 1100w, https://miro.medium.com/v2/resize:fit:2000/format:webp/1*dhfWksZTLfXTfD8aKuDLFQ.jpeg 2000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 1000px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*dhfWksZTLfXTfD8aKuDLFQ.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*dhfWksZTLfXTfD8aKuDLFQ.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*dhfWksZTLfXTfD8aKuDLFQ.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*dhfWksZTLfXTfD8aKuDLFQ.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*dhfWksZTLfXTfD8aKuDLFQ.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*dhfWksZTLfXTfD8aKuDLFQ.jpeg 1100w, https://miro.medium.com/v2/resize:fit:2000/1*dhfWksZTLfXTfD8aKuDLFQ.jpeg 2000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 1000px"/><img alt="" class="bh me og c" width="1000" height="750" loading="eager" role="presentation"/></picture></div></div><figcaption class="ov ff ow nx ny ox oy bf b bg z du">The Particle (left), mechanical relay (center), and bluetooth module (right) wired to USB power and the GS3’s button wires.</figcaption></figure></div></div></div><div class="ab cb"><div class="ci bh fz ga gb gc"><p id="3e1c" class="pw-post-body-paragraph mx my gu mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gn bk">With the hardware done, it was time for some custom firmware to tie the GS3, the Acaia, and the relay together. The Particle Photon’s web IDE made this almost trivial compared to other micro-controller projects. Via a web API we exposed on the Particle, we are able to initiate a “smart brew” with a single argument: target output mass.</p></div></div><div class="of"><div class="ab cb"><div class="lz oh ma oi mb oj cf ok cg ol ci bh"><figure class="oa ob oc od oe of oo op paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><div class="nx ny pc"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*6fjz0foK50HJMjoytFg4kA.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*6fjz0foK50HJMjoytFg4kA.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*6fjz0foK50HJMjoytFg4kA.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*6fjz0foK50HJMjoytFg4kA.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*6fjz0foK50HJMjoytFg4kA.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*6fjz0foK50HJMjoytFg4kA.jpeg 1100w, https://miro.medium.com/v2/resize:fit:2000/format:webp/1*6fjz0foK50HJMjoytFg4kA.jpeg 2000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 1000px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*6fjz0foK50HJMjoytFg4kA.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*6fjz0foK50HJMjoytFg4kA.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*6fjz0foK50HJMjoytFg4kA.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*6fjz0foK50HJMjoytFg4kA.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*6fjz0foK50HJMjoytFg4kA.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*6fjz0foK50HJMjoytFg4kA.jpeg 1100w, https://miro.medium.com/v2/resize:fit:2000/1*6fjz0foK50HJMjoytFg4kA.jpeg 2000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 1000px"/><img alt="" class="bh me og c" width="1000" height="750" loading="eager" role="presentation"/></picture></div></div><figcaption class="ov ff ow nx ny ox oy bf b bg z du">Flashing firmware over wifi using Particle’s web IDE.</figcaption></figure></div></div></div><div class="ab cb"><div class="ci bh fz ga gb gc"><p id="b6c2" class="pw-post-body-paragraph mx my gu mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gn bk">When we run our “smart brew” function, the firmware emulates a “make espresso” button press; the mass of the espresso shot is then continuously sensed by the Acaia scale and sent to our firmware. The firmware waits until the shot has reached the target mass, and then shuts off the machine. The function then reports the amount of time used to pull the shot to the target mass. If the target mass is achieved faster than the recipe specifies, we need to adjust the coffee grinds finer; If it takes too long, we loosen the grind. The result: an espresso shot created based on realtime mass instead of water volume, which better matches the roaster’s recipe.</p></div></div><div class="of"><div class="ab cb"><div class="lz oh ma oi mb oj cf ok cg ol ci bh"><div class="oa ob oc od oe ab kv"><figure class="lr of om on oo op oq paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*ma_T3L87iXVbqyqYdOxRtg.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*ma_T3L87iXVbqyqYdOxRtg.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*ma_T3L87iXVbqyqYdOxRtg.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*ma_T3L87iXVbqyqYdOxRtg.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*ma_T3L87iXVbqyqYdOxRtg.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*ma_T3L87iXVbqyqYdOxRtg.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/format:webp/1*ma_T3L87iXVbqyqYdOxRtg.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*ma_T3L87iXVbqyqYdOxRtg.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*ma_T3L87iXVbqyqYdOxRtg.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*ma_T3L87iXVbqyqYdOxRtg.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*ma_T3L87iXVbqyqYdOxRtg.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*ma_T3L87iXVbqyqYdOxRtg.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*ma_T3L87iXVbqyqYdOxRtg.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/1*ma_T3L87iXVbqyqYdOxRtg.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px"/><img alt="" class="bh me og c" width="500" height="3024" loading="eager" role="presentation"/></picture></div></figure><figure class="lr of om on oo op oq paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*yS_N5Mx5kgunIPWJdOSKuA.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*yS_N5Mx5kgunIPWJdOSKuA.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*yS_N5Mx5kgunIPWJdOSKuA.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*yS_N5Mx5kgunIPWJdOSKuA.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*yS_N5Mx5kgunIPWJdOSKuA.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*yS_N5Mx5kgunIPWJdOSKuA.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/format:webp/1*yS_N5Mx5kgunIPWJdOSKuA.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*yS_N5Mx5kgunIPWJdOSKuA.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*yS_N5Mx5kgunIPWJdOSKuA.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*yS_N5Mx5kgunIPWJdOSKuA.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*yS_N5Mx5kgunIPWJdOSKuA.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*yS_N5Mx5kgunIPWJdOSKuA.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*yS_N5Mx5kgunIPWJdOSKuA.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/1*yS_N5Mx5kgunIPWJdOSKuA.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px"/><img alt="" class="bh me og c" width="500" height="3024" loading="eager" role="presentation"/></picture></div><figcaption class="ov ff ow nx ny ox oy bf b bg z du oz fj pa pb">Side note: we also machined custom bamboo panels for the GS3.</figcaption></figure></div></div></div></div><div class="ab cb"><div class="ci bh fz ga gb gc"><p id="52c2" class="pw-post-body-paragraph mx my gu mz b na nb nc nd ne nf ng nh ni nj nk nl nm nn no np nq nr ns nt nu gn bk">With our API controlled GS3, we are more precise with our shots and closer to our goal achieving a fully closed-loop espresso. The human-in-the-loop step that remains in our system is grind adjustment. The operator still has to manually interpret the shot time compared to the recipe and adjust the grinder accordingly. As you can imagine, the next part of this project is to send instructions to a custom controller and motor on the grinder to adjust the grind automatically based on output mass and time!</p></div></div><div class="of"><div class="ab cb"><div class="lz oh ma oi mb oj cf ok cg ol ci bh"><figure class="oa ob oc od oe of oo op paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><div class="nx ny pc"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*kbNCwBnZP9hS6QILLUqm_A.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*kbNCwBnZP9hS6QILLUqm_A.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*kbNCwBnZP9hS6QILLUqm_A.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*kbNCwBnZP9hS6QILLUqm_A.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*kbNCwBnZP9hS6QILLUqm_A.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*kbNCwBnZP9hS6QILLUqm_A.jpeg 1100w, https://miro.medium.com/v2/resize:fit:2000/format:webp/1*kbNCwBnZP9hS6QILLUqm_A.jpeg 2000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 1000px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*kbNCwBnZP9hS6QILLUqm_A.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*kbNCwBnZP9hS6QILLUqm_A.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*kbNCwBnZP9hS6QILLUqm_A.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*kbNCwBnZP9hS6QILLUqm_A.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*kbNCwBnZP9hS6QILLUqm_A.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*kbNCwBnZP9hS6QILLUqm_A.jpeg 1100w, https://miro.medium.com/v2/resize:fit:2000/1*kbNCwBnZP9hS6QILLUqm_A.jpeg 2000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 1000px"/><img alt="" class="bh me og c" width="1000" height="750" loading="eager" role="presentation"/></picture></div></div><figcaption class="ov ff ow nx ny ox oy bf b bg z du">Disassembling our grinder.</figcaption></figure></div></div></div><div class="of"><div class="ab cb"><div class="lz oh ma oi mb oj cf ok cg ol ci bh"><div class="ab kv"><figure class="lr of om on oo op oq paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*EmymVqjK4cmCQ81QRKOGxw.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*EmymVqjK4cmCQ81QRKOGxw.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*EmymVqjK4cmCQ81QRKOGxw.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*EmymVqjK4cmCQ81QRKOGxw.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*EmymVqjK4cmCQ81QRKOGxw.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*EmymVqjK4cmCQ81QRKOGxw.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/format:webp/1*EmymVqjK4cmCQ81QRKOGxw.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*EmymVqjK4cmCQ81QRKOGxw.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*EmymVqjK4cmCQ81QRKOGxw.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*EmymVqjK4cmCQ81QRKOGxw.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*EmymVqjK4cmCQ81QRKOGxw.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*EmymVqjK4cmCQ81QRKOGxw.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*EmymVqjK4cmCQ81QRKOGxw.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/1*EmymVqjK4cmCQ81QRKOGxw.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px"/><img alt="" class="bh me og c" width="500" height="3024" loading="eager" role="presentation"/></picture></div></figure><figure class="lr of om on oo op oq paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*AbSFBETE28jSvhVzVvKhLQ.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*AbSFBETE28jSvhVzVvKhLQ.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*AbSFBETE28jSvhVzVvKhLQ.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*AbSFBETE28jSvhVzVvKhLQ.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*AbSFBETE28jSvhVzVvKhLQ.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*AbSFBETE28jSvhVzVvKhLQ.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/format:webp/1*AbSFBETE28jSvhVzVvKhLQ.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*AbSFBETE28jSvhVzVvKhLQ.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*AbSFBETE28jSvhVzVvKhLQ.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*AbSFBETE28jSvhVzVvKhLQ.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*AbSFBETE28jSvhVzVvKhLQ.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*AbSFBETE28jSvhVzVvKhLQ.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*AbSFBETE28jSvhVzVvKhLQ.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/1*AbSFBETE28jSvhVzVvKhLQ.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px"/><img alt="" class="bh me og c" width="500" height="3024" loading="eager" role="presentation"/></picture></div><figcaption class="ov ff ow nx ny ox oy bf b bg z du oz fj pa pb">Making cold brew and grinding with a hacked drill while we disassemble our coffee machine and grinder.</figcaption></figure></div><div class="ab kv"><figure class="lr of om on oo op oq paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*G2OubehCvMYtPPSXySBq7w.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*G2OubehCvMYtPPSXySBq7w.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*G2OubehCvMYtPPSXySBq7w.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*G2OubehCvMYtPPSXySBq7w.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*G2OubehCvMYtPPSXySBq7w.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*G2OubehCvMYtPPSXySBq7w.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/format:webp/1*G2OubehCvMYtPPSXySBq7w.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*G2OubehCvMYtPPSXySBq7w.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*G2OubehCvMYtPPSXySBq7w.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*G2OubehCvMYtPPSXySBq7w.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*G2OubehCvMYtPPSXySBq7w.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*G2OubehCvMYtPPSXySBq7w.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*G2OubehCvMYtPPSXySBq7w.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/1*G2OubehCvMYtPPSXySBq7w.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px"/><img alt="" class="bh me og c" width="500" height="3024" loading="eager" role="presentation"/></picture></div></figure><figure class="lr of om on oo op oq paragraph-image"><div role="button" tabindex="0" class="or os fj ot bh ou"><picture><source srcSet="https://miro.medium.com/v2/resize:fit:640/format:webp/1*C2M-negycLFU-4bo5gWo-A.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/format:webp/1*C2M-negycLFU-4bo5gWo-A.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/format:webp/1*C2M-negycLFU-4bo5gWo-A.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/format:webp/1*C2M-negycLFU-4bo5gWo-A.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/format:webp/1*C2M-negycLFU-4bo5gWo-A.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/format:webp/1*C2M-negycLFU-4bo5gWo-A.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/format:webp/1*C2M-negycLFU-4bo5gWo-A.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px" type="image/webp"/><source data-testid="og" srcSet="https://miro.medium.com/v2/resize:fit:640/1*C2M-negycLFU-4bo5gWo-A.jpeg 640w, https://miro.medium.com/v2/resize:fit:720/1*C2M-negycLFU-4bo5gWo-A.jpeg 720w, https://miro.medium.com/v2/resize:fit:750/1*C2M-negycLFU-4bo5gWo-A.jpeg 750w, https://miro.medium.com/v2/resize:fit:786/1*C2M-negycLFU-4bo5gWo-A.jpeg 786w, https://miro.medium.com/v2/resize:fit:828/1*C2M-negycLFU-4bo5gWo-A.jpeg 828w, https://miro.medium.com/v2/resize:fit:1100/1*C2M-negycLFU-4bo5gWo-A.jpeg 1100w, https://miro.medium.com/v2/resize:fit:1000/1*C2M-negycLFU-4bo5gWo-A.jpeg 1000w" sizes="(min-resolution: 4dppx) and (max-width: 700px) 50vw, (-webkit-min-device-pixel-ratio: 4) and (max-width: 700px) 50vw, (min-resolution: 3dppx) and (max-width: 700px) 67vw, (-webkit-min-device-pixel-ratio: 3) and (max-width: 700px) 65vw, (min-resolution: 2.5dppx) and (max-width: 700px) 80vw, (-webkit-min-device-pixel-ratio: 2.5) and (max-width: 700px) 80vw, (min-resolution: 2dppx) and (max-width: 700px) 100vw, (-webkit-min-device-pixel-ratio: 2) and (max-width: 700px) 100vw, 500px"/><img alt="" class="bh me og c" width="500" height="3024" loading="eager" role="presentation"/></picture></div><figcaption class="ov ff ow nx ny ox oy bf b bg z du oz fj pa pb">Refinishing our coffee bar while we’re at it.</figcaption></figure></div></div></div></div></div></div></section></div></div></article></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="pg ph ab ja"><div class="pi ab"><a class="pj ay am ao" rel="noopener follow" href="/tag/coffee?source=post_page-----6fe9e190c2d2--------------------------------"><div class="pk fj cx pl ge pm pn bf b bg z bk po">Coffee</div></a></div><div class="pi ab"><a class="pj ay am ao" rel="noopener follow" href="/tag/hardware?source=post_page-----6fe9e190c2d2--------------------------------"><div class="pk fj cx pl ge pm pn bf b bg z bk po">Hardware</div></a></div><div class="pi ab"><a class="pj ay am ao" rel="noopener follow" href="/tag/startup?source=post_page-----6fe9e190c2d2--------------------------------"><div class="pk fj cx pl ge pm pn bf b bg z bk po">Startup</div></a></div><div class="pi ab"><a class="pj ay am ao" rel="noopener follow" href="/tag/vc?source=post_page-----6fe9e190c2d2--------------------------------"><div class="pk fj cx pl ge pm pn bf b bg z bk po">VC</div></a></div><div class="pi ab"><a class="pj ay am ao" rel="noopener follow" href="/tag/diy?source=post_page-----6fe9e190c2d2--------------------------------"><div class="pk fj cx pl ge pm pn bf b bg z bk po">DIY</div></a></div></div></div></div><div class="l"></div><footer class="pp pq pr ps pt ab q pu ik c"><div class="l ae"><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="ab cp pv"><div class="ab q kv"><div class="pw l"><span class="l px py pz e d"><div class="ab q kv kw"><div class="pw-multi-vote-icon fj je kx ky kz"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="footerClapButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Froot-ventures%2F6fe9e190c2d2&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Froot-ventures%2Fthe-best-office-coffee-youll-ever-have-6fe9e190c2d2&amp;user=Avidan+Ross&amp;userId=632574fc28c2&amp;source=---footer_actions--6fe9e190c2d2---------------------clap_footer-----------"><div><div class="bm" aria-hidden="false"><div class="la ao lb lc ld le am lf lg lh kz"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-label="clap"><path fill-rule="evenodd" d="M11.37.828 12 3.282l.63-2.454zM13.916 3.953l1.523-2.112-1.184-.39zM8.589 1.84l1.522 2.112-.337-2.501zM18.523 18.92c-.86.86-1.75 1.246-2.62 1.33a6 6 0 0 0 .407-.372c2.388-2.389 2.86-4.951 1.399-7.623l-.912-1.603-.79-1.672c-.26-.56-.194-.98.203-1.288a.7.7 0 0 1 .546-.132c.283.046.546.231.728.5l2.363 4.157c.976 1.624 1.141 4.237-1.324 6.702m-10.999-.438L3.37 14.328a.828.828 0 0 1 .585-1.408.83.83 0 0 1 .585.242l2.158 2.157a.365.365 0 0 0 .516-.516l-2.157-2.158-1.449-1.449a.826.826 0 0 1 1.167-1.17l3.438 3.44a.363.363 0 0 0 .516 0 .364.364 0 0 0 0-.516L5.293 9.513l-.97-.97a.826.826 0 0 1 0-1.166.84.84 0 0 1 1.167 0l.97.968 3.437 3.436a.36.36 0 0 0 .517 0 .366.366 0 0 0 0-.516L6.977 7.83a.82.82 0 0 1-.241-.584.82.82 0 0 1 .824-.826c.219 0 .43.087.584.242l5.787 5.787a.366.366 0 0 0 .587-.415l-1.117-2.363c-.26-.56-.194-.98.204-1.289a.7.7 0 0 1 .546-.132c.283.046.545.232.727.501l2.193 3.86c1.302 2.38.883 4.59-1.277 6.75-1.156 1.156-2.602 1.627-4.19 1.367-1.418-.236-2.866-1.033-4.079-2.246M10.75 5.971l2.12 2.12c-.41.502-.465 1.17-.128 1.89l.22.465-3.523-3.523a.8.8 0 0 1-.097-.368c0-.22.086-.428.241-.584a.847.847 0 0 1 1.167 0m7.355 1.705c-.31-.461-.746-.758-1.23-.837a1.44 1.44 0 0 0-1.11.275c-.312.24-.505.543-.59.881a1.74 1.74 0 0 0-.906-.465 1.47 1.47 0 0 0-.82.106l-2.182-2.182a1.56 1.56 0 0 0-2.2 0 1.54 1.54 0 0 0-.396.701 1.56 1.56 0 0 0-2.21-.01 1.55 1.55 0 0 0-.416.753c-.624-.624-1.649-.624-2.237-.037a1.557 1.557 0 0 0 0 2.2c-.239.1-.501.238-.715.453a1.56 1.56 0 0 0 0 2.2l.516.515a1.556 1.556 0 0 0-.753 2.615L7.01 19c1.32 1.319 2.909 2.189 4.475 2.449q.482.08.971.08c.85 0 1.653-.198 2.393-.579.231.033.46.054.686.054 1.266 0 2.457-.52 3.505-1.567 2.763-2.763 2.552-5.734 1.439-7.586z" clip-rule="evenodd"></path></svg></div></div></div></a></span></div><div class="pw-multi-vote-count l li lj lk ll lm ln lo"><p class="bf b dv z du"><span class="lp">--</span></p></div></div></span><span class="l h g f qa qb"><div class="ab q kv kw"><div class="pw-multi-vote-icon fj je kx ky kz"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="footerClapButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fvote%2Froot-ventures%2F6fe9e190c2d2&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Froot-ventures%2Fthe-best-office-coffee-youll-ever-have-6fe9e190c2d2&amp;user=Avidan+Ross&amp;userId=632574fc28c2&amp;source=---footer_actions--6fe9e190c2d2---------------------clap_footer-----------"><div><div class="bm" aria-hidden="false"><div class="la ao lb lc ld le am lf lg lh kz"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" aria-label="clap"><path fill-rule="evenodd" d="M11.37.828 12 3.282l.63-2.454zM13.916 3.953l1.523-2.112-1.184-.39zM8.589 1.84l1.522 2.112-.337-2.501zM18.523 18.92c-.86.86-1.75 1.246-2.62 1.33a6 6 0 0 0 .407-.372c2.388-2.389 2.86-4.951 1.399-7.623l-.912-1.603-.79-1.672c-.26-.56-.194-.98.203-1.288a.7.7 0 0 1 .546-.132c.283.046.546.231.728.5l2.363 4.157c.976 1.624 1.141 4.237-1.324 6.702m-10.999-.438L3.37 14.328a.828.828 0 0 1 .585-1.408.83.83 0 0 1 .585.242l2.158 2.157a.365.365 0 0 0 .516-.516l-2.157-2.158-1.449-1.449a.826.826 0 0 1 1.167-1.17l3.438 3.44a.363.363 0 0 0 .516 0 .364.364 0 0 0 0-.516L5.293 9.513l-.97-.97a.826.826 0 0 1 0-1.166.84.84 0 0 1 1.167 0l.97.968 3.437 3.436a.36.36 0 0 0 .517 0 .366.366 0 0 0 0-.516L6.977 7.83a.82.82 0 0 1-.241-.584.82.82 0 0 1 .824-.826c.219 0 .43.087.584.242l5.787 5.787a.366.366 0 0 0 .587-.415l-1.117-2.363c-.26-.56-.194-.98.204-1.289a.7.7 0 0 1 .546-.132c.283.046.545.232.727.501l2.193 3.86c1.302 2.38.883 4.59-1.277 6.75-1.156 1.156-2.602 1.627-4.19 1.367-1.418-.236-2.866-1.033-4.079-2.246M10.75 5.971l2.12 2.12c-.41.502-.465 1.17-.128 1.89l.22.465-3.523-3.523a.8.8 0 0 1-.097-.368c0-.22.086-.428.241-.584a.847.847 0 0 1 1.167 0m7.355 1.705c-.31-.461-.746-.758-1.23-.837a1.44 1.44 0 0 0-1.11.275c-.312.24-.505.543-.59.881a1.74 1.74 0 0 0-.906-.465 1.47 1.47 0 0 0-.82.106l-2.182-2.182a1.56 1.56 0 0 0-2.2 0 1.54 1.54 0 0 0-.396.701 1.56 1.56 0 0 0-2.21-.01 1.55 1.55 0 0 0-.416.753c-.624-.624-1.649-.624-2.237-.037a1.557 1.557 0 0 0 0 2.2c-.239.1-.501.238-.715.453a1.56 1.56 0 0 0 0 2.2l.516.515a1.556 1.556 0 0 0-.753 2.615L7.01 19c1.32 1.319 2.909 2.189 4.475 2.449q.482.08.971.08c.85 0 1.653-.198 2.393-.579.231.033.46.054.686.054 1.266 0 2.457-.52 3.505-1.567 2.763-2.763 2.552-5.734 1.439-7.586z" clip-rule="evenodd"></path></svg></div></div></div></a></span></div><div class="pw-multi-vote-count l li lj lk ll lm ln lo"><p class="bf b dv z du"><span class="lp">--</span></p></div></div></span></div><div class="bq ab"><div><div class="bm" aria-hidden="false"><button class="ao la ls lt ab q fk lu lv" aria-label="responses"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" class="lr"><path d="M18.006 16.803c1.533-1.456 2.234-3.325 2.234-5.321C20.24 7.357 16.709 4 12.191 4S4 7.357 4 11.482c0 4.126 3.674 7.482 8.191 7.482.817 0 1.622-.111 2.393-.327.231.2.48.391.744.559 1.06.693 2.203 1.044 3.399 1.044.224-.008.4-.112.486-.287a.49.49 0 0 0-.042-.518c-.495-.67-.845-1.364-1.04-2.057a4 4 0 0 1-.125-.598zm-3.122 1.055-.067-.223-.315.096a8 8 0 0 1-2.311.338c-4.023 0-7.292-2.955-7.292-6.587 0-3.633 3.269-6.588 7.292-6.588 4.014 0 7.112 2.958 7.112 6.593 0 1.794-.608 3.469-2.027 4.72l-.195.168v.255c0 .056 0 .151.016.295.025.231.081.478.154.733.154.558.398 1.117.722 1.659a5.3 5.3 0 0 1-2.165-.845c-.276-.176-.714-.383-.941-.59z"></path></svg><p class="bf b bg z du"><span class="pw-responses-count lq lr">4</span></p></button></div></div></div></div><div class="ab q"><div class="qc l ix"><div><div class="bm" aria-hidden="false"><span><a class="af ag ah ai aj ak al am an ao ap aq ar as at" data-testid="footerBookmarkButton" rel="noopener follow" href="/m/signin?actionUrl=https%3A%2F%2Fmedium.com%2F_%2Fbookmark%2Fp%2F6fe9e190c2d2&amp;operation=register&amp;redirect=https%3A%2F%2Fmedium.com%2Froot-ventures%2Fthe-best-office-coffee-youll-ever-have-6fe9e190c2d2&amp;source=---footer_actions--6fe9e190c2d2---------------------bookmark_footer-----------"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" fill="none" viewBox="0 0 25 25" class="du lx" aria-label="Add to list bookmark button"><path fill="currentColor" d="M18 2.5a.5.5 0 0 1 1 0V5h2.5a.5.5 0 0 1 0 1H19v2.5a.5.5 0 1 1-1 0V6h-2.5a.5.5 0 0 1 0-1H18zM7 7a1 1 0 0 1 1-1h3.5a.5.5 0 0 0 0-1H8a2 2 0 0 0-2 2v14a.5.5 0 0 0 .805.396L12.5 17l5.695 4.396A.5.5 0 0 0 19 21v-8.5a.5.5 0 0 0-1 0v7.485l-5.195-4.012a.5.5 0 0 0-.61 0L7 19.985z"></path></svg></a></span></div></div></div><div class="qc l ix"><div class="bm" aria-hidden="false" aria-describedby="postFooterSocialMenu" aria-labelledby="postFooterSocialMenu"><div><div class="bm" aria-hidden="false"><button aria-controls="postFooterSocialMenu" aria-expanded="false" aria-label="Share Post" data-testid="footerSocialShareButton" class="af fk ah ai aj ak al mf an ao ap ex mg mh lv mi"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="none" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="evenodd" d="M15.218 4.931a.4.4 0 0 1-.118.132l.012.006a.45.45 0 0 1-.292.074.5.5 0 0 1-.3-.13l-2.02-2.02v7.07c0 .28-.23.5-.5.5s-.5-.22-.5-.5v-7.04l-2 2a.45.45 0 0 1-.57.04h-.02a.4.4 0 0 1-.16-.3.4.4 0 0 1 .1-.32l2.8-2.8a.5.5 0 0 1 .7 0l2.8 2.79a.42.42 0 0 1 .068.498m-.106.138.008.004v-.01zM16 7.063h1.5a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-11c-1.1 0-2-.9-2-2v-10a2 2 0 0 1 2-2H8a.5.5 0 0 1 .35.15.5.5 0 0 1 .15.35.5.5 0 0 1-.15.35.5.5 0 0 1-.35.15H6.4c-.5 0-.9.4-.9.9v10.2a.9.9 0 0 0 .9.9h11.2c.5 0 .9-.4.9-.9v-10.2c0-.5-.4-.9-.9-.9H16a.5.5 0 0 1 0-1" clip-rule="evenodd"></path></svg></button></div></div></div></div></div></div></div></div></div></footer><div class="qd qe qf qg qh l"><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="qi bh r qj"></div><div class="qk l"><div class="ab ql qm qn iz iy"><div class="qo qp qq qr qs qt qu qv qw qx ab cp"><div class="h k"><a href="https://medium.com/root-ventures?source=post_page---post_publication_info--6fe9e190c2d2--------------------------------" rel="noopener follow"><div class="fj ab"><img alt="Root Ventures" class="qy ib ic cx" src="https://miro.medium.com/v2/resize:fill:96:96/1*-poLkkJbhYoA0QZ12EZ8OQ.png" width="48" height="48" loading="lazy"/><div class="qy l ic ib fs n fr qz"></div></div></a></div><div class="j i d"><a href="https://medium.com/root-ventures?source=post_page---post_publication_info--6fe9e190c2d2--------------------------------" rel="noopener follow"><div class="fj ab"><img alt="Root Ventures" class="qy rb ra cx" src="https://miro.medium.com/v2/resize:fill:128:128/1*-poLkkJbhYoA0QZ12EZ8OQ.png" width="64" height="64" loading="lazy"/><div class="qy l ra rb fs n fr qz"></div></div></a></div><div class="j i d rc ix"><div class="ab"></div></div></div><div class="ab co rd"><div class="re rf rg oi oh l"><a class="af ag ah aj ak al am an ao ap aq ar as at ab q" href="https://medium.com/root-ventures?source=post_page---post_publication_info--6fe9e190c2d2--------------------------------" rel="noopener follow"><h2 class="pw-author-name bf ri rj rk rl rm rn ro ni rp rq nm rr rs nq rt ru bk"><span class="gn rh">Published in <!-- -->Root Ventures</span></h2></a><div class="pi ab ia"><div class="l ix"><span class="pw-follower-count bf b bg z du"><a class="af ag ah ai aj ak al am an ao ap aq ar iq" rel="noopener follow" href="/root-ventures/followers?source=post_page---post_publication_info--6fe9e190c2d2--------------------------------">12K Followers</a></span></div><div class="bf b bg z du ab jd"><span class="ir l" aria-hidden="true"><span class="bf b bg z du">·</span></span><a class="af ag ah ai aj ak al am an ao ap aq ar iq" rel="noopener follow" href="/root-ventures/root-ventures-fund-iii-ae11386f75bd?source=post_page---post_publication_info--6fe9e190c2d2--------------------------------">Last published <span>Aug 23, 2022</span></a></div></div><div class="rv l"><p class="bf b bg z bk"><span class="gn">Root Ventures is a $325M seed stage venture capital firm based in San Francisco. We invest in technical teams at the earliest stages, focusing on founders building products at the frontier of technology and founders building the tools to make it all possible. Learn more at https:</span></p></div></div></div><div class="h k"><div class="ab"></div></div></div></div><div class="ab ql qm qn iz iy"><div class="qo qp qq qr qs qt qu qv qw qx ab cp"><div class="h k"><a tabindex="0" rel="noopener follow" href="/@root.vc?source=post_page---post_author_info--6fe9e190c2d2--------------------------------"><div class="l fj"><img alt="Avidan Ross" class="l fd by ic ib cx" src="https://miro.medium.com/v2/resize:fill:96:96/0*VelptGRmrK6hws43.jpeg" width="48" height="48" loading="lazy"/><div class="fr by l ic ib fs n ay qz"></div></div></a></div><div class="j i d"><a tabindex="0" rel="noopener follow" href="/@root.vc?source=post_page---post_author_info--6fe9e190c2d2--------------------------------"><div class="l fj"><img alt="Avidan Ross" class="l fd by ra rb cx" src="https://miro.medium.com/v2/resize:fill:128:128/0*VelptGRmrK6hws43.jpeg" width="64" height="64" loading="lazy"/><div class="fr by l ra rb fs n ay qz"></div></div></a></div><div class="j i d rc ix"><div class="ab"><span><button class="bf b bg z rw pk rx ry rz sa sb ev ew sc sd se fa fb fc fd bm fe ff">Follow</button></span></div></div></div><div class="ab co rd"><div class="re rf rg oi oh l"><a class="af ag ah aj ak al am an ao ap aq ar as at ab q" rel="noopener follow" href="/@root.vc?source=post_page---post_author_info--6fe9e190c2d2--------------------------------"><h2 class="pw-author-name bf ri rj rk rl rm rn ro ni rp rq nm rr rs nq rt ru bk"><span class="gn rh">Written by <!-- -->Avidan Ross</span></h2></a><div class="pi ab ia"><div class="l ix"><span class="pw-follower-count bf b bg z du"><a class="af ag ah ai aj ak al am an ao ap aq ar iq" rel="noopener follow" href="/@root.vc/followers?source=post_page---post_author_info--6fe9e190c2d2--------------------------------">693 Followers</a></span></div><div class="bf b bg z du ab jd"><span class="ir l" aria-hidden="true"><span class="bf b bg z du">·</span></span><a class="af ag ah ai aj ak al am an ao ap aq ar iq" rel="noopener follow" href="/@root.vc/following?source=post_page---post_author_info--6fe9e190c2d2--------------------------------">495 Following</a></div></div><div class="rv l"><p class="bf b bg z bk"><span class="gn">Founding Partner @ Root Ventures. Embedded engineer / Hardware hacker turned investor. Focused on connected devices and data science...and coffee.</span></p></div></div></div><div class="h k"><div class="ab"><span><button class="bf b bg z rw pk rx ry rz sa sb ev ew sc sd se fa fb fc fd bm fe ff">Follow</button></span></div></div></div></div></div></div><div class="sf sg sh si sj l"><div class="qi bh r sf sg sk sl sm"></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="ab q cp"><h2 class="bf ri sn so sp sq sr ss st su sv sw sx sy sz ta tb bk">Responses (<!-- -->4<!-- -->)</h2><div class="ab tc"><div><div class="bm" aria-hidden="false"><a class="td te" href="https://policy.medium.com/medium-rules-30e5502c4eb4?source=post_page---post_responses--6fe9e190c2d2--------------------------------" rel="noopener follow" target="_blank"><svg xmlns="http://www.w3.org/2000/svg" width="25" height="25" viewBox="0 0 25 25"><path fill-rule="evenodd" d="M11.987 5.036a.754.754 0 0 1 .914-.01c.972.721 1.767 1.218 2.6 1.543.828.322 1.719.485 2.887.505a.755.755 0 0 1 .741.757c-.018 3.623-.43 6.256-1.449 8.21-1.034 1.984-2.662 3.209-4.966 4.083a.75.75 0 0 1-.537-.003c-2.243-.874-3.858-2.095-4.897-4.074-1.024-1.951-1.457-4.583-1.476-8.216a.755.755 0 0 1 .741-.757c1.195-.02 2.1-.182 2.923-.503.827-.322 1.6-.815 2.519-1.535m.468.903c-.897.69-1.717 1.21-2.623 1.564-.898.35-1.856.527-3.026.565.037 3.45.469 5.817 1.36 7.515.884 1.684 2.25 2.762 4.284 3.571 2.092-.81 3.465-1.89 4.344-3.575.886-1.698 1.299-4.065 1.334-7.512-1.149-.039-2.091-.217-2.99-.567-.906-.353-1.745-.873-2.683-1.561m-.009 9.155a2.672 2.672 0 1 0 0-5.344 2.672 2.672 0 0 0 0 5.344m0 1a3.672 3.672 0 1 0 0-7.344 3.672 3.672 0 0 0 0 7.344m-1.813-3.777.525-.526.916.917 1.623-1.625.526.526-2.149 2.152z" clip-rule="evenodd"></path></svg></a></div></div></div></div><div class="tf l"><button class="bf b bg z bk pk tg th ti lx lu sb ev ew ex tj tk tl fa tm tn to tp tq fb fc fd bm fe ff">See all responses</button></div></div></div></div><div class="tr ts tt tu tv l bx"><div class="h k j"><div class="qi bh tw tx"></div><div class="ab cb"><div class="ci bh fz ga gb gc"><div class="ty ab kv ja"><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://help.medium.com/hc/en-us?source=post_page-----6fe9e190c2d2--------------------------------" rel="noopener follow"><p class="bf b dv z du">Help</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://medium.statuspage.io/?source=post_page-----6fe9e190c2d2--------------------------------" rel="noopener follow"><p class="bf b dv z du">Status</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/about?autoplay=1&amp;source=post_page-----6fe9e190c2d2--------------------------------"><p class="bf b dv z du">About</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/jobs-at-medium/work-at-medium-959d1a85284e?source=post_page-----6fe9e190c2d2--------------------------------"><p class="bf b dv z du">Careers</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="pressinquiries@medium.com?source=post_page-----6fe9e190c2d2--------------------------------" rel="noopener follow"><p class="bf b dv z du">Press</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://blog.medium.com/?source=post_page-----6fe9e190c2d2--------------------------------" rel="noopener follow"><p class="bf b dv z du">Blog</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://policy.medium.com/medium-privacy-policy-f03bf92035c9?source=post_page-----6fe9e190c2d2--------------------------------" rel="noopener follow"><p class="bf b dv z du">Privacy</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://policy.medium.com/medium-terms-of-service-9db0094a1e0f?source=post_page-----6fe9e190c2d2--------------------------------" rel="noopener follow"><p class="bf b dv z du">Terms</p></a></div><div class="tz ua l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" href="https://speechify.com/medium?source=post_page-----6fe9e190c2d2--------------------------------" rel="noopener follow"><p class="bf b dv z du">Text to speech</p></a></div><div class="tz l"><a class="af ag ah ai aj ak al am an ao ap aq ar as at" rel="noopener follow" href="/business?source=post_page-----6fe9e190c2d2--------------------------------"><p class="bf b dv z du">Teams</p></a></div></div></div></div></div></div></div></div></div></div><script>window.__BUILD_ID__="main-20241126-181518-0cb59a020f"</script><script>window.__GRAPHQL_URI__ = "https://medium.com/_/graphql"</script><script>window.__PRELOADED_STATE__ = {"algolia":{"queries":{}},"cache":{"experimentGroupSet":true,"reason":"","group":"enabled","tags":["group-edgeCachePosts","post-6fe9e190c2d2","user-632574fc28c2","collection-f0cad3410efa"],"serverVariantState":"44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a","middlewareEnabled":true,"cacheStatus":"DYNAMIC","shouldUseCache":true,"vary":[],"lohpSummerUpsellEnabled":false,"publicationHierarchyEnabledWeb":false,"postBottomResponsesEnabled":false},"client":{"hydrated":false,"isUs":false,"isNativeMedium":false,"isSafariMobile":false,"isSafari":false,"isFirefox":false,"routingEntity":{"type":"DEFAULT","explicit":false},"viewerIsBot":false},"debug":{"requestId":"caaa392e-2da6-44f5-be4a-a4d1005cde4a","hybridDevServices":[],"originalSpanCarrier":{"traceparent":"00-ced75229e60223701bcdfb75baa3c73a-f7f225d5e7d4a0ed-01"}},"multiVote":{"clapsPerPost":{}},"navigation":{"branch":{"show":null,"hasRendered":null,"blockedByCTA":false},"hideGoogleOneTap":false,"hasRenderedAlternateUserBanner":null,"currentLocation":"https:\u002F\u002Fmedium.com\u002Froot-ventures\u002Fthe-best-office-coffee-youll-ever-have-6fe9e190c2d2","host":"medium.com","hostname":"medium.com","referrer":"","hasSetReferrer":false,"susiModal":{"step":null,"operation":"register"},"postRead":false,"partnerProgram":{"selectedCountryCode":null},"queryString":"","currentHash":""},"config":{"nodeEnv":"production","version":"main-20241126-181518-0cb59a020f","target":"production","productName":"Medium","publicUrl":"https:\u002F\u002Fcdn-client.medium.com\u002Flite","authDomain":"medium.com","authGoogleClientId":"216296035834-k1k6qe060s2tp2a2jam4ljdcms00sttg.apps.googleusercontent.com","favicon":"production","glyphUrl":"https:\u002F\u002Fglyph.medium.com","branchKey":"key_live_ofxXr2qTrrU9NqURK8ZwEhknBxiI6KBm","algolia":{"appId":"MQ57UUUQZ2","apiKeySearch":"394474ced050e3911ae2249ecc774921","indexPrefix":"medium_","host":"-dsn.algolia.net"},"recaptchaKey":"6Lfc37IUAAAAAKGGtC6rLS13R1Hrw_BqADfS1LRk","recaptcha3Key":"6Lf8R9wUAAAAABMI_85Wb8melS7Zj6ziuf99Yot5","recaptchaEnterpriseKeyId":"6Le-uGgpAAAAAPprRaokM8AKthQ9KNGdoxaGUvVp","datadog":{"applicationId":"6702d87d-a7e0-42fe-bbcb-95b469547ea0","clientToken":"pub853ea8d17ad6821d9f8f11861d23dfed","rumToken":"pubf9cc52896502b9413b68ba36fc0c7162","context":{"deployment":{"target":"production","tag":"main-20241126-181518-0cb59a020f","commit":"0cb59a020f4453d0900f671f1a6576feecc55e74"}},"datacenter":"us"},"googleAnalyticsCode":"G-7JY7T788PK","googlePay":{"apiVersion":"2","apiVersionMinor":"0","merchantId":"BCR2DN6TV7EMTGBM","merchantName":"Medium","instanceMerchantId":"13685562959212738550"},"applePay":{"version":3},"signInWallCustomDomainCollectionIds":["3a8144eabfe3","336d898217ee","61061eb0c96b","138adf9c44c","819cc2aaeee0"],"mediumMastodonDomainName":"me.dm","mediumOwnedAndOperatedCollectionIds":["8a9336e5bb4","b7e45b22fec3","193b68bd4fba","8d6b8a439e32","54c98c43354d","3f6ecf56618","d944778ce714","92d2092dc598","ae2a65f35510","1285ba81cada","544c7006046e","fc8964313712","40187e704f1c","88d9857e584e","7b6769f2748b","bcc38c8f6edf","cef6983b292","cb8577c9149e","444d13b52878","713d7dbc99b0","ef8e90590e66","191186aaafa0","55760f21cdc5","9dc80918cc93","bdc4052bbdba","8ccfed20cbb2"],"tierOneDomains":["medium.com","thebolditalic.com","arcdigital.media","towardsdatascience.com","uxdesign.cc","codeburst.io","psiloveyou.xyz","writingcooperative.com","entrepreneurshandbook.co","prototypr.io","betterhumans.coach.me","theascent.pub"],"topicsToFollow":["d61cf867d93f","8a146bc21b28","1eca0103fff3","4d562ee63426","aef1078a3ef5","e15e46793f8d","6158eb913466","55f1c20aba7a","3d18b94f6858","4861fee224fd","63c6f1f93ee","1d98b3a9a871","decb52b64abf","ae5d4995e225","830cded25262"],"topicToTagMappings":{"accessibility":"accessibility","addiction":"addiction","android-development":"android-development","art":"art","artificial-intelligence":"artificial-intelligence","astrology":"astrology","basic-income":"basic-income","beauty":"beauty","biotech":"biotech","blockchain":"blockchain","books":"books","business":"business","cannabis":"cannabis","cities":"cities","climate-change":"climate-change","comics":"comics","coronavirus":"coronavirus","creativity":"creativity","cryptocurrency":"cryptocurrency","culture":"culture","cybersecurity":"cybersecurity","data-science":"data-science","design":"design","digital-life":"digital-life","disability":"disability","economy":"economy","education":"education","equality":"equality","family":"family","feminism":"feminism","fiction":"fiction","film":"film","fitness":"fitness","food":"food","freelancing":"freelancing","future":"future","gadgets":"gadgets","gaming":"gaming","gun-control":"gun-control","health":"health","history":"history","humor":"humor","immigration":"immigration","ios-development":"ios-development","javascript":"javascript","justice":"justice","language":"language","leadership":"leadership","lgbtqia":"lgbtqia","lifestyle":"lifestyle","machine-learning":"machine-learning","makers":"makers","marketing":"marketing","math":"math","media":"media","mental-health":"mental-health","mindfulness":"mindfulness","money":"money","music":"music","neuroscience":"neuroscience","nonfiction":"nonfiction","outdoors":"outdoors","parenting":"parenting","pets":"pets","philosophy":"philosophy","photography":"photography","podcasts":"podcast","poetry":"poetry","politics":"politics","privacy":"privacy","product-management":"product-management","productivity":"productivity","programming":"programming","psychedelics":"psychedelics","psychology":"psychology","race":"race","relationships":"relationships","religion":"religion","remote-work":"remote-work","san-francisco":"san-francisco","science":"science","self":"self","self-driving-cars":"self-driving-cars","sexuality":"sexuality","social-media":"social-media","society":"society","software-engineering":"software-engineering","space":"space","spirituality":"spirituality","sports":"sports","startups":"startup","style":"style","technology":"technology","transportation":"transportation","travel":"travel","true-crime":"true-crime","tv":"tv","ux":"ux","venture-capital":"venture-capital","visual-design":"visual-design","work":"work","world":"world","writing":"writing"},"defaultImages":{"avatar":{"imageId":"1*dmbNkD5D-u45r44go_cf0g.png","height":150,"width":150},"orgLogo":{"imageId":"7*V1_7XP4snlmqrc_0Njontw.png","height":110,"width":500},"postLogo":{"imageId":"bd978bb536350a710e8efb012513429cabdc4c28700604261aeda246d0f980b7","height":810,"width":1440},"postPreviewImage":{"imageId":"1*hn4v1tCaJy7cWMyb0bpNpQ.png","height":386,"width":579}},"collectionStructuredData":{"8d6b8a439e32":{"name":"Elemental","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F980\u002F1*9ygdqoKprhwuTVKUM0DLPA@2x.png","width":980,"height":159}}},"3f6ecf56618":{"name":"Forge","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F596\u002F1*uULpIlImcO5TDuBZ6lm7Lg@2x.png","width":596,"height":183}}},"ae2a65f35510":{"name":"GEN","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F264\u002F1*RdVZMdvfV3YiZTw6mX7yWA.png","width":264,"height":140}}},"88d9857e584e":{"name":"LEVEL","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*JqYMhNX6KNNb2UlqGqO2WQ.png","width":540,"height":108}}},"7b6769f2748b":{"name":"Marker","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fcdn-images-1.medium.com\u002Fmax\u002F383\u002F1*haCUs0wF6TgOOvfoY-jEoQ@2x.png","width":383,"height":92}}},"444d13b52878":{"name":"OneZero","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*cw32fIqCbRWzwJaoQw6BUg.png","width":540,"height":123}}},"8ccfed20cbb2":{"name":"Zora","data":{"@type":"NewsMediaOrganization","ethicsPolicy":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Farticles\u002F360043290473","logo":{"@type":"ImageObject","url":"https:\u002F\u002Fmiro.medium.com\u002Fmax\u002F540\u002F1*tZUQqRcCCZDXjjiZ4bDvgQ.png","width":540,"height":106}}}},"embeddedPostIds":{"coronavirus":"cd3010f9d81f"},"sharedCdcMessaging":{"COVID_APPLICABLE_TAG_SLUGS":[],"COVID_APPLICABLE_TOPIC_NAMES":[],"COVID_APPLICABLE_TOPIC_NAMES_FOR_TOPIC_PAGE":[],"COVID_MESSAGES":{"tierA":{"text":"For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":66,"end":73,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"tierB":{"text":"Anyone can publish on Medium per our Policies, but we don’t fact-check every story. For more info about the coronavirus, see cdc.gov.","markups":[{"start":37,"end":45,"href":"https:\u002F\u002Fhelp.medium.com\u002Fhc\u002Fen-us\u002Fcategories\u002F201931128-Policies-Safety"},{"start":125,"end":132,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"paywall":{"text":"This article has been made free for everyone, thanks to Medium Members. For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":56,"end":70,"href":"https:\u002F\u002Fmedium.com\u002Fmembership"},{"start":138,"end":145,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]},"unbound":{"text":"This article is free for everyone, thanks to Medium Members. For more information on the novel coronavirus and Covid-19, visit cdc.gov.","markups":[{"start":45,"end":59,"href":"https:\u002F\u002Fmedium.com\u002Fmembership"},{"start":127,"end":134,"href":"https:\u002F\u002Fwww.cdc.gov\u002Fcoronavirus\u002F2019-nCoV"}]}},"COVID_BANNER_POST_ID_OVERRIDE_WHITELIST":["3b31a67bff4a"]},"sharedVoteMessaging":{"TAGS":["politics","election-2020","government","us-politics","election","2020-presidential-race","trump","donald-trump","democrats","republicans","congress","republican-party","democratic-party","biden","joe-biden","maga"],"TOPICS":["politics","election"],"MESSAGE":{"text":"Find out more about the U.S. election results here.","markups":[{"start":46,"end":50,"href":"https:\u002F\u002Fcookpolitical.com\u002F2020-national-popular-vote-tracker"}]},"EXCLUDE_POSTS":["397ef29e3ca5"]},"embedPostRules":[],"recircOptions":{"v1":{"limit":3},"v2":{"limit":8}},"braintreeClientKey":"production_zjkj96jm_m56f8fqpf7ngnrd4","braintree":{"enabled":true,"merchantId":"m56f8fqpf7ngnrd4","merchantAccountId":{"usd":"AMediumCorporation_instant","eur":"amediumcorporation_EUR","cad":"amediumcorporation_CAD"},"publicKey":"ds2nn34bg2z7j5gd","braintreeEnvironment":"production","dashboardUrl":"https:\u002F\u002Fwww.braintreegateway.com\u002Fmerchants","gracePeriodDurationInDays":14,"mediumMembershipPlanId":{"monthly":"ce105f8c57a3","monthlyV2":"e8a5e126-792b-4ee6-8fba-d574c1b02fc5","monthlyWithTrial":"d5ee3dbe3db8","monthlyPremium":"fa741a9b47a2","yearly":"a40ad4a43185","yearlyV2":"3815d7d6-b8ca-4224-9b8c-182f9047866e","yearlyStaff":"d74fb811198a","yearlyWithTrial":"b3bc7350e5c7","yearlyPremium":"e21bd2c12166","monthlyOneYearFree":"e6c0637a-2bad-4171-ab4f-3c268633d83c","monthly25PercentOffFirstYear":"235ecc62-0cdb-49ae-9378-726cd21c504b","monthly20PercentOffFirstYear":"ba518864-9c13-4a99-91ca-411bf0cac756","monthly15PercentOffFirstYear":"594c029b-9f89-43d5-88f8-8173af4e070e","monthly10PercentOffFirstYear":"c6c7bc9a-40f2-4b51-8126-e28511d5bdb0","monthlyForStudents":"629ebe51-da7d-41fd-8293-34cd2f2030a8","yearlyOneYearFree":"78ba7be9-0d9f-4ece-aa3e-b54b826f2bf1","yearly25PercentOffFirstYear":"2dbb010d-bb8f-4eeb-ad5c-a08509f42d34","yearly20PercentOffFirstYear":"47565488-435b-47f8-bf93-40d5fbe0ebc8","yearly15PercentOffFirstYear":"8259809b-0881-47d9-acf7-6c001c7f720f","yearly10PercentOffFirstYear":"9dd694fb-96e1-472c-8d9e-3c868d5c1506","yearlyForStudents":"e29345ef-ab1c-4234-95c5-70e50fe6bc23","monthlyCad":"p52orjkaceei","yearlyCad":"h4q9g2up9ktt"},"braintreeDiscountId":{"oneMonthFree":"MONTHS_FREE_01","threeMonthsFree":"MONTHS_FREE_03","sixMonthsFree":"MONTHS_FREE_06","fiftyPercentOffOneYear":"FIFTY_PERCENT_OFF_ONE_YEAR"},"3DSecureVersion":"2","defaultCurrency":"usd","providerPlanIdCurrency":{"4ycw":"usd","rz3b":"usd","3kqm":"usd","jzw6":"usd","c2q2":"usd","nnsw":"usd","q8qw":"usd","d9y6":"usd","fx7w":"cad","nwf2":"cad"}},"paypalClientId":"AXj1G4fotC2GE8KzWX9mSxCH1wmPE3nJglf4Z2ig_amnhvlMVX87otaq58niAg9iuLktVNF_1WCMnN7v","paypal":{"host":"https:\u002F\u002Fapi.paypal.com:443","clientMode":"production","serverMode":"live","webhookId":"4G466076A0294510S","monthlyPlan":{"planId":"P-9WR0658853113943TMU5FDQA","name":"Medium Membership (Monthly) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"yearlyPlan":{"planId":"P-7N8963881P8875835MU5JOPQ","name":"Medium Membership (Annual) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"oneYearGift":{"name":"Medium Membership (1 Year, Digital Gift Code)","description":"Unlimited access to the best and brightest stories on Medium. Gift codes can be redeemed at medium.com\u002Fredeem.","price":"50.00","currency":"USD","sku":"membership-gift-1-yr"},"oldMonthlyPlan":{"planId":"P-96U02458LM656772MJZUVH2Y","name":"Medium Membership (Monthly)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"oldYearlyPlan":{"planId":"P-59P80963JF186412JJZU3SMI","name":"Medium Membership (Annual)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"monthlyPlanWithTrial":{"planId":"P-66C21969LR178604GJPVKUKY","name":"Medium Membership (Monthly) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"yearlyPlanWithTrial":{"planId":"P-6XW32684EX226940VKCT2MFA","name":"Medium Membership (Annual) with setup fee","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"oldMonthlyPlanNoSetupFee":{"planId":"P-4N046520HR188054PCJC7LJI","name":"Medium Membership (Monthly)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed monthly."},"oldYearlyPlanNoSetupFee":{"planId":"P-7A4913502Y5181304CJEJMXQ","name":"Medium Membership (Annual)","description":"Unlimited access to the best and brightest stories on Medium. Membership billed annually."},"sdkUrl":"https:\u002F\u002Fwww.paypal.com\u002Fsdk\u002Fjs"},"stripePublishableKey":"pk_live_7FReX44VnNIInZwrIIx6ghjl","log":{"json":true,"level":"info"},"imageUploadMaxSizeMb":25,"staffPicks":{"title":"Staff Picks","catalogId":"c7bc6e1ee00f"}},"session":{"xsrf":""}}</script><script>window.__APOLLO_STATE__ = {"ROOT_QUERY":{"__typename":"Query","viewer":null,"collectionByDomainOrSlug({\"domainOrSlug\":\"root-ventures\"})":{"__ref":"Collection:f0cad3410efa"},"postResult({\"id\":\"6fe9e190c2d2\"})":{"__ref":"Post:6fe9e190c2d2"}},"CustomStyleSheet:16ac052536b7":{"__typename":"CustomStyleSheet","id":"16ac052536b7","global":{"__typename":"GlobalStyles","colorPalette":null,"fonts":{"__typename":"StyleSheetFonts","font1":{"__typename":"StyleSheetFont","name":"SANS_SERIF_1"},"font2":{"__typename":"StyleSheetFont","name":"SANS_SERIF_1"},"font3":{"__typename":"StyleSheetFont","name":"SERIF_2"}}},"header":{"__typename":"HeaderStyles","backgroundImage":null}},"Collection:f0cad3410efa":{"__typename":"Collection","id":"f0cad3410efa","customStyleSheet":{"__ref":"CustomStyleSheet:16ac052536b7"},"colorPalette":{"__typename":"ColorPalette","highlightSpectrum":{"__typename":"ColorSpectrum","backgroundColor":"#FFFFFFFF","colorPoints":[{"__typename":"ColorPoint","color":"#FFFFFFFF","point":0},{"__typename":"ColorPoint","color":"#FFE8F3E8","point":0.1},{"__typename":"ColorPoint","color":"#FFE8F3E8","point":0.2},{"__typename":"ColorPoint","color":"#FFD1E7D1","point":0.6},{"__typename":"ColorPoint","color":"#FFA3D0A2","point":1}]},"defaultBackgroundSpectrum":{"__typename":"ColorSpectrum","backgroundColor":"#FFFFFFFF","colorPoints":[{"__typename":"ColorPoint","color":"#FF1A8917","point":0},{"__typename":"ColorPoint","color":"#FF11800E","point":0.1},{"__typename":"ColorPoint","color":"#FF0F730C","point":0.2},{"__typename":"ColorPoint","color":"#FF095407","point":1}]},"tintBackgroundSpectrum":null},"favicon":{"__ref":"ImageMetadata:"},"domain":null,"slug":"root-ventures","googleAnalyticsId":null,"editors":[{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:632574fc28c2"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:3bcc976f363c"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:6aa12eff3625"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:d23e9227b51b"}},{"__typename":"CollectionMastheadUserItem","user":{"__ref":"User:631bb0ec5fb5"}}],"name":"Root Ventures","avatar":{"__ref":"ImageMetadata:1*-poLkkJbhYoA0QZ12EZ8OQ.png"},"description":"Root Ventures is a $325M seed stage venture capital firm based in San Francisco. We invest in technical teams at the earliest stages, focusing on founders building products at the frontier of technology and founders building the tools to make it all possible. Learn more at https:","subscriberCount":12091,"latestPostsConnection({\"paging\":{\"limit\":1}})":{"__typename":"PostConnection","posts":[{"__ref":"Post:ae11386f75bd"}]},"viewerEdge":{"__ref":"CollectionViewerEdge:collectionId:f0cad3410efa-viewerId:lo_198cf4dfeae1"},"twitterUsername":"MachinePix","facebookPageId":null,"logo":{"__ref":"ImageMetadata:1*yeR8jcn1bzctX2Ry4V8y6g.png"}},"ImageMetadata:":{"__typename":"ImageMetadata","id":""},"User:632574fc28c2":{"__typename":"User","id":"632574fc28c2","name":"Avidan Ross","username":"root.vc","newsletterV3":{"__ref":"NewsletterV3:f5ace111ad9"},"linkedAccounts":{"__ref":"LinkedAccounts:632574fc28c2"},"isSuspended":false,"imageId":"0*VelptGRmrK6hws43.jpeg","mediumMemberAt":0,"verifications":{"__typename":"VerifiedInfo","isBookAuthor":false},"socialStats":{"__typename":"SocialStats","followerCount":693,"followingCount":478,"collectionFollowingCount":17},"customDomainState":null,"hasSubdomain":false,"bio":"Founding Partner @ Root Ventures. Embedded engineer \u002F Hardware hacker turned investor. Focused on connected devices and data science...and coffee.","isPartnerProgramEnrolled":false,"viewerEdge":{"__ref":"UserViewerEdge:userId:632574fc28c2-viewerId:lo_198cf4dfeae1"},"viewerIsUser":false,"postSubscribeMembershipUpsellShownAt":0,"membership":null,"allowNotes":true,"twitterScreenName":"AvidanRoss"},"User:3bcc976f363c":{"__typename":"User","id":"3bcc976f363c","customDomainState":null,"hasSubdomain":false,"username":"kane"},"User:6aa12eff3625":{"__typename":"User","id":"6aa12eff3625"},"User:d23e9227b51b":{"__typename":"User","id":"d23e9227b51b"},"User:631bb0ec5fb5":{"__typename":"User","id":"631bb0ec5fb5"},"ImageMetadata:1*-poLkkJbhYoA0QZ12EZ8OQ.png":{"__typename":"ImageMetadata","id":"1*-poLkkJbhYoA0QZ12EZ8OQ.png"},"Post:ae11386f75bd":{"__typename":"Post","id":"ae11386f75bd","firstPublishedAt":1661271130894,"creator":{"__ref":"User:3bcc976f363c"},"collection":{"__ref":"Collection:f0cad3410efa"},"isSeries":false,"mediumUrl":"https:\u002F\u002Fmedium.com\u002Froot-ventures\u002Froot-ventures-fund-iii-ae11386f75bd","sequence":null,"uniqueSlug":"root-ventures-fund-iii-ae11386f75bd"},"LinkedAccounts:632574fc28c2":{"__typename":"LinkedAccounts","mastodon":null,"id":"632574fc28c2"},"UserViewerEdge:userId:632574fc28c2-viewerId:lo_198cf4dfeae1":{"__typename":"UserViewerEdge","id":"userId:632574fc28c2-viewerId:lo_198cf4dfeae1","isFollowing":false,"isUser":false,"isMuting":false},"NewsletterV3:f5ace111ad9":{"__typename":"NewsletterV3","id":"f5ace111ad9","type":"NEWSLETTER_TYPE_AUTHOR","slug":"632574fc28c2","name":"632574fc28c2","collection":null,"user":{"__ref":"User:632574fc28c2"}},"Paragraph:a91378a055_0":{"__typename":"Paragraph","id":"a91378a055_0","name":"52fe","type":"H3","href":null,"layout":null,"metadata":null,"text":"The best office coffee you’ll ever have.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a91378a055_1":{"__typename":"Paragraph","id":"a91378a055_1","name":"0ac8","type":"P","href":null,"layout":null,"metadata":null,"text":"This week, my book Where to Drink Coffee was published by Phaidon Books. If you’ve met me, it’s obvious within the first 30 seconds that I am a coffee nerd.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":19,"end":40,"href":"http:\u002F\u002Fwww.phaidon.com\u002Fstore\u002Ffood-cook\u002Fwhere-to-drink-coffee-9780714873923\u002F","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"EM","start":19,"end":40,"href":null,"anchorType":null,"userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg":{"__typename":"ImageMetadata","id":"1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg","originalHeight":900,"originalWidth":600,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_2":{"__typename":"Paragraph","id":"a91378a055_2","name":"8ff9","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:1*ZGyRP-IU9g8MK-pz85mxOQ.jpeg"},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a91378a055_3":{"__typename":"Paragraph","id":"a91378a055_3","name":"d523","type":"P","href":null,"layout":null,"metadata":null,"text":"I am also a DIY electronics junkie. Past projects have included a live-tweeting BBQ smoker and an industrial pizza oven with superchargers. When I build stuff, it’s often in the pursuit the most consistent and high quality food and drink possible. My latest project has been a closed-loop espresso machine hack in pursuit of the perfect espresso shot.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*4qRzELd2Bp0vy6_1ol4imQ.jpeg":{"__typename":"ImageMetadata","id":"1*4qRzELd2Bp0vy6_1ol4imQ.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_4":{"__typename":"Paragraph","id":"a91378a055_4","name":"a5ec","type":"IMG","href":null,"layout":"OUTSET_ROW","metadata":{"__ref":"ImageMetadata:1*4qRzELd2Bp0vy6_1ol4imQ.jpeg"},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*zjobMrStbZT84BrN4Wl42A.jpeg":{"__typename":"ImageMetadata","id":"1*zjobMrStbZT84BrN4Wl42A.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_5":{"__typename":"Paragraph","id":"a91378a055_5","name":"e963","type":"IMG","href":null,"layout":"OUTSET_ROW_CONTINUE","metadata":{"__ref":"ImageMetadata:1*zjobMrStbZT84BrN4Wl42A.jpeg"},"text":"The Root Ventures espresso machine, before and after.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*dXCigFDa7bLQINNl3JggPQ.jpeg":{"__typename":"ImageMetadata","id":"1*dXCigFDa7bLQINNl3JggPQ.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_6":{"__typename":"Paragraph","id":"a91378a055_6","name":"86c9","type":"IMG","href":null,"layout":"OUTSET_CENTER","metadata":{"__ref":"ImageMetadata:1*dXCigFDa7bLQINNl3JggPQ.jpeg"},"text":"Espresso cups from NASA’s Capillary Beverage experiment.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":26,"end":44,"href":"https:\u002F\u002Fwww.nasa.gov\u002Fmission_pages\u002Fstation\u002Fresearch\u002Fexperiments\u002F2029.html","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a91378a055_7":{"__typename":"Paragraph","id":"a91378a055_7","name":"6fe0","type":"P","href":null,"layout":null,"metadata":null,"text":"Here is the challenge: when most baristas pull a “shot” of espresso, they simply use a measuring cup to identify 2 fluid ounces of espresso. As anyone who loves espresso knows, the same volume of espresso doesn’t remain consistent because crema — the foam on every shot — can vary widely. Volume is not the best way to measure a shot of espresso.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a91378a055_8":{"__typename":"Paragraph","id":"a91378a055_8","name":"269c","type":"P","href":null,"layout":null,"metadata":null,"text":"Walk into enough serious cafes and you will notice that the baristas are using scales in every step of the process. What coffee experts have discovered is that mass is a much more accurate measure for pulling consistent espresso shots (if you want a deep technical analysis, this post by Ben Kaminski is the most rigorous analysis I’ve seen). When you ask a roaster for a “recipe” on a specific roast, they will respond with something along the lines of “18 grams in, 27 seconds, 35 grams out”. They can state recipes this way because nearly everyone standardizes their machines to 201°F and 9 bars of pressure. This leaves grind size as the only variable for a barista to tweak.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":275,"end":300,"href":"http:\u002F\u002Fwww.lamarzoccousa.com\u002Fblog\u002Fben-kaminsky-barista-vs-volumetrics\u002F","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*qHk1df5gda-dsNleMZVQ1A.png":{"__typename":"ImageMetadata","id":"1*qHk1df5gda-dsNleMZVQ1A.png","originalHeight":120,"originalWidth":240,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_9":{"__typename":"Paragraph","id":"a91378a055_9","name":"6fa0","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:1*qHk1df5gda-dsNleMZVQ1A.png"},"text":"With temperature, pressure, mass of beans, and shot time fixed as inputs by the recipe, the only variable input is grind size. The output is mass.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a91378a055_10":{"__typename":"Paragraph","id":"a91378a055_10","name":"89aa","type":"P","href":null,"layout":null,"metadata":null,"text":"Unfortunately, unless you have this $18k machine, you’ll never get a closed loop mass-to-shot-time system. It became clear that our office espresso machine needed some serious modding.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":36,"end":48,"href":"https:\u002F\u002Fwww.espressoparts.com\u002Findex.php\u002Fla-marzocco-linea-pb-3-group-av-automatic-espresso-machine?gclid=CjwKCAjw7frPBRBVEiwAuDf_LVVeX8V2WoypOxSRinlje-hEwz0YKt49lu88rptUzsheTbOTgYFmNhoC4YYQAvD_BwE","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":69,"end":80,"href":"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FFeedback","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a91378a055_11":{"__typename":"Paragraph","id":"a91378a055_11","name":"f28f","type":"P","href":null,"layout":null,"metadata":null,"text":"We started out with a great machine, a La Marzocco GS3 from eBay that need some TLC. However, the principal of this hack can be applied to just about any high quality espresso machine.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a91378a055_12":{"__typename":"Paragraph","id":"a91378a055_12","name":"815f","type":"P","href":null,"layout":null,"metadata":null,"text":"The plan was to override the manual “make espresso” button and instead send commands to the machine based on the real time mass of the espresso. The first thing we needed was a microcontroller with wifi connectivity. Thankfully, the open-source Particle Photon was ready to use with a robust web-based IDE and firmware manager (we are also one of their largest investors, along with Spark Capital).","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":245,"end":260,"href":"http:\u002F\u002Fparticle.io","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":383,"end":396,"href":"https:\u002F\u002Fmedium.com\u002Fspark-capital","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*ooXY32M9F5EiA1FSOT_EkA.jpeg":{"__typename":"ImageMetadata","id":"1*ooXY32M9F5EiA1FSOT_EkA.jpeg","originalHeight":4032,"originalWidth":3024,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_13":{"__typename":"Paragraph","id":"a91378a055_13","name":"a4f9","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:1*ooXY32M9F5EiA1FSOT_EkA.jpeg"},"text":"Disassembling the GS3","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*upN_Hnok4va7lI2IV9NJpg.jpeg":{"__typename":"ImageMetadata","id":"1*upN_Hnok4va7lI2IV9NJpg.jpeg","originalHeight":1367,"originalWidth":2048,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_14":{"__typename":"Paragraph","id":"a91378a055_14","name":"70cf","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:1*upN_Hnok4va7lI2IV9NJpg.jpeg"},"text":"The Particle Photon is a wifi micro-controller ready to go out-of-box with a web IDE.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a91378a055_15":{"__typename":"Paragraph","id":"a91378a055_15","name":"6a23","type":"P","href":null,"layout":null,"metadata":null,"text":"With a microcontroller selected, the next step was finding a way to measure the output of the espresso feedback loop: mass. Unfortunately, the GS3 has no mass sensors (although La Marzocco’s high-end cafe models do). We needed a precise scale that we could pull digital data off of. Here we were aided by our friends at Acaia, makers of the Lunar — an awesome water-resistant digital scale. Acaia provided us the communication spec of the Lunar for this project, enabling us to measure and transmit the real time mass of an espresso shot over bluetooth.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":320,"end":325,"href":"https:\u002F\u002Facaia.co","anchorType":"LINK","userId":null,"linkMetadata":null},{"__typename":"Markup","type":"A","start":341,"end":347,"href":"https:\u002F\u002Facaia.co\u002Fproducts\u002Facaia-lunar-1","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*l31wMGplHsbsF3KYxZs4OQ.jpeg":{"__typename":"ImageMetadata","id":"1*l31wMGplHsbsF3KYxZs4OQ.jpeg","originalHeight":4032,"originalWidth":3024,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_16":{"__typename":"Paragraph","id":"a91378a055_16","name":"ef22","type":"IMG","href":null,"layout":"INSET_CENTER","metadata":{"__ref":"ImageMetadata:1*l31wMGplHsbsF3KYxZs4OQ.jpeg"},"text":"The Acaia Lunar allowed us to measure output for our feedback loop.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a91378a055_17":{"__typename":"Paragraph","id":"a91378a055_17","name":"452a","type":"P","href":null,"layout":null,"metadata":null,"text":"To receive data from the scale, we used an EnzyTek bluetooth module. With the espresso-feedback-loop-output (mass) measured, transmitted, and received, the final hardware step was controlling the espresso machine itself.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":43,"end":67,"href":"http:\u002F\u002Fwww.enzytek.com\u002FgoodModBle.html","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a91378a055_18":{"__typename":"Paragraph","id":"a91378a055_18","name":"34de","type":"P","href":null,"layout":null,"metadata":null,"text":"Initially we thought we would jack into the GS3’s interal debug RS232 port and reverse-engineer its digital commands, but after some port-sniffing we realized we were over-complicating the solution. We could simply mechanically emulate a press of the “make espresso” button and then emulate a stop signal when the espresso was done. The addition of a basic relay to the Particle allowed us to this.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*gAFWLHV9gIeFHdc07W4aJg.jpeg":{"__typename":"ImageMetadata","id":"1*gAFWLHV9gIeFHdc07W4aJg.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_19":{"__typename":"Paragraph","id":"a91378a055_19","name":"f7b8","type":"IMG","href":null,"layout":"OUTSET_ROW","metadata":{"__ref":"ImageMetadata:1*gAFWLHV9gIeFHdc07W4aJg.jpeg"},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg":{"__typename":"ImageMetadata","id":"1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_20":{"__typename":"Paragraph","id":"a91378a055_20","name":"48b8","type":"IMG","href":null,"layout":"OUTSET_ROW_CONTINUE","metadata":{"__ref":"ImageMetadata:1*6VK9lfsZ9r_6wTAkFRqP_g.jpeg"},"text":"Reverse engineering the GS3 controller with help from David Young @ Young Circuit Designs.","hasDropCap":null,"dropCapImage":null,"markups":[{"__typename":"Markup","type":"A","start":68,"end":89,"href":"http:\u002F\u002Fwww.youngcircuitdesigns.com\u002F","anchorType":"LINK","userId":null,"linkMetadata":null}],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg":{"__typename":"ImageMetadata","id":"1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_21":{"__typename":"Paragraph","id":"a91378a055_21","name":"0f8f","type":"IMG","href":null,"layout":"OUTSET_CENTER","metadata":{"__ref":"ImageMetadata:1*BoiX1wiGlJSzqUTaX6tcKQ.jpeg"},"text":"There were a surprising amount of electronics inside the GS3.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*zo5aYYk76qhWjY0zYM2Rzg.jpeg":{"__typename":"ImageMetadata","id":"1*zo5aYYk76qhWjY0zYM2Rzg.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_22":{"__typename":"Paragraph","id":"a91378a055_22","name":"821d","type":"IMG","href":null,"layout":"OUTSET_CENTER","metadata":{"__ref":"ImageMetadata:1*zo5aYYk76qhWjY0zYM2Rzg.jpeg"},"text":"Isolating the two cables that allowed us to emulate “make espresso” button presses.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*dhfWksZTLfXTfD8aKuDLFQ.jpeg":{"__typename":"ImageMetadata","id":"1*dhfWksZTLfXTfD8aKuDLFQ.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_23":{"__typename":"Paragraph","id":"a91378a055_23","name":"2599","type":"IMG","href":null,"layout":"OUTSET_CENTER","metadata":{"__ref":"ImageMetadata:1*dhfWksZTLfXTfD8aKuDLFQ.jpeg"},"text":"The Particle (left), mechanical relay (center), and bluetooth module (right) wired to USB power and the GS3’s button wires.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a91378a055_24":{"__typename":"Paragraph","id":"a91378a055_24","name":"3e1c","type":"P","href":null,"layout":null,"metadata":null,"text":"With the hardware done, it was time for some custom firmware to tie the GS3, the Acaia, and the relay together. The Particle Photon’s web IDE made this almost trivial compared to other micro-controller projects. Via a web API we exposed on the Particle, we are able to initiate a “smart brew” with a single argument: target output mass.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*6fjz0foK50HJMjoytFg4kA.jpeg":{"__typename":"ImageMetadata","id":"1*6fjz0foK50HJMjoytFg4kA.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_25":{"__typename":"Paragraph","id":"a91378a055_25","name":"ef35","type":"IMG","href":null,"layout":"OUTSET_CENTER","metadata":{"__ref":"ImageMetadata:1*6fjz0foK50HJMjoytFg4kA.jpeg"},"text":"Flashing firmware over wifi using Particle’s web IDE.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a91378a055_26":{"__typename":"Paragraph","id":"a91378a055_26","name":"b6c2","type":"P","href":null,"layout":null,"metadata":null,"text":"When we run our “smart brew” function, the firmware emulates a “make espresso” button press; the mass of the espresso shot is then continuously sensed by the Acaia scale and sent to our firmware. The firmware waits until the shot has reached the target mass, and then shuts off the machine. The function then reports the amount of time used to pull the shot to the target mass. If the target mass is achieved faster than the recipe specifies, we need to adjust the coffee grinds finer; If it takes too long, we loosen the grind. The result: an espresso shot created based on realtime mass instead of water volume, which better matches the roaster’s recipe.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*ma_T3L87iXVbqyqYdOxRtg.jpeg":{"__typename":"ImageMetadata","id":"1*ma_T3L87iXVbqyqYdOxRtg.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_27":{"__typename":"Paragraph","id":"a91378a055_27","name":"afae","type":"IMG","href":null,"layout":"OUTSET_ROW","metadata":{"__ref":"ImageMetadata:1*ma_T3L87iXVbqyqYdOxRtg.jpeg"},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*yS_N5Mx5kgunIPWJdOSKuA.jpeg":{"__typename":"ImageMetadata","id":"1*yS_N5Mx5kgunIPWJdOSKuA.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_28":{"__typename":"Paragraph","id":"a91378a055_28","name":"f304","type":"IMG","href":null,"layout":"OUTSET_ROW_CONTINUE","metadata":{"__ref":"ImageMetadata:1*yS_N5Mx5kgunIPWJdOSKuA.jpeg"},"text":"Side note: we also machined custom bamboo panels for the GS3.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"Paragraph:a91378a055_29":{"__typename":"Paragraph","id":"a91378a055_29","name":"52c2","type":"P","href":null,"layout":null,"metadata":null,"text":"With our API controlled GS3, we are more precise with our shots and closer to our goal achieving a fully closed-loop espresso. The human-in-the-loop step that remains in our system is grind adjustment. The operator still has to manually interpret the shot time compared to the recipe and adjust the grinder accordingly. As you can imagine, the next part of this project is to send instructions to a custom controller and motor on the grinder to adjust the grind automatically based on output mass and time!","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*kbNCwBnZP9hS6QILLUqm_A.jpeg":{"__typename":"ImageMetadata","id":"1*kbNCwBnZP9hS6QILLUqm_A.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_30":{"__typename":"Paragraph","id":"a91378a055_30","name":"7f54","type":"IMG","href":null,"layout":"OUTSET_CENTER","metadata":{"__ref":"ImageMetadata:1*kbNCwBnZP9hS6QILLUqm_A.jpeg"},"text":"Disassembling our grinder.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*EmymVqjK4cmCQ81QRKOGxw.jpeg":{"__typename":"ImageMetadata","id":"1*EmymVqjK4cmCQ81QRKOGxw.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_31":{"__typename":"Paragraph","id":"a91378a055_31","name":"8572","type":"IMG","href":null,"layout":"OUTSET_ROW","metadata":{"__ref":"ImageMetadata:1*EmymVqjK4cmCQ81QRKOGxw.jpeg"},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*AbSFBETE28jSvhVzVvKhLQ.jpeg":{"__typename":"ImageMetadata","id":"1*AbSFBETE28jSvhVzVvKhLQ.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_32":{"__typename":"Paragraph","id":"a91378a055_32","name":"9c71","type":"IMG","href":null,"layout":"OUTSET_ROW_CONTINUE","metadata":{"__ref":"ImageMetadata:1*AbSFBETE28jSvhVzVvKhLQ.jpeg"},"text":"Making cold brew and grinding with a hacked drill while we disassemble our coffee machine and grinder.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*G2OubehCvMYtPPSXySBq7w.jpeg":{"__typename":"ImageMetadata","id":"1*G2OubehCvMYtPPSXySBq7w.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_33":{"__typename":"Paragraph","id":"a91378a055_33","name":"f117","type":"IMG","href":null,"layout":"OUTSET_ROW","metadata":{"__ref":"ImageMetadata:1*G2OubehCvMYtPPSXySBq7w.jpeg"},"text":"","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"ImageMetadata:1*C2M-negycLFU-4bo5gWo-A.jpeg":{"__typename":"ImageMetadata","id":"1*C2M-negycLFU-4bo5gWo-A.jpeg","originalHeight":3024,"originalWidth":4032,"focusPercentX":null,"focusPercentY":null,"alt":null},"Paragraph:a91378a055_34":{"__typename":"Paragraph","id":"a91378a055_34","name":"9b2b","type":"IMG","href":null,"layout":"OUTSET_ROW_CONTINUE","metadata":{"__ref":"ImageMetadata:1*C2M-negycLFU-4bo5gWo-A.jpeg"},"text":"Refinishing our coffee bar while we’re at it.","hasDropCap":null,"dropCapImage":null,"markups":[],"codeBlockMetadata":null,"iframe":null,"mixtapeMetadata":null},"CollectionViewerEdge:collectionId:f0cad3410efa-viewerId:lo_198cf4dfeae1":{"__typename":"CollectionViewerEdge","id":"collectionId:f0cad3410efa-viewerId:lo_198cf4dfeae1","isEditor":false,"isMuting":false},"ImageMetadata:1*yeR8jcn1bzctX2Ry4V8y6g.png":{"__typename":"ImageMetadata","id":"1*yeR8jcn1bzctX2Ry4V8y6g.png","originalWidth":670,"originalHeight":200},"PostViewerEdge:postId:6fe9e190c2d2-viewerId:lo_198cf4dfeae1":{"__typename":"PostViewerEdge","shouldIndexPostForExternalSearch":true,"id":"postId:6fe9e190c2d2-viewerId:lo_198cf4dfeae1"},"Tag:coffee":{"__typename":"Tag","id":"coffee","displayTitle":"Coffee","normalizedTagSlug":"coffee"},"Tag:hardware":{"__typename":"Tag","id":"hardware","displayTitle":"Hardware","normalizedTagSlug":"hardware"},"Tag:startup":{"__typename":"Tag","id":"startup","displayTitle":"Startup","normalizedTagSlug":"startup"},"Tag:vc":{"__typename":"Tag","id":"vc","displayTitle":"VC","normalizedTagSlug":"vc"},"Tag:diy":{"__typename":"Tag","id":"diy","displayTitle":"DIY","normalizedTagSlug":"diy"},"Post:6fe9e190c2d2":{"__typename":"Post","id":"6fe9e190c2d2","collection":{"__ref":"Collection:f0cad3410efa"},"content({\"postMeteringOptions\":{}})":{"__typename":"PostContent","isLockedPreviewOnly":false,"bodyModel":{"__typename":"RichText","sections":[{"__typename":"Section","name":"c913","startIndex":0,"textLayout":null,"imageLayout":null,"backgroundImage":null,"videoLayout":null,"backgroundVideo":null}],"paragraphs":[{"__ref":"Paragraph:a91378a055_0"},{"__ref":"Paragraph:a91378a055_1"},{"__ref":"Paragraph:a91378a055_2"},{"__ref":"Paragraph:a91378a055_3"},{"__ref":"Paragraph:a91378a055_4"},{"__ref":"Paragraph:a91378a055_5"},{"__ref":"Paragraph:a91378a055_6"},{"__ref":"Paragraph:a91378a055_7"},{"__ref":"Paragraph:a91378a055_8"},{"__ref":"Paragraph:a91378a055_9"},{"__ref":"Paragraph:a91378a055_10"},{"__ref":"Paragraph:a91378a055_11"},{"__ref":"Paragraph:a91378a055_12"},{"__ref":"Paragraph:a91378a055_13"},{"__ref":"Paragraph:a91378a055_14"},{"__ref":"Paragraph:a91378a055_15"},{"__ref":"Paragraph:a91378a055_16"},{"__ref":"Paragraph:a91378a055_17"},{"__ref":"Paragraph:a91378a055_18"},{"__ref":"Paragraph:a91378a055_19"},{"__ref":"Paragraph:a91378a055_20"},{"__ref":"Paragraph:a91378a055_21"},{"__ref":"Paragraph:a91378a055_22"},{"__ref":"Paragraph:a91378a055_23"},{"__ref":"Paragraph:a91378a055_24"},{"__ref":"Paragraph:a91378a055_25"},{"__ref":"Paragraph:a91378a055_26"},{"__ref":"Paragraph:a91378a055_27"},{"__ref":"Paragraph:a91378a055_28"},{"__ref":"Paragraph:a91378a055_29"},{"__ref":"Paragraph:a91378a055_30"},{"__ref":"Paragraph:a91378a055_31"},{"__ref":"Paragraph:a91378a055_32"},{"__ref":"Paragraph:a91378a055_33"},{"__ref":"Paragraph:a91378a055_34"}]},"validatedShareKey":"","shareKeyCreator":null},"creator":{"__ref":"User:632574fc28c2"},"inResponseToEntityType":null,"isLocked":false,"isMarkedPaywallOnly":false,"lockedSource":"LOCKED_POST_SOURCE_NONE","mediumUrl":"https:\u002F\u002Fmedium.com\u002Froot-ventures\u002Fthe-best-office-coffee-youll-ever-have-6fe9e190c2d2","primaryTopic":null,"topics":[{"__typename":"Topic","slug":"technology"}],"isPublished":true,"latestPublishedVersion":"a91378a055","visibility":"PUBLIC","postResponses":{"__typename":"PostResponses","count":4},"clapCount":282,"allowResponses":true,"isLimitedState":false,"title":"The best office coffee you’ll ever have.","isSeries":false,"sequence":null,"uniqueSlug":"the-best-office-coffee-youll-ever-have-6fe9e190c2d2","socialTitle":"","socialDek":"","canonicalUrl":"","metaDescription":"This week, my book Where to Drink Coffee was published by Phaidon Books. If you’ve met me, it’s obvious within the first 30 seconds that I am a coffee nerd. I am also a DIY electronics junkie. Past…","latestPublishedAt":1512412834631,"readingTime":5.1056603773584905,"previewContent":{"__typename":"PreviewContent","subtitle":"Engineering in pursuit of the perfect espresso shot."},"previewImage":{"__ref":"ImageMetadata:1*6fjz0foK50HJMjoytFg4kA.jpeg"},"isShortform":false,"seoTitle":"","firstPublishedAt":1512410161460,"updatedAt":1527627965046,"shortformType":"SHORTFORM_TYPE_LINK","seoDescription":"","viewerEdge":{"__ref":"PostViewerEdge:postId:6fe9e190c2d2-viewerId:lo_198cf4dfeae1"},"isSuspended":false,"license":"ALL_RIGHTS_RESERVED","tags":[{"__ref":"Tag:coffee"},{"__ref":"Tag:hardware"},{"__ref":"Tag:startup"},{"__ref":"Tag:vc"},{"__ref":"Tag:diy"}],"isNewsletter":false,"statusForCollection":"APPROVED","pendingCollection":null,"detectedLanguage":"en","wordCount":876,"layerCake":0,"responsesLocked":false}}</script><script>window.__MIDDLEWARE_STATE__={"session":{"xsrf":""},"cache":{"cacheStatus":"MISS"}}</script><script src="https://cdn-client.medium.com/lite/static/js/manifest.aa9242f7.js"></script><script src="https://cdn-client.medium.com/lite/static/js/9865.1496d74a.js"></script><script src="https://cdn-client.medium.com/lite/static/js/main.e556b4ac.js"></script><script src="https://cdn-client.medium.com/lite/static/js/instrumentation.d9108df7.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/reporting.ff22a7a5.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/9120.5df29668.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5049.d1ead72d.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/4810.6318add7.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6618.db187378.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2707.b0942613.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/9977.5b3eb23a.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8599.1ab63137.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5250.9f9e01d2.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5787.e66a3a4d.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2648.26563adf.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8393.826a25fb.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3104.c3413b66.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3735.afb7e926.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/5642.8ad8a900.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6546.cd03f950.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/6834.08de95de.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7346.72622eb9.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2420.2a5e2d95.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/839.ca7937c2.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7975.d195c6f1.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2106.21ff89d3.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/7394.094844de.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2961.00a48598.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8204.c4082863.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/4391.59acaed3.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/PostPage.MainContent.1387c5dc.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/8414.6565ad5f.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/3974.8d3e0217.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/2527.a0afad8a.chunk.js"></script> <script src="https://cdn-client.medium.com/lite/static/js/PostResponsesContent.36c2ecf4.chunk.js"></script><script>window.main();</script><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'8e92a743d9d5a8fa',t:'MTczMjcxNjEyMC4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body></html>

Pages: 1 2 3 4 5 6 7 8 9 10