[{"data":1,"prerenderedAt":155},["ShallowReactive",2],{"component-nav":3,"component-project-page":31,"component-footer":48,"component-identity":77,"i-mdi:menu":85,"i-mdi:close":90,"i-mdi:github":92,"i-mdi:linkedin":94,"i-nerdoza:kaweah-tech":96,"i-mdi:email-outline":100,"i-mdi:rss":102,"work-\u002Fwork\u002Fkeiser-m3i":104},{"id":4,"aria":5,"extension":10,"links":11,"meta":27,"stem":28,"wordmark":29,"__hash__":30},"componentNav\u002Fcomponents\u002Fnav.yml",{"primary":6,"drawer":7,"openMenu":8,"closeMenu":9},"Primary","Primary navigation","Open menu","Close menu","yml",[12,15,18,21,24],{"label":13,"to":14},"Work","\u002Fwork\u002F",{"label":16,"to":17},"Quips","\u002Fquips\u002F",{"label":19,"to":20},"Resume","\u002Fresume\u002F",{"label":22,"to":23},"About","\u002Fabout\u002F",{"label":25,"to":26},"Contact","\u002Fcontact\u002F",{},"components\u002Fnav","Zach Cardoza","IItap6SpXhYAvCmXy9rhcYY_JN8djcGts4Wj39AiKgE",{"id":32,"artifactsLabel":33,"backToWorkLabel":34,"extension":10,"factLabels":35,"meta":44,"seeOnResumeLabel":45,"stem":46,"__hash__":47},"componentProjectPage\u002Fcomponents\u002FprojectPage.yml","Artifacts","← Back to work",{"role":36,"employer":37,"client":38,"dates":39,"teamSize":40,"scale":41,"outcomes":42,"tech":43},"Role","Employer","Client","Dates","Team size","Scale","Outcomes","Tech",{},"See on resume →","components\u002FprojectPage","w9u4782tcKqyCPDg9qxWmvR5gSMav1IMUWqDlmAkOFU",{"id":49,"copyrightName":29,"extension":10,"links":50,"meta":74,"stem":75,"__hash__":76},"componentFooter\u002Fcomponents\u002Ffooter.yml",[51,57,61,66,70],{"label":52,"href":53,"icon":54,"target":55,"rel":56},"GitHub","https:\u002F\u002Fgithub.com\u002Fnerdoza","mdi:github","_blank","me noopener",{"label":58,"href":59,"icon":60,"target":55,"rel":56},"LinkedIn","https:\u002F\u002Fwww.linkedin.com\u002Fin\u002Fzacharycardoza\u002F","mdi:linkedin",{"label":62,"href":63,"icon":64,"target":55,"rel":65},"Kaweah Tech","https:\u002F\u002Fkaweah.tech","nerdoza:kaweah-tech","noopener",{"label":67,"href":68,"icon":69},"Email","mailto:zach@zachcardoza.com","mdi:email-outline",{"label":71,"href":72,"icon":73},"RSS","\u002Fquips\u002Frss.xml","mdi:rss",{},"components\u002Ffooter","Y0itPvA7MyB6U2n--fsXkYzDRwjU7MTusv0PAO4zsY0",{"id":78,"byline":79,"extension":10,"formalName":80,"location":81,"meta":82,"name":29,"stem":83,"__hash__":84},"componentIdentity\u002Fcomponents\u002Fidentity.yml","Eng Mgr @ Optum · Founder @ Kaweah Tech","Zachary Cardoza","Tulare, CA",{},"components\u002Fidentity","n5Jp9qm_RYhiJn_6K6LS2baFqi6xHTxTjz6kQRuNY_k",{"left":86,"top":86,"width":87,"height":87,"rotate":86,"vFlip":88,"hFlip":88,"body":89},0,24,false,"\u003Cpath fill=\"currentColor\" d=\"M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z\"\u002F>",{"left":86,"top":86,"width":87,"height":87,"rotate":86,"vFlip":88,"hFlip":88,"body":91},"\u003Cpath fill=\"currentColor\" d=\"M19 6.41L17.59 5L12 10.59L6.41 5L5 6.41L10.59 12L5 17.59L6.41 19L12 13.41L17.59 19L19 17.59L13.41 12z\"\u002F>",{"left":86,"top":86,"width":87,"height":87,"rotate":86,"vFlip":88,"hFlip":88,"body":93},"\u003Cpath fill=\"currentColor\" d=\"M12 2A10 10 0 0 0 2 12c0 4.42 2.87 8.17 6.84 9.5c.5.08.66-.23.66-.5v-1.69c-2.77.6-3.36-1.34-3.36-1.34c-.46-1.16-1.11-1.47-1.11-1.47c-.91-.62.07-.6.07-.6c1 .07 1.53 1.03 1.53 1.03c.87 1.52 2.34 1.07 2.91.83c.09-.65.35-1.09.63-1.34c-2.22-.25-4.55-1.11-4.55-4.92c0-1.11.38-2 1.03-2.71c-.1-.25-.45-1.29.1-2.64c0 0 .84-.27 2.75 1.02c.79-.22 1.65-.33 2.5-.33s1.71.11 2.5.33c1.91-1.29 2.75-1.02 2.75-1.02c.55 1.35.2 2.39.1 2.64c.65.71 1.03 1.6 1.03 2.71c0 3.82-2.34 4.66-4.57 4.91c.36.31.69.92.69 1.85V21c0 .27.16.59.67.5C19.14 20.16 22 16.42 22 12A10 10 0 0 0 12 2\"\u002F>",{"left":86,"top":86,"width":87,"height":87,"rotate":86,"vFlip":88,"hFlip":88,"body":95},"\u003Cpath fill=\"currentColor\" d=\"M19 3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm-.5 15.5v-5.3a3.26 3.26 0 0 0-3.26-3.26c-.85 0-1.84.52-2.32 1.3v-1.11h-2.79v8.37h2.79v-4.93c0-.77.62-1.4 1.39-1.4a1.4 1.4 0 0 1 1.4 1.4v4.93zM6.88 8.56a1.68 1.68 0 0 0 1.68-1.68c0-.93-.75-1.69-1.68-1.69a1.69 1.69 0 0 0-1.69 1.69c0 .93.76 1.68 1.69 1.68m1.39 9.94v-8.37H5.5v8.37z\"\u002F>",{"left":86,"top":86,"width":97,"height":98,"rotate":86,"vFlip":88,"hFlip":88,"body":99},467,450,"\u003Cg fill=\"none\">\u003Cpath fill=\"currentColor\" d=\"M165.4 6.2a12.5 12.5 0 0 0-21.7 0L26.8 208h-.7a26.1 26.1 0 1 0 22.4 12.6l106-183.2 106.1 183.2a26.1 26.1 0 1 0 21.6-12.5L165.5 6.1Z\"\u002F>\u003Cpath fill=\"currentColor\" d=\"M453.8 328a12.5 12.5 0 0 0 10.9-18.8L348.4 107.1l.4-.6a26.1 26.1 0 1 0-22 13L432.1 303l-211.6.3a26.1 26.1 0 1 0 0 25l233.2-.3Z\"\u002F>\u003Cpath fill=\"currentColor\" d=\"M30 429.7a12.5 12.5 0 0 1 0-12.5l116.3-202.1-.3-.6a26.1 26.1 0 1 1 22 13L62.5 411l211.6.3a26.1 26.1 0 1 1 0 25.2v-.2L40.8 436c-4.5 0-8.6-2.3-10.8-6.2Z\"\u002F>\u003C\u002Fg>",{"left":86,"top":86,"width":87,"height":87,"rotate":86,"vFlip":88,"hFlip":88,"body":101},"\u003Cpath fill=\"currentColor\" d=\"M22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2zm-2 0l-8 5l-8-5zm0 12H4V8l8 5l8-5z\"\u002F>",{"left":86,"top":86,"width":87,"height":87,"rotate":86,"vFlip":88,"hFlip":88,"body":103},"\u003Cpath fill=\"currentColor\" d=\"M6.18 15.64a2.18 2.18 0 0 1 2.18 2.18C8.36 19 7.38 20 6.18 20C5 20 4 19 4 17.82a2.18 2.18 0 0 1 2.18-2.18M4 4.44A15.56 15.56 0 0 1 19.56 20h-2.83A12.73 12.73 0 0 0 4 7.27zm0 5.66a9.9 9.9 0 0 1 9.9 9.9h-2.83A7.07 7.07 0 0 0 4 12.93z\"\u002F>",{"id":105,"title":106,"artifacts":107,"body":108,"client":107,"description":114,"employer":126,"endDate":127,"extension":128,"headline":129,"meta":130,"navigation":131,"outcomes":132,"path":135,"resumeRole":136,"role":137,"scale":138,"seo":144,"slug":145,"startDate":146,"stem":147,"teamSize":107,"techStack":148,"tldr":153,"__hash__":154},"work\u002Fwork\u002Fkeiser-m3i.md","Keiser M3i",null,{"type":109,"value":110,"toc":121},"minimark",[111,115,118],[112,113,114],"p",{},"There was no off-the-shelf protocol that fit what the M3i needed: real-time telemetry from a room full of bikes to a single receiver. The contracting electrical engineer and I co-developed a custom broadcast-only Bluetooth protocol that used the three BT broadcast channels, capable of supporting up to 254 simultaneous bikes per class (256 minus reserved IDs). Built on custom Nordic NRF52 firmware initially. Later commoditized to off-the-shelf hardware sourced from China after iPhone iBeacon broadcasts started causing collisions in the original receivers.",[112,116,117],{},"The in-class projection system reads telemetry from every bike in the room and renders dials, leaderboards, and per-rider metrics on a projector or display. The consumer companion apps were a separate workstream: simple bike pairing, workout history, and stats sharing. They reached around 250,000 organic downloads without marketing spend, which surprised everyone.",[112,119,120],{},"Industry-partnership trainer apps followed: tools that let professional sports trainers walk a room and see live per-bike telemetry on their phones. The partnerships I worked through during this period spanned most of the Premier League, most of the Bundesliga, the Spanish soccer leagues, and the majority of US professional sports teams (with a few notable exceptions). The M3i itself eventually became the standard bike at LA Fitness and Orangetheory Fitness, and the bike of choice for most independent spin studios.",{"title":122,"searchDepth":123,"depth":124,"links":125},"",2,3,[],"Keiser Corporation","2018-12","md","Shipped Keiser's first Bluetooth-enabled indoor cycling bike, one of the earliest BLE consumer devices. 200,000+ units sold.",{},true,[133,134],"One of the earliest Bluetooth 4.0 (BLE) consumer devices on the market","Around 250,000 organic downloads of the consumer companion apps","\u002Fwork\u002Fkeiser-m3i","keiser-se","Software Engineer",[139,140,141,142,143],"200,000+ units sold","Class systems support up to 254 simultaneous bikes","Standard bike at LA Fitness and Orangetheory Fitness","Bike of choice for most independent spin studios","Best-selling indoor cycling bike in the world at peak",{"title":106,"description":114},"keiser-m3i","2013-01","work\u002Fkeiser-m3i",[149,150,151,152],"Bluetooth Low Energy","Custom broadcast protocol","Nordic NRF52 firmware","iOS, Android","I co-developed the broadcast Bluetooth protocol that powers the Keiser M3i indoor cycling bike, working alongside Keiser's contracting electrical engineer. The protocol uses the three Bluetooth broadcast channels to carry real-time telemetry from as many as 254 bikes in a single class. I also built the iOS and Android companion apps, which reached around a quarter million downloads without any marketing spend behind them.","0a7-kdF26kf1fj112taqI_NrX_gZV-IJ48TRI_CK2KU",1781203293701]