Skip to content

Casa UP

Designed, wrote, and built a gift-registry donation site end to end for an NGO with no technical staff. One weekend of work; over 20,000 USD raised in under a month.

Client

Down is Up

Role

Product Designer & Developer

Year

2026

Type

Product Design · Full-Stack Build

My mom works at Down is Up. My brother has Down syndrome. So when the NGO needed to raise money to renovate Casa UP, it wasn’t a client, it was my family. They had no developers and no budget to hire one. Whatever I built had to raise real money, and then keep running without me, forever.

+20k USD

Raised in under a month, from one weekend of design and code

A gift registry for a house

Casa UP is the home Down is Up is renovating, where young adults with Down syndrome train to live on their own. Instead of a plain “donate” button, the site turns the renovation into a gift registry: a visitor gifts a concrete part of the house, the fridge, the kitchen floor, a bed, donates its value, and it’s reserved in their name.

Underneath the warm idea sat a hard constraint. The organization has no technical staff and no budget for one. The product had to raise real money and then be run, day to day, by people who would never open a code editor.

Render of the renovated Casa UP home the campaign is funding

Everything, end to end

I owned the whole thing. I defined the flow, wrote every line of copy, designed the interface, and built the frontend and the admin panel end to end. Solo. No handoff, no translation layer between the design and the code.

Autonomy on both ends

Casa UP teaches its residents to live without depending on others. The site had to do the same for the team: hand them a tool they run without depending on a developer. So I designed the admin panel with the same care as the public side. That was the decision everything else hangs from, and the reason building (not just designing) was the right move: the operational tool and the donor experience are the same product, and they had to ship together, working.

The public side is one long landing: a video hero, a gift catalog you filter by room, and a donor wall that builds itself. Each gift is a concrete part of the house, priced, with a photo and its live status.

The Casa UP gift catalog: a grid of concrete house parts to gift, each with a photo, price, and status, filterable by room

One single form to donate

A visitor picks a part of the house and donates its value. One modal, no account: amount, method (Mercado Pago or bank transfer), and an optional name. The amount copies in one tap. If they’d rather transfer, the account details are right there in the same view. Nothing to sign up for, nothing to install, no step that sends them somewhere else to figure out.

The single donation modal: method toggle between Mercado Pago and bank transfer, a copiable amount, an optional name field, and a collapsed invoice accordion

The confetti waits for the payment to be real

Small detail, deep decision. Pay with Mercado Pago and we celebrate the moment you’re back: confetti. Choose a transfer and you haven’t sent anything yet, so we don’t. The screen reads “Thanks! One last step,” and the confetti only fires when you tap “I’ve transferred.” The product never assumes money that didn’t move. Honesty is design too.

Every donation is a brick in the wall

The social proof is the project’s metaphor: every brick counts. Each donor adds a colored brick to a wall that builds itself, in donation order. When it scrolls into view, the wall rises in one continuous wave. Anonymous gifts collapse into a single brick at the end, so they never bury the people who left their name.

The donor wall: a colored brick per donor in donation order, anonymous gifts collapsed into one brick at the end

The admin panel, built for people who don’t code

This is the half the donor never sees, and the half that decided the whole project. The team runs the campaign from one password-protected panel, in plain Spanish, with no training and no developer on call. I designed these screens with the same care as the public site.

They confirm a transfer the moment they see it land, undo a mistake, release a gift, register a cash donation by hand, and export everything to CSV. The goal is computed automatically from the sum of all gifts, so no one keeps a running total. Every risky action asks first (“Yes, cancel reservation”). I deliberately toned the panel’s visuals down from the public site, so daily use feels like a calm workspace rather than a marketing page.

The admin donations panel: an auto-computed goal, filters for pending and confirmed, per-row Confirm and Cancel actions, CSV export, and register-by-hand

Managing the catalog is just as direct. Add, edit, or duplicate a gift; group gifts into rooms; upload a photo. A banner reminds them the changes go live on the site instantly. Nothing about the day-to-day requires knowing what a deploy is.

The admin gift-management panel: the full catalog filtered by status, with add, edit, duplicate, and category controls
0 developers

The team runs the whole campaign on its own, no code, no deploys, no calls to me

Real money means invisible guardrails

The site moves real donations, so it has to protect real trust. The bank details carry an audit trail: if a number changes and no one on the team made the change, they see it and roll it back. Sessions and the shared team password are locked down so a single login never becomes a liability. None of it is visible to a donor. All of it matters the first time something goes wrong.

Outcome

A donation platform the NGO runs entirely on its own, with no developer. Designed and built solo in a weekend, it passed its goal with more than 20,000 USD in under a month, across a customizable catalog.

One weekend of work. In under a month, more than 20,000 USD.

But the number I care about most isn’t there. It’s that the team runs it on their own, without calling me. They add gifts, confirm transfers, and edit their details without touching a line of code.

Designing and coding in one head meant every product decision reached the screen without translation. The copy, the interaction, and the database tell the same story. No handoff got lost along the way.