[{"data":1,"prerenderedAt":143},["ShallowReactive",2],{"current-project":3,"projects":69},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"slug":10,"client":11,"category":12,"thumbnail":13,"thumbnailVideo":14,"thumbnailRatio":15,"disciplines":16,"year":17,"cycler":18,"order":19,"blocks":20,"body":57,"_type":63,"_id":64,"_source":65,"_file":66,"_stem":67,"_extension":68},"\u002Fprojects\u002Faaa","projects",false,"","AAA","Live visuals performed alongside Kindohm at Algorithmic Art Assembly","aaa","Algorithmic Art Assembly","personal","\u002Fassets\u002Fimages\u002Faaa-thumbnail.jpg","\u002Fassets\u002Fimages\u002Faaa.mp4","16\u002F9","Creative Coding, Live Visuals",2026,true,0,[21,24,27,31,33,35,37,39,41,43,45,47,49,51,53,55],{"type":22,"src":14,"width":23},"video","full",{"type":25,"body":26,"width":23},"text","Live visuals performed alongside [Kindohm](https:\u002F\u002Fkindohm.com) at [Algorithmic Art Assembly](https:\u002F\u002Faaassembly.org\u002F) in San Francisco. The system is a custom GLSL renderer driven by audio analysis, kinetic typography that reacts to kick, bass, and percussion hits. A custom Python script bridges a monome grid to TouchDesigner via OSC, giving real-time access to scenes, switch layers, and layout parameters, with all changes quantized to the beat so nothing lands off-time.",{"type":28,"src":29,"width":30},"image","\u002Fassets\u002Fimages\u002Faaa01.jpg","half",{"type":28,"src":32,"width":30},"\u002Fassets\u002Fimages\u002Faaa02.jpg",{"type":28,"src":34,"width":30},"\u002Fassets\u002Fimages\u002Faaa03.jpg",{"type":28,"src":36,"width":30},"\u002Fassets\u002Fimages\u002Faaa04.jpg",{"type":28,"src":38,"width":30},"\u002Fassets\u002Fimages\u002Faaa05.jpg",{"type":28,"src":40,"width":30},"\u002Fassets\u002Fimages\u002Faaa06.jpg",{"type":28,"src":42,"width":30},"\u002Fassets\u002Fimages\u002Faaa07.jpg",{"type":28,"src":44,"width":30},"\u002Fassets\u002Fimages\u002Faaa08.jpg",{"type":28,"src":46,"width":30},"\u002Fassets\u002Fimages\u002Faaa09.jpg",{"type":28,"src":48,"width":30},"\u002Fassets\u002Fimages\u002Faaa11.jpg",{"type":28,"src":50,"width":30},"\u002Fassets\u002Fimages\u002Faaa12.jpg",{"type":28,"src":52,"width":30},"\u002Fassets\u002Fimages\u002Faaa10.jpg",{"type":28,"src":54,"width":23},"\u002Fassets\u002Fimages\u002Faaa-photo.png",{"type":28,"src":56,"width":23},"\u002Fassets\u002Fimages\u002Faaa-network.png",{"type":58,"children":59,"toc":60},"root",[],{"title":7,"searchDepth":61,"depth":61,"links":62},2,[],"markdown","content:projects:aaa.md","content","projects\u002Faaa.md","projects\u002Faaa","md",[70,71,81,90,101,110,119,126,136],{"title":8,"description":9,"slug":10,"client":11,"thumbnail":13,"thumbnailVideo":14,"thumbnailRatio":15,"disciplines":16,"year":17,"order":19},{"title":72,"description":73,"slug":74,"client":75,"thumbnail":76,"thumbnailRatio":77,"disciplines":78,"year":79,"order":80},"Variadic Daemon","Vinyl packaging for Kindohm's self-released record","variadicdaemon","Personal Work","\u002Fassets\u002Fimages\u002Fvariadicdaemon04.jpg","1\u002F1","3D Art, Design",2025,1,{"title":82,"description":83,"slug":84,"client":85,"thumbnail":86,"thumbnailRatio":87,"disciplines":88,"year":89,"order":61},"Amazon Beyond Shops","Virtual shopping experiences for Amazon.com","amazonbeyondshops","Amazon","\u002Fassets\u002Fimages\u002Ftoys01.jpg","2534\u002F1169","3D Art, Art Direction, Motion Design","2024–2025",{"title":91,"description":92,"slug":93,"client":94,"thumbnail":95,"thumbnailVideo":96,"thumbnailRatio":97,"disciplines":98,"year":99,"order":100},"Modal","Motion system for Modal's rebrand, built in Blender geometry nodes","modal","Landscape","\u002Fassets\u002Fimages\u002Fmodal1-poster.jpg","\u002Fassets\u002Fimages\u002Fmodal1.mp4","2820\u002F1880","3D Art, Motion Design",2024,3,{"title":102,"description":103,"slug":104,"client":105,"thumbnail":106,"thumbnailRatio":107,"disciplines":108,"year":99,"order":109},"Oku","Renderings for NRD's modern 65% keyboard","oku","NRD","\u002Fassets\u002Fimages\u002Foku01.jpg","3\u002F2","3D Art, Art Direction",4,{"title":111,"description":112,"slug":113,"client":75,"thumbnail":114,"thumbnailRatio":115,"disciplines":116,"year":117,"order":118},"Airbrush","Renders and video for Kindohm's GET, modelled after an Iwata airbrush","airbrush","\u002Fassets\u002Fimages\u002Fairbrush05.jpg","4\u002F5","3D Art, Motion Design, Art Direction",2023,5,{"title":120,"description":121,"slug":122,"client":94,"thumbnail":123,"thumbnailVideo":124,"thumbnailRatio":77,"disciplines":98,"year":117,"order":125},"Off Leash","Identity for OFF LEASH, DOG's first-year programming show","dog","\u002Fassets\u002Fimages\u002Fdog00.jpg","\u002Fassets\u002Fimages\u002Fdog01.mp4",6,{"title":127,"description":128,"slug":129,"client":130,"thumbnail":131,"thumbnailVideo":132,"thumbnailRatio":133,"disciplines":98,"year":134,"order":135},"Keeps","Renderings for Keeps' packaging system","keeps","Parker","\u002Fassets\u002Fimages\u002Fkeeps01.jpg","\u002Fassets\u002Fimages\u002Fkeeps00.mp4","4\u002F3",2022,7,{"title":137,"description":138,"slug":139,"client":75,"thumbnail":140,"thumbnailVideo":141,"thumbnailRatio":15,"disciplines":98,"year":134,"order":142},"Bloom","VEX-driven flowering setup, completed through Rich Nosworthy's In Bloom course","bloom","\u002Fassets\u002Fimages\u002Fbloom04.jpg","\u002Fassets\u002Fimages\u002Fbloom00.mp4",8,1779599089953]