Public Projects Bounty Portal · MVP mobile wireframes

Find a government project site, record a 15 s live video there, get 20 USDC if yours is the first verified. Read left to right, top to bottom. 56 screens, 390 × 844.

Primary actionPhone system UI→ 3.5Tap leads to

1First open & browse

No account needed. Find a site, see what it pays, learn how to earn.

9:41
20 USDC
20 USDC
Not open
20 USDC
You
EN · FIL
Near you3 open bounties
Flood control, Brgy. San Roque
DPWH · 0.4 km
20 USDC
Covered court, Malanday Late
Marikina LGU · 1.2 km
20 USDC
Road widening, Bayan-bayanan
DPWH · 2.0 km
Not open
1.1 Map home. Pins show the bounty. "Near you" sorted by distance. Tap a row → 1.4 Record → 2.1
9:41
20 USDC
20 USDC
Not open
20 USDC
You
EN · FIL
Add the app to your home screen
Opens faster, like a normal app. No Play Store needed.
1.2 Install prompt. Shown once on first open. Install or Skip for now → 1.1
9:41
20 USDC
20 USDC
Not open
20 USDC
You
EN · FIL
Language · Wika
English
Filipino
1.3 Language. From EN · FIL on the map or from Help. Applies to every screen. Save → 1.1
9:41
‹

Project

↗
Site map
Flood control structure, Brgy. San Roque
DPWH · Marikina CityLate
Budget
₱48.2M
Due date
15 Mar 2026 (passed)
Status
Ongoing
Bounty open20 USDC
Goes to the first verified video of this site.
How to earn: stand within 150 m, record 15 s: signboard, then turn 90°.
Source: DPWH Transparency Portal ↗
1.4 Project, bounty open. One line on how to earn. Record this site → 2.1 (no account) or 3.1
9:41
‹

Project

↗
Site map
Flood control structure, Brgy. San Roque
DPWH · Marikina CityLate
Budget
₱48.2M
Due date
15 Mar 2026 (passed)
Status
Ongoing
Bounty not openReopens 3 Jan 2027
A video now is not paid. It still gets a public report.
Source: DPWH Transparency Portal ↗
1.5 Project, bounty not open. Shows reopen date. Main action sends the user to open sites → 1.1

2Account gate

Appears only at the first tap on Record or Wallet. No name, phone or email. Returns the user to where they were going.

9:41
✕

Make an account to record
$So we can pay you in USDC.
@No name, phone or email. Only a passkey on this phone.
✓I am 18 or older
2.1 Why an account. 18+ tick required. Create passkey → 2.2 Sign in → 2.4 ✕ → back. From Wallet the title reads "Make an account to get paid".
9:41
✕

Make an account to record
$So we can pay you in USDC.
@No name, phone or email. Only a passkey on this phone.
✓I am 18 or older
Phone system sheet
Create a passkey for bountyportal.ph
@tala-482 · Unlock with fingerprint, face or screen lock
CancelContinue
2.2 Phone's passkey sheet. (system UI) Continue → 2.3 Cancel → 2.5 Error → 2.6
9:41
✓
You are
@tala-482
Your passkey is saved in your phone's password manager. Use it to sign in again.
No recovery code. Keep your screen lock on.
2.3 Account made. Random handle shown. Continue returns to the tapped tab: Record → 3.1. From Wallet the button reads "Continue to Wallet" → 7.1
9:41
✕

Make an account to record
$So we can pay you in USDC.
@No name, phone or email. Only a passkey on this phone.
✓I am 18 or older
Phone system sheet
Sign in to bountyportal.ph
@@tala-482
Passkey · Google Password Manager
CancelContinue
2.4 Sign in with passkey. (system UI) Continue → back to where they were going. Cancel → 2.5
9:41
✕

!
Passkey not created
You closed the phone prompt. Nothing was saved.
2.5 Passkey cancelled. Nothing saved. Try again → 2.2
9:41
✕

!
Hindi nagawa ang passkey
Walang screen lock ang phone mo. I-on ito sa Settings, saka subukan ulit.
2.6 Passkey failed, shown in Filipino. No screen lock on phone. Fix, then Subukan ulit → 2.2

3Before recording

Permissions once, then a live location check. Every block says how to get unstuck.

9:41
✕

Before you record

Record needs 3 permissions
◉Camera
To film the site live.
⌖Location
To check you are within 150 m.
↻Motion
To check you turned 90°.
Your phone asks 3 times. Tap Allow each time.
3.1 Permissions primer. First tap on Record only. Why each is needed. Allow access → 3.2
9:41
✕

Before you record

Record needs 3 permissions
◉Camera
To film the site live.
⌖Location
To check you are within 150 m.
↻Motion
To check you turned 90°.
Your phone asks 3 times. Tap Allow each time.
Phone system prompt
bountyportal.ph wants to use your camera
BlockAllow
3.2 Phone's permission prompt (1 of 3: camera, then location, motion). All allowed → 3.5 Block → 3.3
9:41
✕

!
Camera is blocked
Record can't work without it. Turn it on:
  1. Tap the lock icon next to the web address.
  2. Tap Permissions › Camera.
  3. Choose Allow, then come back.
3.3 Permission blocked. Steps to fix in browser settings. Location and motion use the same screen. Check again → 3.5
9:41
✕

!
Record works only on a phone
This browser can't record. Open the app on your phone, then tap Record.
QR: bountyportal.ph
3.4 Device blocked. Desktop, no touch, no motion sensor, or automation. Points the user to their phone.
9:41
‹

Location check

Flood control, Brgy. San Roque
Site area: 150 m around the pin
Site
You
✓You are 80 m away
In range. Location accurate to 12 m.
3 of 5 submissions left today.
3.5 In range. Distance + accuracy checked live. Get code → 4.1
9:41
‹

Location check

Flood control, Brgy. San Roque
Site area: 150 m around the pin
340 m
Site
You
You are 340 m awayMove within 150 m. This updates as you walk.
3.6 Out of range. Live distance; updates as the user walks. In range → 3.5
9:41
‹

Location check

Flood control, Brgy. San Roque
Site area: 150 m around the pin
Site
You
Location not exact enoughNow 64 m. Needs 30 m or better. Go outside, away from tall buildings, and wait.
3.7 Weak GPS. Accuracy worse than 30 m. Tells user how to improve. Check again → 3.5
9:41
✕

5 / 5
Daily limit reached
You sent 5 submissions today. That is the limit. Record again tomorrow.
Resets at 12:00 AM, Manila time.
3.8 Daily limit. 5 submissions a day. Points to Reports → 6.1a
9:41
✕

!
No signal
Record needs internet to get a code and send the video. Move to a spot with signal.
3.9 No signal. A code and upload both need internet. Try again → 3.5

4Record

One-time code, live camera only, 15 s: signboard first, then turn 90°. No gallery or file option exists.

9:41
✕

Your code

K7Q4ZP
This code shows on every frame of your video.
Start within9:42
  1. Start on the signboard.
  2. Turn slowly 90°.
  3. Recording stops at 15 s.
4.1 Code issued. Must start within 10 min (countdown). Start recording → 4.2 Time out → 4.6
9:41
✕◷ 9:31 left to start
CODEK7Q4ZP
SIGNBOARD
Point at the signboardKeep the code visible
Tap to record 15 s
4.2 Live camera, ready. Code drawn on the frame. Tap the button → 15 s clip starts 4.3
9:41
✕0:03 / 0:15
CODEK7Q4ZP
SIGNBOARD
Start on the signboardHold 2 s, then turn slowly right
Recording · stops by itself at 15 s
4.3 Recording: signboard. 15 s timer runs; stops by itself. After the signboard, turn → 4.4
9:41
✕0:08 / 0:15
CODEK7Q4ZP
→
Keep turning rightSlow and steady
48° of 90°
0°60° min90°
4.4 Recording: pan guide. Progress to 90° (60° minimum marked). Ends at 15 s → 5.1 Under 60° → 4.5
9:41
✕

38°
You did not turn enough
Turn at least 60°, best 90°. Then record again.
Same code. Start within 6:10.
4.5 Pan too small. App checks before upload. Record again → 4.2 (same code, if time is left)
9:41
✕

!
Code expired
10 minutes passed before you started recording. Get a new code to try again.
4.6 Code expired. 10 min passed before recording started. Get new code → 3.5

5Upload

Review, send while you have signal, then know exactly what happens next.

9:41
✕

Check your video

▶ Play · 0:15
✓15 s, code on every frame
✓Turned 92°
✓At the site (80 m)
Send by 3:41 PM (6 h after your code).
5.1 Review clip. Watch it, Retake → 4.2 or Send → 5.2 Must be sent within 6 h of the code.
9:41

Sending

64%
4.1 of 6.4 MB
Keep the app open
Sending needs signal. It stops if you close the app.
5.2 Sending. Progress + keep app open. Done → 5.4 Lost signal → 5.3
9:41
✕

!
Video not sent
Signal was lost. Your video is still on this phone.
Send by 3:41 PM. After 6 h it can't be sent. It also waits in Reports.
5.3 Not sent. Video kept on phone; 6 h limit restated. Send again → 5.2 ✕ → it waits in Reports 6.1b
9:41
✓
Submitted
We check your video now. Follow it in Reports.
  • Sent10:02 AM
  • Checkinga few minutes
  • Review by a person, if neededup to 24 h
  • Result + payoutin Reports
5.4 Submitted. What happens next and where to follow it. See in Reports → 6.1a Back to map → 5.5
9:41
20 USDC
20 USDC
Not open
20 USDC
You
EN · FIL
Earned 20 USDC ›
Near you3 open bounties
Flood control, Brgy. San Roque
DPWH · 0.4 km
20 USDC
Covered court, Malanday Late
Marikina LGU · 1.2 km
20 USDC
Road widening, Bayan-bayanan
DPWH · 2.0 km
Not open
5.5 Map, signed in. Same as 1.1 plus the USDC earned. Tap it → Wallet 7.1

6Reports: follow-up

Every row says its status, whether it pays, when, and the next step. Week 1 = no payout address yet. Week 3 = address ready, payouts flowing.

Week 1
9:41

Reports

6.1a Reports, week 1. No payout address yet, so the verified video waits for one. Tap that row → 7.1
Week 1 · branch from 5.3, not next step
9:41

Reports

6.1b Branch from 5.3: an unsent video waits on top with Send → 5.2 "Time ran out" row → project page 1.4 to record again.
Week 3
9:41

Reports

6.2a Reports, week 3. Address ready. Each money state says when it pays. Tap → 6.3 / 6.8
9:41

Reports

6.2b Week 3, scrolled. Not paid and rejected rows name the cause and the fix. Tap → 6.4–6.7
9:41
‹

Report

School building, Brgy. Parang
Sent 19 Oct 2026, 10:02 AM
▶ Your video
Verified20 USDC
Pays in 17 h 40 m, after a 24 h safety hold.
  • Sent10:02 AM
  • Checked10:05 AM
  • Verified10:06 AM
  • PayoutTomorrow 10:06 AM
6.3 Detail: verified, on hold (School building). Exact payout time. Open public report → its own page, same layout as 8.3
9:41
‹

Report

Barangay hall, Sto. Niño
Sent 6 Oct 2026, 9:15 AM
▶ Your video
Rejected: too farYou were 410 m from the site. Go within 150 m and record again.
  • Sent9:15 AM
  • Checked: too far9:18 AM
6.4 Detail: rejected, too far (Barangay hall). Names the cause and the fix. Record again → 3.5
9:41
‹

Report

Covered court, Malanday
Sent 6 Oct 2026, 11:40 AM
▶ Your video
Rejected: signboard unreadableStart with the sign filling the screen. Hold still 2 s, then turn.
  • Sent6 Oct
  • In review6 Oct
  • Reviewed: sign unreadable7 Oct
6.5 Detail: signboard unreadable (Covered court, after review). Tip on how to film it. Record again → 3.5
9:41
‹

Report

Covered court, Parang
Sent 15 Oct 2026, 2:20 PM
▶ Your video
Video could not be verified.
6.6 Detail: could not be verified (Covered court, Parang). Only this one sentence, by rule. Back → 6.2b
9:41
‹

Report

Pumping station, Tañong
Sent 14 Oct 2026, 8:50 AM
▶ Your video
Verified · Not paid20 USDC
Another user's video of this site was verified first. Your report is still public.
  • Sent8:50 AM
  • Verified8:56 AM
6.7 Detail: verified, not paid (Pumping station). Why, and that the report is still public. Find open sites → 1.1
9:41
‹

Report

Drainage canal, Brgy. Tumana
Sent 6 Oct 2026, 8:30 AM
▶ Your video
Paid20 USDC
Sent to 0x12ab…9f0c on Base, 8 Oct.Tx 0x8f3a…c21e
  • Verified6 Oct
  • Waited for payout address6–8 Oct
  • Sent, confirmed on Base8 Oct
6.8 Detail: paid (Drainage canal, the week-1 video). It waited for the address, then paid. View transaction → Basescan. Open public report → 8.3

7Wallet: get paid

One payout address, USDC on Base only. 48 h wait after add or change. Change needs a passkey check.

Week 1
9:41

Wallet

Earned20 USDC0 paid · 20 waits for your payout address
No payout address yetAdd one so we can send your USDC. Verified payouts wait until you do.
Payouts
Drainage canal, Tumana
Waits for payout address
20 USDC
7.1 Wallet, week 1, no address yet. The verified video waits for it. Add payout address → 7.2
9:41
‹

Payout address

USDC address on Base
0x12ab4c…d8e9f0c
Network: Base (only option)
USDC on Base onlyAnother network or coin = money lost.GCash: GCrypto › USDC › Receive › Base
  • One account per address.
  • Payouts start 48 h after you save.
7.2 Add address. Paste or scan. Network is fixed to Base; warning sits above Save. Save → 7.5
9:41
✕
Scan your USDC on Base addressIn GCrypto: USDC › Receive › Base
7.3 Scan address QR. Live camera only. Read → back to 7.2 filled in
9:41
‹

Payout address

USDC address on Base
0x12ab4c9f
!
This is not a full address. Copy it again from your wallet.
Network: Base (only option)
USDC on Base onlyAnother network or coin = money lost.GCash: GCrypto › USDC › Receive › Base
  • One account per address.
  • Payouts start 48 h after you save.
7.4a Invalid address. Inline error, Save stays off until fixed.
9:41
‹

Payout address

USDC address on Base
0x77fe01…b31a2d4
!
This address belongs to another account. Use your own address.
Network: Base (only option)
USDC on Base onlyAnother network or coin = money lost.GCash: GCrypto › USDC › Receive › Base
  • One account per address.
  • Payouts start 48 h after you save.
7.4b Address already used. One account per address. User must add their own.
9:41
‹

Payout address

USDC address on Base
0x0bad11…ce99a01
!
This address can't receive payouts. Add a different address.
Network: Base (only option)
USDC on Base onlyAnother network or coin = money lost.GCash: GCrypto › USDC › Receive › Base
  • One account per address.
  • Payouts start 48 h after you save.
7.4c Address blocked. Can't receive payouts. Add a different one.
9:41
‹

Payout address

USDC address on Base
0x12ab4c…d8e9f0c
Network: Base (only option)
USDC on Base onlyAnother network or coin = money lost.GCash: GCrypto › USDC › Receive › Base
  • One account per address.
  • Payouts start 48 h after you save.
Check before you save
Address
0x12ab…9f0c
Coin
USDC
Network
Base
Wrong network = money lost.Payouts are final. First payout can go out in 48 h.
7.5 Confirm before saving. Last check: USDC, Base, 48 h. Save → 7.6 Edit → 7.2
Week 1
9:41

Wallet

Earned20 USDC0 paid · 20 sends when your address is ready
Payout address · BaseChange
0x12ab…9f0c
Ready in47 h 59 m
Payouts wait until then.
Payouts
Drainage canal, Tumana
Waits for payout address · ready in 47 h
20 USDC
7.6 Address saved. 48 h countdown. Payouts listed below. Change address → 7.7
9:41
‹

Change address

Current
0x12ab…9f0c
New USDC address on Base
0x5c3e9a…a0712bd
The 48 h wait starts againPayouts pause until the new address is ready.
USDC on Base onlyAnother network or coin = money lost.
7.7 Change address. Restart of the 48 h wait is the loudest line. Confirm → 7.8
9:41
‹

Change address

Current
0x12ab…9f0c
New USDC address on Base
0x5c3e9a…a0712bd
The 48 h wait starts againPayouts pause until the new address is ready.
USDC on Base onlyAnother network or coin = money lost.
Phone system sheet
Confirm it's you
bountyportal.ph · @tala-482 · Use fingerprint, face or screen lock
CancelContinue
7.8 Passkey check. (system UI) OK → 7.6 with a fresh 48 h countdown
Week 3
9:41

Wallet

7.9 Payouts, week 3. Same rows and words as Reports 6.2a. Tx link on paid ones.

8Help & public page

How it works, the rules, safety, language, sign out. And the public report anyone can open.

9:41

Help

How it works
  1. Find an open bounty on the map.
  2. Go there. Record 15 s: signboard, then turn 90°.
  3. First verified video gets 20 USDC.
Stay safe: public land only, in daylight. Payouts are final.
Bounty rules›
LanguageEnglish›
Sign out›
8.1 Help home. 3 steps, safety, rules, language (→ 1.3), sign out → 8.4
9:41
‹

Bounty rules

Who can join
18 or older. One account, one payout address.
What pays
20 USDC to the first verified video of a site with an open bounty. Payouts are final.
Why videos get rejected
Farther than 150 m. Turned less than 60°. Signboard not readable. Filmed from a screen or photo. Copied video.
Limits
5 submissions a day. 3 paid a day; the next one pays after 12:00 AM Manila.
When a bounty opens again
90 days after it closes, or when the project status changes.
Safety
Public land only. Daylight only. Do not enter work sites.
8.2 Bounty rules. The only long-text screen. Scrolls.
9:41
bountyportal.ph/r/8KD2Q
▶ Video · faces & plates blurred
Verified videoLate
Drainage canal, Brgy. Tumana
Agency
DPWH
Recorded
6 Oct 2026
Budget
₱12.5M
Due date
30 Jun 2026
Source: DPWH Transparency Portal ↗
8.3 Public report (anyone, no account, in a browser). Faces and plates blurred. Share is the main action.
9:41

Help

How it works
  1. Find an open bounty on the map.
  2. Go there. Record 15 s: signboard, then turn 90°.
  3. First verified video gets 20 USDC.
Stay safe: public land only, in daylight. Payouts are final.
Bounty rules›
LanguageEnglish›
Sign out›
Sign out?
Sign in again with your passkey. There is no recovery code.
8.4 Sign out. Reminds there is no recovery code. Sign out → 1.1 signed out