Office Duck Hunt
CASE STUDY · GOODBYE PROJECT

32 ducks.
One final team experiment.

I built an office treasure hunt before I left the company. The main question was simple: will teamwork create more value than personal gain?

Role Product design, full-stack engineering, operationsBuild AI-assisted developmentLocation Athena Building · 2026
32/32ducks claimed
13unique payment accounts
104reward claims
4h 22mfirst-to-last claim
778KVND in rewards

WHY I MADE IT

A delayed idea became my goodbye gift.

I wanted to create a fun office experience about discovery and teamwork. The reward model tested one idea: people may accept a smaller personal reward when sharing creates a larger group reward.

I had already bought the ducks, but the project stayed at home for a long time. My resignation gave it a deadline and a purpose. I wanted to leave one shared experience, not only send a farewell message.

I am introverted, but I still value community and appreciation. I wanted people to enjoy the game, and I also feared that nobody would join. Several enthusiastic coworkers gave the hunt energy, encouraged others, and helped it spread.

01

Bought the ducks

The goal was a fun office experience about discovery and teamwork.

02

Paused the idea

Payment and product-integration problems made the small game too costly to build.

03

Used AI to reduce effort

AI-assisted development made a standalone website practical.

04

Set a deadline

My resignation changed the project into a goodbye gift.

05

Shared the energy

Enthusiastic coworkers helped the game spread through the office.

THE MAIN BET

Will teamwork beat personal gain?

A player could keep a duck private and protect the largest personal reward. The player could also share it. Each extra player reduced the reward per person by 10%, but increased the total group reward.

1 player10K10K total
2 players9K each18K total
3 players8K each24K total
4 players7K each28K total
5 players6K each30K total

This example uses a common duck with a 10K base reward. Rare ducks used the same model with a higher base reward.

THE FLOW

Five steps connect each duck to a valid claim.

01

Find

Find a yellow duck in the office.

02

Scan

Scan its QR code to open the correct page.

03

Check

See the duck, reward, claims, and open slots.

04

Claim

Enter a name and a MoMo or bank account.

05

Choose

Keep, move, or share the duck.

THE RESULTS

The claim data shows speed, repeat play, and sharing.

Source: final claim and gallery records. All values are aggregates.
2h 22mto claim half of all ducks
43claims in the busiest 15 minutes
77%of payment accounts claimed more than one duck
4.6/5average slots per claimed reward duck
17reward ducks reached five claims
39%of claims included a photo
CLAIMS OVER TIME

Total claims

4h 22m
Cumulative reward claims over timeThe curve rises from the first claim to 104 claims after 4h 22m.
First claim104 claims4h 22m
CLAIMS PER DUCK

Final slot count

20 ducks
0 slots0
1 slot1
2 slots0
3 slots2
4 slots0
5 slots17

Data limit: The system stored successful claims, but not all QR scans. I use each payment account as one player identity. The data shows claim behavior. It does not show the scan-to-claim rate.

WHAT I LEARNED

The result answered three product questions.

01 · FIRST-SCAN ONBOARDING

Can one scan start the game?

Evidence
Half of all ducks had a claim within 2h 22m of the first claim.
Lesson
The first page gave enough information to start. I did not track anonymous scans, so I cannot see where users stopped.
02 · TEAMWORK

Will people trade personal gain for group value?

Evidence
19 of 20 claimed reward ducks had at least two players (95%).
Lesson
Many players shared. The reward model helped, but duck location and coworker energy also affected the result.
03 · REPEAT PLAY

Will players search for more ducks?

Evidence
10 of 13 payment accounts claimed more than one duck (77%).
Lesson
The short claim flow supported repeat play. Payment accounts are only an identity estimate. The next version needs a private player ID for accurate player data.

THE SYSTEM

The game needed strict claim and privacy rules.

QR cardDuck code + claim token
Public web appRules, status, claim form
D1 databaseAtomic claims + unique rules
+
R2 galleryCompressed player photos

Atomic slot limit

One database operation saves the claim and checks the final slot. Two users cannot claim the same last slot.

Duplicate control

Database rules reject a duplicate name or payment account for the same duck.

Private data

Public lists show only names and times. Payment data and admin controls stay private.

ADMIN TOOLS

Run the game without separate notes.

The admin page handled QR printing, claim cleanup, photos, and payments.

  • A4 PDF export with 12 QR cards per page
  • Live claim list with delete controls
  • Full CSV and grouped payment CSV exports
  • Gallery edit, delete, and ordered ZIP download
104 claims from 13 payment accounts

The grouped export showed each account and its total payment.

THE ARCHIVE

The game has ended. Claims and uploads are locked. The video, leaderboard, photos, and duck collection remain public.

Good luck, ducks.

Each duck now has a new owner.

Open the game archive ↗