-
-
User engagement statistics
-
Calendar of upcoming events + quests in grid view
-
More personal dashboard features
-
Personal stats (streak, engagement, etc)
-
Personal dashboard landing page
-
Post your own quest once you have money from doing quests
-
Personal profile landing page
-
Wallet landing page
-
Impact feed is very familiar for social media users
-
Impact feed landing page
-
Calendar of upcoming events + quests in list view
-
Landing page
-
Quests landing page
-
Quest board of quests posted by donors and other users
-
Leader board landing page
-
Leader board stats
## Inspiration
Charitable giving is broken in a way that's hard to articulate but easy to
feel. You donate to a cause and get a tax receipt. You volunteer and get a
generic thank-you email. The people who actually needed help? You'll never
know if they got it.
We kept coming back to the same question: what if the act of giving was as
satisfying as receiving? What if every dollar you donated came back to you —
not as money, but as proof? A photo. A name. A story. Someone's door, a hot
meal, a handwritten letter, a tree in the ground.
We also noticed something broken about the volunteer economy specifically.
People who give their time get nothing back — not financially, not socially,
not even in terms of reputation. There's no credit system for kindness.
GoFundMe lets money vanish. VolunteerMatch sends you an email. Neither closes
the loop.
Hopemaxx started from the belief that the closed-loop economy — where doers
become donors, and every verified act of good seeds the next one — could make
generosity self-sustaining. Not dependent on guilt. Not dependent on altruism.
Just a system that makes doing good feel as rewarding as it actually is.
## What it does
Hopemaxx is a quest-based platform for verified, paid acts of kindness — built around a closed-loop economy where money stays in the ecosystem.
Donors post quests: specific, local, real acts of good, from delivering a hot meal to a senior in Trenton to tutoring a student in SAT Math at the Princeton Public Library. They set a bounty, lock it in escrow, and wait.
Doers browse the quest board, claim what fits their skills and schedule, and
go do the thing. When they're done, they submit dual-camera proof —
BeReal-style: the action, and their face in the moment. Claude AI verifies the
photo against the quest requirements. If it passes, escrow releases
automatically. The doer earns credits.
Then the nudge: reinvest your earnings. Fund a new quest. Keep the flywheel
spinning.
The platform tracks two reputation tracks per user — donor and doer —
separately, with named levels (Seedling → Beacon) and an Aura score that
accumulates from community reactions to completed quests. Story cards are
auto-generated after every verified completion: a shareable, screenshot-worthy
record of the act, the doer, the donor, and the impact. These populate an
impact feed that works like BeReal — reverse-chronological, dual-camera,
reaction-driven.
Every piece of the system is designed to make the closed-loop visible and
emotionally rewarding — from the animated flywheel on the landing page to the
Aura leaderboard to the "keep it spinning" nudge on the wallet page.
## How we built it
The full stack is client-side React — no backend required for the demo, which let us move fast and focus entirely on the product experience.
- React 18 + Vite for the app shell, with React Router v6 for routing and
React Context + useReducer for all global state - Tailwind CSS 3 with a custom design system built on CSS variables — dark
mode by default, warm maximalist aesthetic with Bricolage Grotesque, DM Sans, and Space Mono - Framer Motion for page transitions, quest claim animations, and the XP
progress bars - Leaflet.js + OpenStreetMap for quest location maps — no API key, no cost
- Recharts for the earnings area chart on the dashboard
- Anthropic Claude API (claude-sonnet-4-20250514) for AI proof verification —
the system prompt calibrates the evidence bar by quest type, so litter pickup
has a low bar and person-to-person delivery requires clearer evidence
- Mock backend in localStorage + in-memory state, structured so a real
Firebase or Supabase backend can drop in later
The verification flow was particularly fun to build: five sequential steps
animate on screen (uploading → analyzing → matching requirements → fraud scan
→ report), the whole sequence takes about 4 seconds, and it falls back
gracefully to a realistic mock response if the API key isn't present.
All seed data is anchored in real Princeton / Mercer County locations — actual organizations, real addresses, plausible quests that someone could go do tomorrow.
## Challenges we ran into
The escrow UX. Locking someone's money before they see results is a hard sell.
We went through several iterations of the escrow confirmation UI before
landing on the current design: a transparent breakdown showing exactly what
gets locked, what the fee is, and what the doer receives — shown at every
relevant touchpoint, not buried in fine print. Trust is a design problem as
much as an engineering one.
Calibrating the AI verifier. Getting Claude to be "generous but not gullible"
took real prompt iteration. Too strict and good-faith doers get rejected. Too
lenient and the system is trivially gameable. The solution was making the
evidence bar explicit in the system prompt — low-risk quests get a low bar,
high-stakes quests require clearer evidence — and giving Claude specific
language about what "good faith effort" means in this context.
Dual reputation without confusion. Showing two separate tracks (doer and
donor) on the same profile without making it feel cluttered or confusing was
harder than expected. We went through multiple layouts before landing on the
current side-by-side visualization. The key insight was that the two tracks
need distinct color identities — green for doer, gold for donor — that carry
consistently through every touchpoint.
The BeReal-style dual-camera flow. Making the dual-camera submission feel like
BeReal (both photos linked, time-stamped, human) while also serving as
legal-grade-enough proof for escrow release required balancing the emotional
storytelling and the functional verification in the same UI. The postedAtLabel
field ("2 min after prompt") was a small detail that ended up doing a lot of
work.
Making the economics feel real without a real backend. Every transaction had
to feel consequential — bounties locking, fees deducting, balances updating —
in a mock data layer. We structured the transaction log and state mutations
carefully so the flywheel is actually visible in your wallet history, not just
a narrative claim.
## Accomplishments that we're proud of
The flywheel visualization. It was the hardest single component to get right — an animated circular economy diagram that actually conveys the concept in one glance — and it's the first thing judges see on the landing page. When it clicked, it clicked hard.
The end-to-end quest lifecycle actually works. You can post a quest, lock
funds in escrow, claim it, submit dual-camera proof, watch Claude verify it
live, receive credits to your wallet, and see your story card appear in the
impact feed — in a single session, on a demo. That full loop, unbroken, is
something we're genuinely proud of.
The dual reputation system. Building two fully independent progression tracks
(doer and doer) with separate XP curves, level names, and visual identities —
and surfacing them intuitively throughout the app — required real design
discipline. We think it's the right model for a platform that serves both
sides of the transaction.
The story cards. Auto-generated after every verified completion, designed to
be screenshot-worthy, populated with the AI's own analysis of the act. They're
the emotional payoff of the whole system, and they look good.
## What we learned
Friction is a feature, sometimes. The escrow lock, the AI verification step,
the dual-camera submission — all of these add friction. We learned to be
deliberate about which friction is trust-building and which is just annoying.
The verification animation isn't just filler: watching Claude analyze the
photo before funds release makes the approval feel earned, not arbitrary.
The social layer is what makes the economics legible. Without the impact feed,
the aura score, and the story cards, the closed-loop economy is just a
concept. The social layer is what makes the flywheel visible — you can see
money moving, you can see who did what, you can react to it. Social proof and
financial proof turn out to reinforce each other.
AI calibration is a product decision, not just a prompt. The choice of where
to set the verification bar — how much proof is enough for which quest — is
fundamentally a product decision about trust, fraud, and user experience. The
prompt is the implementation. We spent more time thinking about those
thresholds than we expected.
Local anchoring matters more than we thought. Seeding the quest board with
real Princeton / Mercer County locations — actual organizations, real
addresses, plausible missions — made the whole thing feel credible in a way
that generic placeholder data never would. The specificity is the point.
## What's next for Hopemaxx
Real backend. The code is already structured for it — swapping in Firebase or Supabase is a configuration change, not a rewrite. The next step is user auth, persistent state, and a real escrow integration.
Formal quest chains. Right now, chain quests are a soft nudge. The next
version makes them structural: completing a chain quest unlocks a follow-on
quest specifically designed to reinvest the earnings. The flywheel becomes
explicit, not just encouraged.
Group quests. High-value quests — running a community event, organizing a food drive — require more than one person. Group quests let multiple doers collaborate toward a single verified completion and split the bounty.
Verified organization accounts. Nonprofits, mutual aid orgs, and community
groups should be able to post quests with a trust badge that signals to doers
they're working with a real, vetted organization. This unlocks the
institutional side of the market.
Real AI verification. The Claude integration already works — the UX is built,
the prompt is calibrated. The next step is connecting it to real photo uploads
with geolocation metadata, building the human review queue for flagged
submissions, and closing the loop with pattern detection for bad actors.
Launch in Princeton. The quests are already real. The locations are already
real. The next step is putting the app in the hands of the Princeton community
and watching the flywheel spin for the first time with real money, real
doers, and real acts of good.
Built With
- claude
- css
- html
- javascript
Log in or sign up for Devpost to join the conversation.