Budget No Budge
Manage accounts, track spending, and stick to your budgets. A full-stack personal finance app I use myself.
Hi, I'm
Software developer building full-stack apps, developer tools, and the occasional browser game. Projects, experiments, and things I probably built at 2am.
I'm a software developer at Lightning Kite in Logan, Utah, where I've spent the last few years building client software for healthcare compliance, event photo sharing, and more. I like building products end to end, from the API and data model to the UI people actually touch.
Outside of work I host a handful of my own apps on this server, maintain Simply Served, a small Node.js framework on npm, and build games, a few of them for hackathons like HackUSU.
I'm working on a master's in Computer Science at Utah State, where I also earned my bachelor's. I lived in Buenos Aires for two years and speak fluent Spanish.
Logan, Utah
B.S. Computer Science ยท Sep 2020 โ May 2024
Manage accounts, track spending, and stick to your budgets. A full-stack personal finance app I use myself.
// A full CRUD REST API for users addController(app, { path: "/user", routes: modelRestEndpoints({ validator: z.object({ name: z.string() }), collection: (db) => db.user, permissions: { read: { type: "publicAccess" }, modify: { type: "modelAuth", check }, delete: { type: "notAllowed" }, }, }), });
A real-time multiplayer chess clock. Start a game, send invites, and every player's timer stays in sync across devices over sockets.
All of these run in the browser. Most came out of a game-dev class and hackathons.
HackUSU 2024 action game inspired by Oathbringer. Wield a cursed blade against waves of enemies.
Play โA take on the arcade classic, with a custom particle system and a React menu.
Play โBreakout, but with trains. Built for a game development class.
Play โA falling-block puzzle game, originally my game-dev midterm.
Play โHelps new CS students write programs top-down: AI stubs out functions so they can focus on structure first, then implement.
Try it โAn experiment in grading free-response answers with natural language processing.
Try it โAgent-based simulation of a crowd evacuating a room, with agreeable and aggressive agents.
Run it โ