[{"data":1,"prerenderedAt":277},["ShallowReactive",2],{"projects-index":3,"project-orbit-app":245},[4,83,135,192],{"id":5,"title":6,"body":7,"color":64,"date":65,"description":66,"extension":67,"location":68,"marker":71,"meta":72,"navigation":73,"order":74,"path":75,"seo":76,"stem":77,"tags":78,"__hash__":82},"projects\u002Fprojects\u002Ftranquility-coffee.md","Sea of Tranquility Coffee",{"type":8,"value":9,"toc":57},"minimark",[10,15,24,28,44,48,51],[11,12,14],"h2",{"id":13},"the-mission","The mission",[16,17,18,19,23],"p",{},"Sea of Tranquility is a small-batch roaster from Rotterdam that wanted to stop looking like every other kraft-paper coffee brand. We landed on a visual identity built around ",[20,21,22],"em",{},"quiet vastness"," — deep night blues, a custom wordmark with exaggerated apertures, and illustrated lunar maps replacing the usual origin-story clichés.",[11,25,27],{"id":26},"what-i-did","What I did",[29,30,31,35,38,41],"ul",{},[32,33,34],"li",{},"Naming refinement and verbal identity",[32,36,37],{},"Wordmark and logo system",[32,39,40],{},"Packaging for three roast lines (Mare, Crater, Highlands)",[32,42,43],{},"Art direction for launch photography",[11,45,47],{"id":46},"the-outcome","The outcome",[16,49,50],{},"The rebrand launched with the opening of their second café. Shelf recognition tests with their distributor went from \"somewhere in the middle\" to first-picked in 7 of 10 sessions, and the Mare line sold out its first run in three weeks.",[52,53,54],"blockquote",{},[16,55,56],{},"\"It finally looks like the coffee tastes.\" — founder, Sea of Tranquility",{"title":58,"searchDepth":59,"depth":59,"links":60},"",2,[61,62,63],{"id":13,"depth":59,"text":14},{"id":26,"depth":59,"text":27},{"id":46,"depth":59,"text":47},"#f4a259","2025-11","Brand identity for a specialty roaster with its head in the stars.","md",{"lat":69,"lon":70},16,46,"flag",{},true,1,"\u002Fprojects\u002Ftranquility-coffee",{"title":6,"description":66},"projects\u002Ftranquility-coffee",[79,80,81],"branding","packaging","art direction","T0Y5njH4MyBt84hsk9t07iCmylg79vc1xyMcjT12fpM",{"id":84,"title":85,"body":86,"color":119,"date":120,"description":121,"extension":67,"location":122,"marker":125,"meta":126,"navigation":73,"order":59,"path":127,"seo":128,"stem":129,"tags":130,"__hash__":134},"projects\u002Fprojects\u002Forbit-app.md","Orbit — Habit Tracker",{"type":8,"value":87,"toc":114},[88,90,93,95,109,111],[11,89,14],{"id":13},[16,91,92],{},"Orbit approached me with a working prototype and a problem: retention cliffed after day four. Habit apps guilt-trip; Orbit wanted to feel like tending a small solar system instead. Each habit is a planet, consistency keeps it in stable orbit, and lapses send it drifting — recoverable, never punished.",[11,94,27],{"id":26},[29,96,97,100,103,106],{},[32,98,99],{},"Full UX rework of onboarding, tracking and review loops",[32,101,102],{},"Visual design system (dark-sky palette, orbital motion language)",[32,104,105],{},"Micro-interaction and haptics spec for the \"stabilize\" gesture",[32,107,108],{},"Design tokens and handoff for the iOS\u002FAndroid teams",[11,110,47],{"id":46},[16,112,113],{},"The redesign shipped in v2.0. Day-seven retention improved 38%, and the App Store feature \"Apps We Love\" followed a month later. The orbital review screen became the most-shared screenshot in the app's history.",{"title":58,"searchDepth":59,"depth":59,"links":115},[116,117,118],{"id":13,"depth":59,"text":14},{"id":26,"depth":59,"text":27},{"id":46,"depth":59,"text":47},"#7ab8f5","2025-06","Product design for a habit-tracking app where your routines are planets in orbit.",{"lat":123,"lon":124},-24,118,"dome",{},"\u002Fprojects\u002Forbit-app",{"title":85,"description":121},"projects\u002Forbit-app",[131,132,133],"product design","ui\u002Fux","mobile","iIADzkESLuKGz6SWpuQEXKXyippBomF7XPIOsBZqFos",{"id":136,"title":137,"body":138,"color":176,"date":177,"description":178,"extension":67,"location":179,"marker":182,"meta":183,"navigation":73,"order":184,"path":185,"seo":186,"stem":187,"tags":188,"__hash__":191},"projects\u002Fprojects\u002Fgravity-grotesk.md","Gravity Grotesk",{"type":8,"value":139,"toc":171},[140,142,145,147,166,168],[11,141,14],{"id":13},[16,143,144],{},"Gravity Grotesk started as a lettering experiment: what if a typeface's personality was tied to its weight the way movement is tied to gravity? The Black weight is planted — tight apertures, low contrast, feet on the ground. As the weights descend to Thin, letterforms open up, terminals lift, and the whole system gets progressively more weightless.",[11,146,27],{"id":26},[29,148,149,152,155,163],{},[32,150,151],{},"Six weights plus italics, 1,200+ glyphs per style",[32,153,154],{},"Extended Latin coverage for 90+ languages",[32,156,157,158,162],{},"Variable font with a custom ",[159,160,161],"code",{},"GRAV"," axis linking weight to aperture",[32,164,165],{},"Specimen site design and type-tester",[11,167,47],{"id":46},[16,169,170],{},"Released through my own foundry label. Licensed by two festivals and a fintech in its first quarter, and picked as one of Typewolf's \"Favorite Typefaces of the Year.\"",{"title":58,"searchDepth":59,"depth":59,"links":172},[173,174,175],{"id":13,"depth":59,"text":14},{"id":26,"depth":59,"text":27},{"id":46,"depth":59,"text":47},"#e8e6e0","2024-10","A six-weight grotesque typeface that gets looser as it gets lighter.",{"lat":180,"lon":181},34,-63,"outpost",{},3,"\u002Fprojects\u002Fgravity-grotesk",{"title":137,"description":178},"projects\u002Fgravity-grotesk",[189,190],"type design","retail typeface","oZLDcfQYvCOu33__1BfAETibHwzWV6jlU6rOGDjBQC0",{"id":193,"title":194,"body":195,"color":228,"date":229,"description":230,"extension":67,"location":231,"marker":234,"meta":235,"navigation":73,"order":236,"path":237,"seo":238,"stem":239,"tags":240,"__hash__":244},"projects\u002Fprojects\u002Feclipse-festival.md","Eclipse Festival 2025",{"type":8,"value":196,"toc":223},[197,199,202,204,218,220],[11,198,14],{"id":13},[16,200,201],{},"A three-night electronic music festival programmed around a total lunar eclipse needed an identity that could count down. The system is built on a single circle that occludes progressively across every touchpoint — posters, wristbands, stage visuals — reaching totality on the final night.",[11,203,27],{"id":26},[29,205,206,209,212,215],{},[32,207,208],{},"Festival identity and eclipse-phase design system",[32,210,211],{},"Poster series (six phases, screen-printed run of 300)",[32,213,214],{},"Motion package for stage screens and socials",[32,216,217],{},"Wayfinding and merch",[11,219,47],{"id":46},[16,221,222],{},"The phase-poster series sold out before the festival ended and the identity took a bronze at the European Design Awards. The organizers booked the next edition on the spot — for the 2028 eclipse.",{"title":58,"searchDepth":59,"depth":59,"links":224},[225,226,227],{"id":13,"depth":59,"text":14},{"id":26,"depth":59,"text":27},{"id":46,"depth":59,"text":47},"#b287f0","2025-03","Identity and poster campaign for a music festival timed to a total lunar eclipse.",{"lat":232,"lon":233},-12,-132,"dish",{},4,"\u002Fprojects\u002Feclipse-festival",{"title":194,"description":230},"projects\u002Feclipse-festival",[241,242,243],"identity","poster","motion","JjOqo96yrBTNqdrEM0wUkMlnKP7qfyqZ52ZF2TJJmaQ",{"id":84,"title":85,"body":246,"color":119,"date":120,"description":121,"extension":67,"location":273,"marker":125,"meta":274,"navigation":73,"order":59,"path":127,"seo":275,"stem":129,"tags":276,"__hash__":134},{"type":8,"value":247,"toc":268},[248,250,252,254,264,266],[11,249,14],{"id":13},[16,251,92],{},[11,253,27],{"id":26},[29,255,256,258,260,262],{},[32,257,99],{},[32,259,102],{},[32,261,105],{},[32,263,108],{},[11,265,47],{"id":46},[16,267,113],{},{"title":58,"searchDepth":59,"depth":59,"links":269},[270,271,272],{"id":13,"depth":59,"text":14},{"id":26,"depth":59,"text":27},{"id":46,"depth":59,"text":47},{"lat":123,"lon":124},{},{"title":85,"description":121},[131,132,133],1783604612765]