Angel Valle Jr. · San Francisco

I build useful software and weird little games.

Custom-built, tested and shipped by me, start to finish.

Eight real builds, with sound0:33

New case study · Sep 2026

Estate Plan Intake

A concept for a flat-fee California trust and will intake, built for a parent on a phone after the kids are asleep.

Plain questions, one topic at a time. As you answer, your family tree draws itself: your partner, your kids, the guardian you pick for anyone under 18, and the trust closing around all of them when the plan is sent. The write-up covers the research, three design decisions, and where AI fits behind the attorney.

00 · Now

01 · Selected work

What's live, what's a sample

Live means public and real, right now. Samples are invented businesses I built to show the work. Private means real software I use and have not released. Open a case study on any card for the how and the why.

Design and front end sites and storefronts you can open
Brand / storefrontSample

Night Shift Supply

A storefront for a made-up workwear label for people who work nights. The home page is a punch clock: each hour of the shift is one garment, shot under sodium streetlight.

Case study

The ideaI spent ten years working nights in hospitality. Workwear brands sell to the day shift. This one is built around the hours the rest of us are asleep.

The buildThe punch clock is the navigation, with a live hand on the current time. Each hour opens one short screen for one garment, then a lookbook and product pages. Short pages instead of one long scroll.

An honest noteThe label is fictional. I designed the brand, wrote the copy and directed the garments and photography, which were generated with AI. The site says so in its footer.

Editorial / emailSample

Longshore

A magazine-grade feature for an invented publication, then the same story as a weekly newsletter that survives Outlook. Same type on the web and in the inbox.

Case study

The buildA long-form article with real, credited photographs, then the newsletter built as Mailchimp-ready email HTML: table layout, inline styles, and a button that still works in Outlook.

Technical decisionsOne set of type and color tokens drives both, so the article and the email read as the same publication.

Site the owner runs / eventsSample

The Brass Pelican

A cocktail bar site that knows what is on tonight: events generate from weekly templates relative to today, an owner demo adds a real show to the calendar in under a minute, and every night is published as event data search engines can read. Built because three real bars I researched had empty calendars on their sites.

Booking / operationsSample

Fog Line Cycles

A repair-shop booking system, both sides of it: the customer books the repair, the shop watches it land on the schedule board.

Case study
Both sides of one Fog Line booking: the customer's printable work tag on the left, and the same booking sitting on the shop's schedule board on the right
Real capture of the working demo.

The problemRepair shops book work over the phone and track it on paper tags. The customer finds out what it costs at the counter, and the shop copies the same details onto three different pieces of paper.

The buildCustomer side: service selection, availability that only offers slots the shop has open, bike intake with a photo, and estimate authorization before any work starts. Booking done, you get a printable work tag. Shop side: flip to the shop demo and your booking is on the schedule board with your bike's details.

Technical decisionsOne dataset drives both views, so the customer flow and the shop board can never disagree about a booking. Work orders carry the authorized estimate with them, because "who approved this" is the question that starts arguments at real counters.

Built withOne HTML file, zero dependencies. Invented shop, and the page says so.

AI and data systems that do the work
AI agent / approvalsSample

Countersign

A sales rep types a deal in plain words and an AI agent drafts the quote. Separate code then works the price out again and sends it to the people who have to sign. The agent writes the quote. It does not get to approve it.

Case study

The problemAn agent can write a quote in seconds. Somebody still has to check the math and decide who is allowed to approve it.

The buildYou type the deal. The agent drafts the quote. A check that shares no code with the agent recalculates every line, and anything outside the rules is held for the right person. Every step lands on a trail you can read.

An honest noteA working concept. The company and the prices are made up, and the page says so.

Desktop app / film studioPrivate

Framehouse

A desktop studio I built for making product films like the one at the top of this page. It records the real product, lays the shots out on a storyboard and cuts them to a beat. That reel was rebuilt in it, shot for shot.

Case study

The problemThe first version of that reel was one long hand-written script. Changing a single shot meant editing code and waiting for the whole film to render again.

The buildA Windows app. You set up a product, record the real thing running, arrange shots on a storyboard, snap the cuts to the music's beats, leave review comments, keep versions, and export in landscape, portrait and square.

Working with AIIt has a connector, so Claude can read a project, make an edit and render a draft while I review. Every change it makes is logged, and I can undo it.

ProofMore than 2,200 automated tests. The rebuilt reel matches the hand-made one on every cut.

Why it is privateI use it for my own work and for clients. The app and its code are not public.

Built withElectron, React and TypeScript.

Agent system / web QALive

Site Doctor

An autonomous QA loop that inspects websites, chooses testing tools, traces user flows, prioritizes failures, and verifies proposed fixes in a sandbox. It does not generate websites. It tries to break them. The software is real; the pages it audits are the sample sites below.

Case study
Site Doctor mid-run against a sabotaged copy of Fog Line Cycles: the activity log shows sandbox-verified fix checks, the summary counts 1 critical and 2 major findings across 13 tool calls, and the prioritized fix list names each fault
Real capture of the working demo.

The problemMost site audits produce a checklist without knowing which failures matter. A broken footer link and a broken booking button both show up as "broken link," but only one of them costs the business money.

The buildA planner selects deterministic inspection tools, gathers evidence from real page fetches, traces the critical flow end to end in a sandboxed copy of the page, and prioritizes findings by severity times business impact. There's also a Break the Site mode: sabotage a sandboxed copy yourself, then watch the same tools find the faults without being told what you broke.

What makes it agenticThe loop, not the tools: it identifies what needs investigation, chooses a tool, examines the output, updates its state, forms hypotheses, runs further tests to confirm or kill them, verifies candidate fixes in the sandbox, and stops when the work runs out or it hits an honest iteration cap.

Failure behaviorWhatever it could not test is reported as an uncertainty instead of invented certainty: external links it won't follow, contrast over background images it can't resolve, work left in the queue when the cap hits.

An honest noteNo language model runs in the browser demo. The planner is a deterministic policy engine occupying the seat a model takes in production, and every measurement comes from a tool either way. The page says all of this itself.

Built withPlain JavaScript, same-origin fetch plus DOMParser, sandboxed iframe instrumentation. Zero dependencies, no backend.

Document retrieval / business systemSample

Kestrel Property Management

A document-grounded help assistant for an invented property manager. Retrieval runs live in your browser.

Case study
Kestrel tenant desk: the deposit question answered as an excerpt card from the Move-Out Checklist, with the policy library on the right lighting up the cited section
Real capture of the working demo.

Why I built itTo show clients what a real document-grounded assistant looks like without hand-waving. The page IS the demo.

The buildSixteen policy chunks embedded in the page; your question is scored against them client-side; the best chunks become the answer, with the source document cited under every reply.

Failure behavior, by designAsk something outside the documents and it says "I don't have that in my documents, so I won't guess" and gives you the office contact instead. An assistant that guesses is worse than no assistant.

Built withOne HTML file, no libraries, no API. The production version of this pattern runs on an LLM with the same retrieval discipline.

Data pipeline / dashboardSample

Ninth Hill Coffee Roasters

The Monday report, before and after: a deliberately awful spreadsheet next to the dashboard that replaced it.

Case study
Ninth Hill before and after: the messy hand-typed order spreadsheet on the left, the KPI cards and weekly revenue chart the pipeline builds from the same data on the right
Real capture of the working demo.

The problemRecurring business data arrives messy. At Ninth Hill, the invented roaster here, a week of order emails gets retyped into a spreadsheet every Monday: three hours of work, the same coffee spelled three ways, and a totals row that doesn't add up. The report costs more than it tells.

The workflowRAW ROWS → VALIDATE / AGGREGATE → KPIS → CHARTS. In this demo the whole pipeline runs in the page: 567 raw wholesale rows are aggregated, recomputed and rendered live at load, nothing precomputed. The messy-spreadsheet ingestion story the page tells is the depicted production shape (a script cleans recurring exports into one dataset). No scheduler exists in the demo, so none is claimed.

Technical decisionsNo chart library. Every number on screen is derived from the visible dataset, and the claimed insight (a seasonal blend overtaking decaf) is genuinely in the data, checked to the week.

Built withOne HTML file, nothing to install, the awful spreadsheet included.

Developer tool / agent safetyLive

proofloop

Runs AI agents inside hard limits on cost, time and steps, with a separate model that checks whether the answer actually met the goal.

Case study

The problemAI agents rarely do the same thing twice. That makes them hard to trust with anything that costs money or touches real data. The run that worked in testing is not the one you get in production.

Why I built itI run agents across my own projects every day. I wanted a harness that stops a run cold instead of letting it wander, and that shows me how much its behavior actually varies instead of me assuming it's stable.

The buildThree stages. A planner turns the goal into an ordered plan that can only name tools I registered. An executor validates every argument and checks the cost, time and step budget before each move. A separate checker model decides whether the result satisfies the goal. Runs halt when they hit a limit instead of warning and continuing, and every decision lands in structured JSON logs.

Technical decisionsAn eval command runs the same goal several times and reports how much the answers diverge, so nondeterminism gets measured instead of assumed. Failed runs propose lessons, but a lesson only reaches the planner after I approve it by hand. Nothing it learns gets reused without a person in the loop.

Built withPython and the Anthropic API. Tests run against mocked calls, so the suite stays fast and deterministic.

More tools public repos, open now

02 · About

The short version

I'm a developer in San Francisco. I build and fix things for people: websites, tools, automations, and agentic systems that carry real work on their own. I do the whole job myself, design through deployment. I'm also studying Computer Science at WGU.

03 · Contact

Have something in mind?

Tell me what you're trying to build. Rough notes are fine. If I'm not the right fit, my first reply will say so.

Most interested in internal tools, agentic workflows, business automation, and odd software problems.