[{"data":1,"prerenderedAt":406},["ShallowReactive",2],{"navigation":3,"work-page":35,"work":45,"\u002Fwork\u002Ffocal-grid":374,"\u002Fwork\u002Ffocal-grid-surround":403},[4,14],{"title":5,"path":6,"stem":7,"children":8,"page":13},"Blog","\u002Fblog","blog",[9],{"title":10,"path":11,"stem":12},"GSoC 2026: a Hopeful Rejection","\u002Fblog\u002Fgsoc-2026-a-hopeful-rejection","blog\u002Fgsoc-2026-a-hopeful-rejection",false,{"title":15,"path":16,"stem":17,"children":18,"page":13},"Work","\u002Fwork","work",[19,23,27,31],{"title":20,"path":21,"stem":22},"CFU Bench","\u002Fwork\u002Fcfu-bench","work\u002Fcfu-bench",{"title":24,"path":25,"stem":26},"Focal Grid","\u002Fwork\u002Ffocal-grid","work\u002Ffocal-grid",{"title":28,"path":29,"stem":30},"Pico Router","\u002Fwork\u002Fpico-router","work\u002Fpico-router",{"title":32,"path":33,"stem":34},"Valhalla","\u002Fwork\u002Fvalhalla","work\u002Fvalhalla",{"id":36,"title":37,"body":38,"description":39,"extension":40,"links":38,"meta":41,"navigation":42,"path":16,"seo":43,"stem":17,"__hash__":44},"pages\u002Fwork.yml","Get to know me through some of my work",null,"I've worked on a variety of work, focusing on creating intuitive digital experiences where thoughtful design meets clean code. Here are some highlights I'm proud of, showcasing my process from concept to execution.","yml",{},true,{"title":37,"description":39},"GCJG86EiY769qgGQcW38PXlZnBOk_PXSAvub9P1KS9Y",[46,105,148,331],{"id":47,"title":20,"body":48,"color":91,"date":92,"description":93,"extension":94,"image":95,"meta":96,"navigation":42,"oneliner":97,"path":21,"seo":98,"stem":22,"tags":99,"url":103,"__hash__":104},"work\u002Fwork\u002Fcfu-bench.md",{"type":49,"value":50,"toc":84},"minimark",[51,56,60,64,77,81],[52,53,55],"h2",{"id":54},"challenge","Challenge",[57,58,59],"p",{},"Wavelength needed a product feel that matched the personality of music discovery. The challenge was balancing strong visual identity with a playback experience that stayed fast and intuitive.",[52,61,63],{"id":62},"approach","Approach",[65,66,67,71,74],"ul",{},[68,69,70],"li",{},"Focused the home experience on discovery and mood rather than raw catalog depth.",[68,72,73],{},"Added subtle motion and audio-reactive moments to make the interface feel alive.",[68,75,76],{},"Kept the player accessible and predictable so the expressive visuals never got in the way.",[52,78,80],{"id":79},"outcome","Outcome",[57,82,83],{},"The final experience felt distinctive without becoming noisy. It gave the service a memorable identity while keeping listening and browsing friction low.",{"title":85,"searchDepth":86,"depth":86,"links":87},"",2,[88,89,90],{"id":54,"depth":86,"text":55},{"id":62,"depth":86,"text":63},{"id":79,"depth":86,"text":80},"#FF6C3A","2026-07-01","Designed and developed the user interface for an indie music streaming service, focusing on discovery features and creating a unique, engaging listening experience using custom audio visualizations.","md","https:\u002F\u002Fblogger.googleusercontent.com\u002Fimg\u002Fa\u002FAVvXsEivil3F4Tap0HcA2ne4dmwdBcGPT1crhawsthfhCVe9djdJ140SbNG4VnxOI9HK2q_A1DBq7Fkhx4ycNW4L1SjutP3orYEyHwo-i9QDlwkDqQBH1dELUWj_HV_j55JS_9Da3mPzq-MnnYp_eVo-iDq2boK_U_n7aSMO0AGC6syR3Byjg-iubC_AbV4V=s16000",{},"FPGA Accelerator",{"title":20,"description":93},[100,101,102],"UI Design","Front-End Dev","Animation","#","27ZZ4UCpcA2RMSSgX-mTbvFYyAhXKu5XhuT8m__Ulgw",{"id":106,"title":28,"body":107,"color":137,"date":138,"description":139,"extension":94,"image":140,"meta":141,"navigation":42,"oneliner":142,"path":29,"seo":143,"stem":30,"tags":144,"url":103,"__hash__":147},"work\u002Fwork\u002Fpico-router.md",{"type":49,"value":108,"toc":132},[109,111,114,116,127,129],[52,110,55],{"id":54},[57,112,113],{},"Bloom had strong business goals, but the experience was overwhelming for first-time users. The dashboard surfaced too much information at once, which made it hard to trust the platform.",[52,115,63],{"id":62},[65,117,118,121,124],{},[68,119,120],{},"Reworked onboarding to focus on one decision at a time.",[68,122,123],{},"Redesigned the data views around clearer comparison states and more legible charting.",[68,125,126],{},"Tightened the visual system so the product felt calmer and more premium.",[52,128,80],{"id":79},[57,130,131],{},"The redesign made the app feel far more approachable and easier to act on. Users could understand their finances faster, which translated into better retention and a cleaner support experience.",{"title":85,"searchDepth":86,"depth":86,"links":133},[134,135,136],{"id":54,"depth":86,"text":55},{"id":62,"depth":86,"text":63},{"id":79,"depth":86,"text":80},"#FF4B84","2026-05-01","Led the complete UX\u002FUI overhaul and front-end implementation for a personal finance platform, focusing on data visualization clarity and improving user onboarding flow. Resulted in a 32% increase in user retention.","https:\u002F\u002Fstatic0.xdaimages.com\u002Fwordpress\u002Fwp-content\u002Fuploads\u002F2024\u002F11\u002Fraspberry-pi-pico-2-w-featured.png?w=1200&h=628&fit=crop",{},"Navigation Firmware",{"title":28,"description":139},[145,100,146],"UX Design","Fintech","VzlszXz2_IgybTyoAFNaMYsPbBNLbeH5DazRu1mUJJQ",{"id":149,"title":32,"body":150,"color":317,"date":318,"description":319,"extension":94,"image":320,"meta":321,"navigation":42,"oneliner":322,"path":33,"seo":323,"stem":34,"tags":324,"url":103,"__hash__":330},"work\u002Fwork\u002Fvalhalla.md",{"type":49,"value":151,"toc":294},[152,157,161,166,169,173,178,182,185,189,192,194,197,225,228,230,234,237,239,242,258,261,263,267,270,272,275,289,292],[153,154],"table-of-contents",{":title":155,":max-depth":156},"CONTRIBUTIONS","2",[52,158,160],{"id":159},"segfault-bug-fix","Segfault Bug Fix",[162,163,165],"h3",{"id":164},"tldr","TL;DR",[57,167,168],{},"Add TL;DR...",[162,170,172],{"id":171},"relevant-links","Relevant Links",[65,174,175],{},[68,176,177],{},"Nothing yet...",[162,179,181],{"id":180},"breakdown","Breakdown",[57,183,184],{},"Add outcome...",[52,186,188],{"id":187},"python-openlr-module","Python OpenLR Module",[162,190,165],{"id":191},"tldr-1",[57,193,168],{},[162,195,172],{"id":196},"relevant-links-1",[65,198,199,209,217],{},[68,200,201,202],{},"Discussion: ",[203,204,208],"a",{"href":205,"rel":206},"https:\u002F\u002Fgithub.com\u002Fvalhalla\u002Fvalhalla\u002Fdiscussions\u002F6035",[207],"nofollow","Python bindings for OpenLR #6035",[68,210,211,212],{},"Issue: ",[203,213,216],{"href":214,"rel":215},"https:\u002F\u002Fgithub.com\u002Fvalhalla\u002Fvalhalla\u002Fissues\u002F6037",[207],"OpenLR Python bindings #6037",[68,218,219,220],{},"Pull Request: ",[203,221,224],{"href":222,"rel":223},"https:\u002F\u002Fgithub.com\u002Fvalhalla\u002Fvalhalla\u002Fpull\u002F6087",[207],"feat: openlr python bindings #6087",[162,226,181],{"id":227},"breakdown-1",[57,229,184],{},[52,231,233],{"id":232},"python-bindging-restructuring","Python Bindging Restructuring",[162,235,165],{"id":236},"tldr-2",[57,238,168],{},[162,240,172],{"id":241},"relevant-links-2",[65,243,244,251],{},[68,245,201,246],{},[203,247,250],{"href":248,"rel":249},"https:\u002F\u002Fgithub.com\u002Fvalhalla\u002Fvalhalla\u002Fdiscussions\u002F6096#discussioncomment-17225673",[207],"re-design python binding structure #6096",[68,252,219,253],{},[203,254,257],{"href":255,"rel":256},"https:\u002F\u002Fgithub.com\u002Fvalhalla\u002Fvalhalla\u002Fpull\u002F6133",[207],"BREAKING(python): change layout of bindings, no signature change #6133",[162,259,181],{"id":260},"breakdown-2",[57,262,184],{},[52,264,266],{"id":265},"docker-version-logging","Docker Version Logging",[162,268,165],{"id":269},"tldr-3",[57,271,168],{},[162,273,172],{"id":274},"relevant-links-3",[65,276,277,282],{},[68,278,201,279],{},[203,280,250],{"href":248,"rel":281},[207],[68,283,219,284],{},[203,285,288],{"href":286,"rel":287},"https:\u002F\u002Fgithub.com\u002Fvalhalla\u002Fvalhalla\u002Fissues\u002F5721",[207],"Include Valhalla version in Docker container startup logs #5721",[162,290,181],{"id":291},"breakdown-3",[57,293,184],{},{"title":85,"searchDepth":86,"depth":86,"links":295},[296,302,307,312],{"id":159,"depth":86,"text":160,"children":297},[298,300,301],{"id":164,"depth":299,"text":165},3,{"id":171,"depth":299,"text":172},{"id":180,"depth":299,"text":181},{"id":187,"depth":86,"text":188,"children":303},[304,305,306],{"id":191,"depth":299,"text":165},{"id":196,"depth":299,"text":172},{"id":227,"depth":299,"text":181},{"id":232,"depth":86,"text":233,"children":308},[309,310,311],{"id":236,"depth":299,"text":165},{"id":241,"depth":299,"text":172},{"id":260,"depth":299,"text":181},{"id":265,"depth":86,"text":266,"children":313},[314,315,316],{"id":269,"depth":299,"text":165},{"id":274,"depth":299,"text":172},{"id":291,"depth":299,"text":181},"#64748B","2026-02-01","Valhalla is a high-performance open-source routing engine built on OpenStreetMap data. My contributions are focused on Python interoperability, OpenLR support, developer experience, and infrastructure improvements.","https:\u002F\u002Fvalhalla.github.io\u002Fvalhalla\u002Fapi\u002Fimages\u002Fisochrone.png",{},"OSM Routing Engine",{"title":32,"description":319},[325,326,327,328,329],"OSM","GIS","Routing Engine","C++","Python","z-k0gvkfuQZFb2KHYiAIwSSud7axnUQzMaqCvfKulQk",{"id":332,"title":24,"body":333,"color":363,"date":364,"description":365,"extension":94,"image":366,"meta":367,"navigation":42,"oneliner":368,"path":25,"seo":369,"stem":26,"tags":370,"url":103,"__hash__":373},"work\u002Fwork\u002Ffocal-grid.md",{"type":49,"value":334,"toc":358},[335,337,340,342,353,355],[52,336,55],{"id":54},[57,338,339],{},"EcoTrack needed to make environmental impact feel tangible. The original product had plenty of data, but very little clarity or momentum for users who wanted to build better habits.",[52,341,63],{"id":62},[65,343,344,347,350],{},[68,345,346],{},"Simplified the dashboard into a small set of high-signal metrics.",[68,348,349],{},"Introduced progress states and gentle nudges to encourage repeat use.",[68,351,352],{},"Used more visual hierarchy so users could understand their footprint at a glance.",[52,354,80],{"id":79},[57,356,357],{},"The redesigned experience turned a dense reporting tool into something people could actually return to every day. The product felt less like a spreadsheet and more like a supportive guide.",{"title":85,"searchDepth":86,"depth":86,"links":359},[360,361,362],{"id":54,"depth":86,"text":55},{"id":62,"depth":86,"text":63},{"id":79,"depth":86,"text":80},"#137E6E","2025-10-01","Created a mobile-first application to help users track and reduce their environmental impact. Translated complex sustainability metrics into an accessible and motivating user interface.","content\u002Ffocal-grid-banner.png",{},"Full-Stack GIS App",{"title":24,"description":365},[371,100,372],"UX Research","Mobile App","-ko7lqyDFpnf28a6CnlnUiP9Z07qdRYSVlHiYTfXT6s",{"id":332,"title":24,"body":375,"color":363,"date":364,"description":365,"extension":94,"image":366,"meta":400,"navigation":42,"oneliner":368,"path":25,"seo":401,"stem":26,"tags":402,"url":103,"__hash__":373},{"type":49,"value":376,"toc":395},[377,379,381,383,391,393],[52,378,55],{"id":54},[57,380,339],{},[52,382,63],{"id":62},[65,384,385,387,389],{},[68,386,346],{},[68,388,349],{},[68,390,352],{},[52,392,80],{"id":79},[57,394,357],{},{"title":85,"searchDepth":86,"depth":86,"links":396},[397,398,399],{"id":54,"depth":86,"text":55},{"id":62,"depth":86,"text":63},{"id":79,"depth":86,"text":80},{},{"title":24,"description":365},[371,100,372],[404,405],{"title":20,"path":21,"stem":22,"description":93,"children":-1},{"title":28,"path":29,"stem":30,"description":139,"children":-1},1782249099790]