[{"data":1,"prerenderedAt":220},["ShallowReactive",2],{"work-\u002Fwork\u002F04-chatterr":3,"work-nav":49},{"id":4,"title":5,"blurb":6,"body":7,"chips":21,"client":30,"cover":31,"description":13,"extension":32,"goal":33,"intro":34,"meta":35,"navigation":36,"order":37,"path":38,"problem":39,"role":40,"sections":41,"seo":45,"stem":46,"year":47,"__hash__":48},"work\u002Fwork\u002F04-chatterr.md","Bringing review generation in-house","An NPS and review product running across every rooftop and Driveway, replacing a vendor that cost real money every month.",{"type":8,"value":9,"toc":17},"minimark",[10,14],[11,12,13],"p",{},"The product that shipped isn't the one I first drew. Reviews were the part the stores actually needed, so that's the part that got built.",[11,15,16],{},"An in-person, QR-code version is scoped and built, waiting on its production release.",{"title":18,"searchDepth":19,"depth":19,"links":20},"",2,[],[22,25,28,29],{"label":23,"tone":24},"Product design","accent",{"label":26,"tone":27},"Figma","warm","HTML","CSS","Chatterr","\u002Fimages\u002Fcover-chatterr.webp","md","Bring review generation in-house across every rooftop and Driveway, with a product a store team could actually run.","Chatterr is an NPS and review-generation product, live across Lithia & Driveway's retail rooftops and Driveway.",{},true,4,"\u002Fwork\u002F04-chatterr","Review generation was outsourced and generic, disconnected from the people walking through the door — and it cost real money every month.","Product & UX design",[42],{"eyebrow":43,"body":44},"Results","Bringing review generation in-house is projected to save $450K a year in vendor fees across every rooftop and Driveway.",{"title":5,"description":13},"work\u002F04-chatterr","2021—2026","ks9EpbN2JoeghN3WFMell36kDcnPQFGEoAAvpnMkXMM",[50,108,158,204],{"id":51,"title":52,"blurb":53,"body":54,"chips":61,"client":69,"cover":70,"description":58,"extension":32,"goal":71,"intro":72,"meta":73,"navigation":36,"order":74,"path":75,"problem":76,"role":77,"sections":78,"seo":105,"stem":106,"year":47,"__hash__":107},"work\u002Fwork\u002F02-odyssey.md","Lifecycle journeys that know who you are","Email, direct mail, SMS and display reading from one customer record — so the same person stops getting a different story on every channel.",{"type":8,"value":55,"toc":59},[56],[11,57,58],{},"Bringing this in-house meant owning the data model, not just the creative. That turned out to be the whole point.",{"title":18,"searchDepth":19,"depth":19,"links":60},[],[62,64,66,67,68],{"label":63,"tone":24},"Product dev",{"label":65,"tone":27},"SFMC","AMPScript","SSJS","SQL","Odyssey","\u002Fimages\u002Fcover-odyssey.webp","Engage customers through coordinated lifecycle journeys, built and governed in-house across 300+ locations.","Odyssey is a multi-channel customer lifecycle program: email, direct mail, SMS and online display, all driven off the same customer data record.",{},1,"\u002Fwork\u002F02-odyssey","Marketing spend was going out to external vendors and customer records were disjointed, so coordination was impossible.","Creative technologist",[79,84,89,95,100,103],{"eyebrow":80,"body":81,"media":82,"caption":83},"The journey","Every touch is triggered off vehicle ownership data rather than a calendar.","\u002Fimages\u002Fodyssey-email-flow.webp","Fig. 01 — the journey, end to end",{"eyebrow":85,"body":86,"media":87,"caption":88},"Email","Brand-aware templates assembled at send time with AMPScript.","\u002Fimages\u002Fodyssey-email-honda.png","Fig. 02 — dynamic template output",{"eyebrow":90,"body":91,"media":92,"ratio":93,"caption":94},"Direct mail","The same record drives the print run, so the mailer matches the inbox.","\u002Fimages\u002Fodyssey-directmail-toyota.jpg","16\u002F10","Fig. 03 — print, from the same data",{"eyebrow":96,"body":97,"media":98,"ratio":93,"caption":99},"Online display","Retargeting built from the same audience definitions, closing the loop.","\u002Fimages\u002Fodyssey-display-subaru.jpg","Fig. 04 — display",{"eyebrow":101,"body":102},"On-demand tools","Odyssey is also the name of the internal platform behind these journeys — a Vue app I built and host on Cloudflare. It gives the team no-code tools for the day-to-day work: the Newsletter Builder lets anyone assemble a send, preview it on desktop and mobile, test it, and schedule or deploy it, without touching a template.",{"eyebrow":43,"body":104},"Bringing Odyssey in-house cut roughly $7M a year in external spend. It now runs 20+ journeys per location and 30+ for Driveway, sending 160M+ communications a year across email, direct mail and SMS — at 99%+ delivery and a 3.2% average click rate.",{"title":52,"description":58},"work\u002F02-odyssey","owwIpgK-06otKUqHOr4DZ1Q3Hnpz71mwS0IWsSKdmXY",{"id":109,"title":110,"blurb":111,"body":112,"chips":119,"client":125,"cover":126,"description":116,"extension":32,"goal":127,"intro":128,"meta":129,"navigation":36,"order":19,"path":130,"problem":131,"role":132,"sections":133,"seo":154,"stem":155,"year":156,"__hash__":157},"work\u002Fwork\u002F01-lithia-driveway.md","Modernizing a 300-store web presence","Dozens of dealer sites, no shared system, and a growth plan that was not slowing down. We drew the map before touching a pixel.",{"type":8,"value":113,"toc":117},[114],[11,115,116],{},"The thing nobody wants to hear on an acquisition-driven roadmap is that the first deliverable is a document. We wrote it anyway, and it is the reason the templates held.",{"title":18,"searchDepth":19,"depth":19,"links":118},[],[120,122,124,28,29],{"label":121,"tone":24},"Creative lead",{"label":123,"tone":24},"UX",{"label":26,"tone":27},"Lithia & Driveway","\u002Fimages\u002Fcover-lad.webp","Improve the experience across the whole web ecosystem with a documented, reusable system any team could build against.","Lithia & Driveway is one of the largest providers of personal transportation solutions in the United States. Growth through acquisition left the company with a sprawl of inconsistent websites and nothing written down.",{},"\u002Fwork\u002F01-lithia-driveway","Sites were built with little planning, so usability suffered. Every brand looked and behaved differently, and no team could tell you why.","Creative & technical lead",[134,139,144,149],{"eyebrow":135,"body":136,"media":137,"caption":138},"Information architecture","Before a single pixel moved, we mapped the ecosystem so every team could see what existed and where it belonged.","\u002Fimages\u002Flad-sitemap.webp","Fig. 01 — the ecosystem, mapped",{"eyebrow":140,"body":141,"media":142,"ratio":93,"caption":143},"Desktop","One grid, one type system, and templates that survive contact with dozens of dealer brands.","\u002Fimages\u002Flad-desktop-1.webp","Fig. 02 — the core template",{"eyebrow":145,"body":146,"media":147,"ratio":93,"caption":148},"Templates in use","The same components, restyled per brand without forking the layout.","\u002Fimages\u002Flad-desktop-2.webp","Fig. 03 — one kit, many brands",{"eyebrow":150,"body":151,"media":152,"caption":153},"Mobile","Most of the traffic is on a phone, so the phone layout was the one that had to be right first.","\u002Fimages\u002Flad-mobile-1.webp","Fig. 04 — mobile first, genuinely",{"title":110,"description":116},"work\u002F01-lithia-driveway","2022—2024","WAM_dr6Q-vM1P-UjPNusxVBEObYuQDk_C_asc1CAJy4",{"id":159,"title":160,"blurb":161,"body":162,"chips":169,"client":174,"cover":175,"description":166,"extension":32,"goal":176,"intro":177,"meta":178,"navigation":36,"order":179,"path":180,"problem":181,"role":132,"sections":182,"seo":200,"stem":201,"year":202,"__hash__":203},"work\u002Fwork\u002F03-greencars.md","Standing up GreenCars from nothing","A brand new property with no audience and no pipeline. I built the newsletter, the preference center and the feed that keeps them fed.",{"type":8,"value":163,"toc":167},[164],[11,165,166],{},"Launching a property with no list is mostly an exercise in building the machine before you have anything to put through it.",{"title":18,"searchDepth":19,"depth":19,"links":168},[],[170,172,173,68],{"label":171,"tone":24},"Martech",{"label":65,"tone":27},"XML","GreenCars","\u002Fimages\u002Fcover-greencars.webp","Build the acquisition and retention machinery: newsletter, preference center and an automated content feed.","GreenCars.com was launched to get the company ahead of the sustainable vehicle market.",{},3,"\u002Fwork\u002F03-greencars","A new property with no audience, no data pipeline and no sustainable way to keep content fresh.",[183,188,193,198],{"eyebrow":184,"body":185,"media":186,"caption":187},"Newsletter","Built with the Newsletter Builder inside Odyssey, the internal Vue tool I built and host on Cloudflare. The send comes together from the latest articles without anyone touching HTML, and it's scheduled and deployed from the same screen.","\u002Fimages\u002Fgreencars-newsletter.webp","Fig. 01 — automated weekly send",{"eyebrow":189,"body":190,"media":191,"caption":192},"Preference center","Letting people choose what they hear about beats guessing, and it keeps the list healthy.","\u002Fimages\u002Fgreencars-preference-center.webp","Fig. 02 — preference center",{"eyebrow":194,"body":195,"media":196,"caption":197},"Content feed","An XML feed makes the CMS the single source of truth for every send.","\u002Fimages\u002Fgreencars-xml.webp","Fig. 03 — the feed",{"eyebrow":43,"body":199},"The Newsletter Builder alone saves the team more than 40 hours a month that used to go into manual assembly.",{"title":160,"description":166},"work\u002F03-greencars","2022","4gaSk374CsL4DkVKkEYsYwaG3CXIpoWg8k5UphknUMw",{"id":4,"title":5,"blurb":6,"body":205,"chips":213,"client":30,"cover":31,"description":13,"extension":32,"goal":33,"intro":34,"meta":216,"navigation":36,"order":37,"path":38,"problem":39,"role":40,"sections":217,"seo":219,"stem":46,"year":47,"__hash__":48},{"type":8,"value":206,"toc":211},[207,209],[11,208,13],{},[11,210,16],{},{"title":18,"searchDepth":19,"depth":19,"links":212},[],[214,215,28,29],{"label":23,"tone":24},{"label":26,"tone":27},{},[218],{"eyebrow":43,"body":44},{"title":5,"description":13},1791349983561]