[{"data":1,"prerenderedAt":185},["ShallowReactive",2],{"portfolio-game-design":3},{"variant":4,"profile":29,"experience":57,"projects":58,"skills":145,"generatedAt":184},{"key":5,"label":6,"headline":7,"tagline":8,"heroHeading":9,"heroSub":10,"accent":11,"sectionOrder":12,"featuredTags":17,"projectGroups":19,"projectsHeading":25,"resumeUrl":26,"ctaPrimary":27,"aboutHtml":28},"game-design","Games","Game Designer","Game designer and developer. Gameplay systems, clean architecture, hand-made art.","I design, code, and paint games end to end.","I bring production engineering to gameplay and systems, and I make the art myself.","accent-2",[13,14,15,16],"hero","about","projects","skills",[18],"game-dev",[20,22],{"type":21,"label":6},"game",{"type":23,"label":24},"app","Tools & AI","Games + Projects","\u002Fresume\u002Fgames.pdf","Play the games","\u003Cp>I’m a game designer and developer who ships small, complete games end to end. I bring production engineering discipline to them: data-driven tuning, clean event buses, and architecture that holds up under pressure.\u003C\u002Fp>\n\u003Cp>Spare Knight is a tactical roguelike with speed-based initiative on an isometric grid, souls-like timing reactions, and a hand-painted look I made in Krita. I Won’t Be Abducted is a tabletop-defense game in Godot, built on data-driven resources and a signal bus, with a twist that reframes the whole game in its last beat.\u003C\u002Fp>\n\u003Cp>I’m most interested in work where games and AI meet.\u003C\u002Fp>\n",{"name":30,"headline":31,"location":32,"email":33,"site":34,"socials":35,"bioHtml":56},"Christian D'Albano","Software Engineer","Orlando, FL","chrisdalbano12@gmail.com","chrisdalbano.com",[36,40,44,48,52],{"label":37,"url":38,"icon":39},"GitHub","https:\u002F\u002Fgithub.com\u002Fchrisdalbano","github",{"label":41,"url":42,"icon":43},"LinkedIn","https:\u002F\u002Flinkedin.com\u002Fin\u002Fchrisdalb","linkedin",{"label":45,"url":46,"icon":47},"itch.io","https:\u002F\u002Fchrisdbgames.itch.io","itch",{"label":49,"url":50,"icon":51},"Wavedash","https:\u002F\u002Fwavedash.com\u002Fchrisdalbano12","waves",{"label":53,"url":54,"icon":55},"Email","mailto:chrisdalbano12@gmail.com","mail","\u003Cp>Software engineer in Orlando. I build production web apps, platform integrations, and applied-AI tools. On the side I ship small games.\u003C\u002Fp>\n",[],[59,80,95,114,128],{"slug":60,"name":61,"blurb":62,"url":63,"repo":64,"type":23,"tags":65,"variants":73,"featured":75,"order":76,"cover":77,"wavedash":64,"engine":64,"jam":64,"media":78,"descriptionHtml":79},"buildvalue","BuildValue","A League of Legends gold-efficiency tool. It scores every item, compares full builds, and auto-syncs from Riot's API each week.","https:\u002F\u002Fbuildvalue.chrisdalbano.com\u002F",null,[66,67,68,69,70,71,72],"league-of-legends","full-stack","vue","fastapi","python","data-pipeline","chart-js",[74,5],"general",true,1,"\u002Fshots\u002Fbuildvalue.webp",[],"\u003Cp>A full-stack web app that computes gold efficiency for every League of Legends item and helps players optimize their builds. Vue 3 and Chart.js on the front, FastAPI and Python on the back, MongoDB Atlas for storage, and a scheduled ETL that pulls from Riot’s DDragon API every week so the data stays current.\u003C\u002Fp>\n",{"slug":81,"name":82,"blurb":83,"url":84,"repo":64,"type":23,"tags":85,"variants":91,"featured":75,"order":76,"cover":92,"wavedash":64,"engine":64,"jam":64,"media":93,"descriptionHtml":94},"formship","Formship","A SaaS that turns coaching frameworks into structured learning programs. I designed and built the agentic-AI orchestration system behind its quizzes and modular content, solo.","https:\u002F\u002Fformship.io",[86,87,88,89,68,70,90],"saas","ai","agentic-ai","ai-orchestration","education",[74,5],"\u002Fshots\u002Fformship.webp",[],"\u003Cp>Formship is a live SaaS that helps coaches turn their frameworks into structured programs clients can work through. The interesting part is the orchestration layer: a multi-step pipeline that coordinates AI generation of quizzes and modular content blocks, with the analytics to track learner progress. I designed and built it end to end in Vue 3 and Python.\u003C\u002Fp>\n",{"slug":96,"name":97,"blurb":98,"url":99,"repo":100,"type":21,"tags":101,"variants":108,"featured":75,"order":76,"cover":109,"wavedash":64,"engine":110,"jam":111,"media":112,"descriptionHtml":113},"spare-knight","Spare Knight","A tactical roguelike shipped in 13 days for Gamedev.js Jam 2026. I led the code and hand-painted all the art.","https:\u002F\u002Fchrisdbgames.itch.io\u002Fspare-knight","https:\u002F\u002Fgithub.com\u002FChrisdalbano\u002FSpareKnight-webgame",[18,102,103,104,105,106,107],"roguelike","tactical","isometric","jam","phaser","hand-painted",[5],"\u002Fshots\u002Fspare-knight.webp","Phaser 3","Gamedev.js Jam 2026",[],"\u003Cp>You play an outdated knight protecting one human while the machines decide organic life is inefficient. Tactical roguelike on a 6x6 isometric grid: speed-based initiative, no attack RNG, souls-like timing reactions where you read the chime and time the strike. Hand-painted Bright Ruins look, somewhere between Don’t Starve and Studio Ghibli. I directed the project, wrote all the code in Phaser 3, and painted every tile and character in Krita on a Wacom tablet over 13 days, with one collaborator on sound and narrative.\u003C\u002Fp>\n",{"slug":115,"name":116,"blurb":117,"url":118,"repo":64,"type":23,"tags":119,"variants":123,"featured":75,"order":124,"cover":125,"wavedash":64,"engine":64,"jam":64,"media":126,"descriptionHtml":127},"hastecv","HasteCV","An AI resume and cover-letter builder with a structured document model, rich-text editing, and an MCP server that lets AI clients read and edit documents directly.","https:\u002F\u002Fhastecv.com",[86,87,120,67,121,68,122],"mcp","django","tiptap",[74,5],2,"\u002Fshots\u002Fhastecv.webp",[],"\u003Cp>HasteCV is my own AI-assisted resume and cover-letter builder, live with real users. Django, Django REST Framework, Celery and Redis for async generation, Vue 3 and Tiptap on the front, Dockerized on Render. It ships an MCP server that exposes its documents to AI clients like Claude Code for read, create, edit, and export, so the product is itself AI-interoperable. Built solo.\u003C\u002Fp>\n",{"slug":129,"name":130,"blurb":131,"url":132,"repo":64,"type":21,"tags":133,"variants":139,"featured":75,"order":124,"cover":140,"wavedash":64,"engine":141,"jam":142,"media":143,"descriptionHtml":144},"i-wont-be-abducted","I Won't Be Abducted","A tabletop-defense game built solo in Godot, with a data-driven architecture and a twist that reframes the whole game in its last beat.","https:\u002F\u002Fchrisdbgames.itch.io\u002Fi-wont-be-abducted",[18,134,135,105,136,137,138],"godot","tabletop-defense","hand-drawn","narrative","data-driven",[5],"\u002Fshots\u002Fi-wont-be-abducted.webp","Godot 4.6","Wavedash Spring Jam 26",[],"\u003Cp>A boy refuses to leave his room and defends it from a nightly alien invasion across three nights. Then the camera pulls back: the aliens are board-game pieces, the giant hands placing them are his own, and the boss is his Dad opening the door. Charge-kick combat, craftable obstacles, a dawn draft between nights, all tuned from data-driven Godot resources rather than code. I designed it, wrote all the GDScript, and drew the papercraft art, solo in about 63 hours. My first shipped Godot title after Spare Knight in Phaser.\u003C\u002Fp>\n",[146,155,165,176],{"label":147,"items":148,"variants":154},"Languages",[149,150,151,152,153],"TypeScript","JavaScript","Python","SQL","GDScript",[74,5],{"label":156,"items":157,"variants":164},"Frontend",[158,159,160,161,162,163],"Vue 3","React","Blazor","Tailwind","Chart.js","Tiptap",[74,5],{"label":166,"items":167,"variants":175},"AI & Agentic",[168,169,170,171,172,173,174],"Claude Code","Claude API","Cursor","MCP","Multi-agent orchestration","Prompt engineering","Structured output",[74,5],{"label":177,"items":178,"variants":183},"Game Dev",[110,179,153,180,181,182],"Godot 4","Krita","Hand-painted art","Data-driven design",[74,5],"2026-06-05T05:24:12.538Z",1780637061657]