Brandon Figarella
Product designer.
Musician. Builder.
I design tools for music, games and work in the field. I define the experience, direct AI-assisted implementation and test what gets built.

LA / Orange County · Remote
UC Santa Cruz
Creative Technologies
Expected December 2026
OmniDex
Full caseAn Unreal asset library built around one question: what do I already own that fits this game?
Keep comparison in one view.
I used to collect favorite Unreal assets in an Obsidian vault: find the asset, take a screenshot, copy its metadata, repeat. Preparing a game could take days of manual curation.
I chose to keep the thumbnail, title, category, creator, rating and review count visible. Selecting an asset opens fuller metadata alongside the collection, so browsing does not require a new page for every candidate.
- My contribution
- I framed the problem from my game-development workflow, chose the visible comparison fields and directed AI-assisted implementation. I tested the library in my own use.
- What I observed
- In my own use, sorting by rating and review count saved hours of manual asset curation. This is a personal observation, without a timed study or external adoption claim.
Process & evidence behind OmniDex
Enough information to make the next choice.
The compact card is the comparison layer. Rating and review count help me decide what deserves a closer look; they are signals for my own selection, not an automated quality score.
This crop comes from the same app capture above. The selected card has an orange border and check mark, while the collection stays visible.
Defer detail, preserve context.
The inspector holds the larger gallery and the Details, Description and Technical tabs. The grid answers which asset; the inspector answers whether it will work for the project.
That division is the main tradeoff: the overview stays compact, while fuller information takes an explicit selection. The capture also exposes unfinished library-quality cases, including repeated titles and missing previews.
Make uncertain matches a decision.
Local asset names do not always map cleanly to marketplace listings. The implemented review queue places local facts beside a suggested match and distinguishes rejecting that candidate from dismissing the pack.
Those decisions persist across reloads and folder renames. This is an implementation detail supporting review; the screenshot above shows library browsing, not a validation study of the matching workflow.
Choose a stack I could iterate with.
I considered Svelte and an earlier Rust/Tauri approach. At the time, the AI tools I used were more effective with the Electron workflow, and this personal project prioritized fast interface iteration and easier QA.
The benefit I observed was being able to patch, inspect and retest the frontend more easily. I did not measure a development speedup.
A personal workflow benefit.
Sorting assets I already owned by rating and review count gave me an overview without looking up each listing manually. I recall saving hours compared with the Obsidian curation process.
The project has no verified public release or teammate installations. Its asset index informed a six-person game team’s production plan; that is separate from other people using the application.
Electron · React · TypeScript · SQLite FTS5 · Rust / napi-rs
WavHaven
Full caseA place to discover, listen to and share underground music, shaped by my own life as a producer.
Let the music set the atmosphere.
As a producer, I wanted somewhere people could spend time listening and sharing, whether a track was for sale or not. Game consoles inspired the feeling: visual character, sound and a place you remember.
I directed a more expressive visual identity while keeping track information and controls readable. The interface pairs scene-based discovery with a persistent player; the visualizer supplies atmosphere around the listening task.
- My contribution
- I set the product and visual direction, diagnose problems and test the experience. The Mantequilla renderer code is agent-written; I directed its research and iteration. The first version was a collaboration, followed by my rebuild in September 2025.
- What I observed
- Released open beta. Three other producers have uploaded music. There have been no external purchases; my own purchase was a refunded test.
Process & evidence behind WavHaven
Browse, play, keep the context.
In the live flow captured here, a track starts directly from Explore. The current selection appears in a now-playing panel and a bottom transport while the catalog remains on the page.
At this desktop width, opening playback reduces the number of visible catalog columns. That is a real density tradeoff, and a focus for the next comparison test rather than a claimed usability win.
Make the license choice visible.
From the now-playing panel, License this track opens the actual license selector. Selecting Basic changes the action to $25; selecting Premium changes it to $45. The selected tier, included files and action price stay together.
I checked those two states on the public site for this case. The capture demonstrates selection feedback; no checkout or purchase was made.
Directing the visualizer.
I moved the visual direction through ASCII, MilkDrop/Butterchurn and the custom Mantequilla WebGPU renderer. My contribution is diagnosis, research, creative direction and testing; the renderer implementation was written by agents.
The design challenge is keeping expressive motion compatible with reading and choosing music. A striking frame alone does not establish comfortable long-term listening or improved retention.
What I’ll test next.
Three producers beyond me have uploaded to the open beta. There have been no external purchases, and my own purchase/refund was a test.
My next test is the transition between browsing and focused listening: preserve enough comparison space, keep a clear primary control and check text against changing visual backgrounds.
React · TypeScript · Cloudflare Workers · D1 + R2 · Stripe Connect · WebGPU
Jobworks
Full caseA field-service platform for quotes, invoices and crew workflows, currently in internal alpha with the development team.
Use the conventions people already know.
In internal testing, I found our capture feature unfamiliar and unintuitive. The Jobworks design system was not yet suited to a camera interface.
I directed the flow toward native iOS camera conventions, preserving zoom and camera switching while adding job assignment, queuing and bulk uploads. On retest, I could take photos and assign a job without the menu friction I had noticed.
- My contribution
- The founder originated Jobworks and invited me as CTO. I own product decisions around modularity, approachable onboarding and capture direction, working with the team and AI coding tools.
- What I observed
- During internal iOS testing, I found the revised capture flow easier to understand and use. This is my qualitative observation; Paintworks and external customers have not used Jobworks.
Process & evidence behind Jobworks
What the recording actually shows.
The genuine iOS recording below shows Today, a quick-action gesture, invoices with undo, quote tiers and an AI reply draft. All names, addresses, amounts and messages are fictional fixtures.
It does not show the capture redesign. That decision is supported here by my internal-test account; a recording of the camera and recovery sequence is still the next evidence milestone.
Put the next field action in reach.
The Today frame makes On my way dominant, with Call, Text and Map nearby. Later jobs remain visible below it. The quick-action gesture is an additional route; the visible buttons keep the core actions discoverable.
These are observations of the recorded interface, not evidence of faster task completion or contractor adoption.
Recovery needs a visible state.
The inspected capture implementation includes discard protection, job selection and feedback for locally saved work and upload retry. The camera helper invokes the platform camera API.
Those source paths explain how the intended flow handles interruption. They do not establish that the recording above contains that build or that another person successfully recovered an upload.
Default review, explicit automation.
AI replies default to drafts for review. The inspected implementation also supports explicitly enabled auto-send; live settings and use have not been verified.
The fixture recording shows a suggested reply with Send and Edit. It demonstrates the review interface, not a guarantee that every possible reply is manually approved.
Internal learning before customer claims.
Jobworks is an internal alpha/closed beta between the development team and me. Paintworks and external customers have not used it.
My capture-flow improvement is a subjective observation from internal iOS testing, without measured latency, an external usability study or customer results.
Next.js · React Native / Expo · tRPC · PostgreSQL · SQLite
Also on my desk.
- Bastion
- An endpoint-security project across a Rust agent and native investigation console. In development; controlled demo data.
- Loom
- An MCP bridge for Unreal Editor workflows, developed through AI-assisted implementation.
- Hiraeth
- Technical direction on a six-person survival-horror game. Academic prototype; reached alpha.
- Poppet
- An open-source MCP bridge for Cascadeur animation workflows.
- Paintworks
- An alpha bilingual painting-company website with service information and booking integration.
I started with music.
I’ve made beats as Figgie since 2017. In 2022, my track “alive” received an Adult Swim sync placement. Music led me to WavHaven; making games led me to tools for Unreal Engine and animation.
My work starts with a workflow I care about, a decision I can explain and an interface I can test.
More about meLet’s talk.
Open to early-career product design and design engineering roles. Based in LA / Orange County.