Inspiration
Initially we wanted to build something for goal-setting, however we also strived to look for a more social impact angle. We thought why not combine the two? As hiking enthusiasts, set out to specialize it for hiking, to encourage people to be more active, engaging and internally resetting with nature, and garner more interest in protecting its elemental beauty. However, we realize our goal-setting tool can be applied generally to everything from as atrocious as homework-completion to personal priorities like calling family every other day. We want to reimagine goal-chasing beyond an individual pursuit, but something that can help the community, to motivate users to become better versions of themselves and simultaneously improve the communities around them. XRPL’s native Escrow for holding stakes until goals are met and its NFT support for on-chain achievement badges both fit our mission of verifiable, trustless challenges with lasting proof.
What it does
Proof of Work(PoW) is an application on the XRPLedger(Testnet) that ties goals to stakes for charity, in our demo hiking goals to nature conservancies. Users can pick a nonprofit organization, deposit XRP to shared treasury wallet, set goal & deadline, upload photo and use screenshot API check to verify, if goal met treasury refund stake if not met send stake to charity, in addition for certain conditions NFT badges are rewarded to users. For UI we have link to mint transaction for Badges, live countdown for the time remaining, pie chart of showing progress and diminishing money providing pressure, and downloadable .ics calendar event. We incorporate on-chain through our on-chain payments.
How we built it
We built the app with Next.js (App Router) and the xrpl.js client on XRPL Testnet: the front end handles onboarding, countdown, stake pie chart, and .ics calendar download, while API routes create challenges (user Payment to treasury), verify hike screenshots, and resolve challenges (refund or donate Payment plus NFTokenMint for badges). Stakes are held by a shared treasury wallet derived from XRPL_SPONSOR_SEED; challenge state is kept in the client (e.g. localStorage) and passed into the resolve endpoint, which signs refund/donation and badge-mint transactions from the treasury. Badge type (sunrise, bird, or gold) is chosen in the resolve logic from timestamps and goal outcome, and the UI shows the minted NFT with art and links to the mint tx and token ID on the ledger.
Steps / Features
Choose a Nonprofit
- Users pick a nonprofit organization (e.g., Handsome Bear Organization).
Deposit Stake
- User deposits X amount of XRP into a shared treasury wallet.
Set Goal & Deadline
- Define a goal such as:
- Number of verified hike check-ins
- Completion deadline
Photo Progress Verification
- User uploads a photo proof (trail, map screenshot, etc.)
- The app uses a screenshot verification API
- Verified uploads count as completed hike check-ins
After the Deadline
- Goal Met
- Treasury refunds the user's stake
- Goal Not Met
- Treasury sends the stake to the selected charity
- Donation occurs through an XRPL payment
NFT Badge Rewards
- The app mints an NFT badge for participants.
- Sunrise Hiker
- Goal completed before halfway time
- Bird
- Goal completed after halfway point
- Gold
- Goal not completed but stake donated to charity
- Represents a generous contributor supporting the cause
UI
Badge Section
- Display Minted NFT Badge
- Badge art
- Link to mint transaction
- Token ID on the XRPL ledger
Live Countdown
- Timer showing time remaining until deadline
Stake Progress Visualization
- Pie chart
- “On Track” stake
- “At Risk” stake
Halfway Rule
- If no check-ins are logged by the halfway point
- Stake gradually decreases toward zero
- Funds slowly redirect toward charity
Calendar Reminder
- Downloadable .ics calendar file
- Can be added to Apple Calendar
- Sends a reminder before the deadline
Challenges we ran into
One of the biggest challenges was verifying real-world goals.
We explored two different approaches:
1. On-chain verification
Storing proof or validation logic directly on-chain.
However, this quickly became impractical for real-world activity verification, since validating images or real-world actions entirely on-chain would be computationally expensive and difficult to scale.
2. Off-chain verification (our final approach)
We decided to implement a hybrid system:
- Users upload screenshots or photos of their activity.
- The app uses OpenAI GPT-4o Vision to determine whether the image is related to the intended activity (for example, hiking or outdoor movement).
- The verification result (success or failure) is then stored on-chain.
This hybrid approach allows us to maintain accountability and transparency while keeping the blockchain layer lightweight and efficient.
Another challenge was designing the user experience so that users feel the pressure of procrastination.
To address this, we experimented with time-based financial incentives:
- The UI shows decreasing available funds over time.
- If users delay progress, their potential refund gradually shrinks.
- This creates a psychological incentive to complete goals earlier instead of waiting until the deadline.
Accomplishments that we're proud of
Successfully integrating multiple XRPL primitives, including escrow and NFT minting.
Creating a full goal-based programmable escrow system that ties financial stakes to real-world progress.
Designing an engaging user experience that motivates users to complete their goals.
Implementing NFT achievement badges tied to verified real-world progress.
Integrating calendar reminders and visual progress tracking to reduce procrastination.
Most importantly, we were able to demonstrate how programmable money can influence real-world behavior. By linking financial incentives with verified outdoor activity, the system encourages healthier lifestyles while supporting environmental organizations when goals are not met. This highlights the potential of blockchain not just as a financial tool, but as a mechanism for aligning incentives and driving meaningful real-world engagement.
What we learned
Our team worked extremely well together. Each person took full ownership of a feature:
- XRPL escrow and NFT minting
- Frontend UI and progress dashboard
- Calendar integration and user reminders
We collaborated closely on feature design and resolved merge conflicts together. We also really enjoyed building on XRP Ledger. Since XRPL has native support for escrow, payments, and NFTs, we didn’t need to write complex smart contracts. This made the development process much faster and allowed us to integrate seamlessly with Next.js.
Overall, the XRPL developer experience felt elegant and efficient, which helped us focus more on product design rather than low-level blockchain infrastructure.
Future Features
For future development, we hope to expand the platform with:
Expand Goal Diversity
- Support more goal types such as picking up trash, beach cleanups, and other environmental activities.
Multi-User Functionality
- Enable individual user accounts
- Support multiple users
- Add a leaderboard to encourage friendly competition.
Verification Appeals
- If a screenshot (e.g., Strava or goal verification) is incorrectly flagged as fake, users can submit a petition for review.
- In a full product, this would connect to customer support and moderation tools.
Our vision is to inspire users to complete meaningful personal goals—whether that is hiking, eating healthier, or reading more—while simultaneously creating social impact. By combining financial incentives with charitable donations, we aim to build a system where self-improvement and positive social contribution reinforce each other. Through this tool, we hope to foster a culture where personal growth and community benefit can exist symbiotically.
Built With
- next.js
- openai
- react
- recharts
- tailwindcss
- typescript
Log in or sign up for Devpost to join the conversation.