Skip to content
MostafaAshry513Public

About

Hide from your friends. Real-world GPS hide-and-seek for Android. Free signed APK, self-hostable, not on Play Store.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

172 Commits

Folders and files

Repository files navigation

ManHunt

ManHunt — HIDE FROM YOUR FRIENDS. A real night street map from the app with a cyan hunt zone, a coral prey marker and a stale white one, a dashed coral trail, and a board reading HUNTING, 41:12, Prey 2/2, Zone 240 m. Coral report pings travel across the map plate.

Hide from your friends. Real-world hide-and-seek, played on your street. Two teams, one street, one clock the players can’t bend. Prey hide; Hunters track the latest reports on a live map and tag them in person.

Install the free APK | Watch the 60-second film | Latest release

Free APK · Android 8.0+ · not on Play Store · status and limits


The map is the field

Live hunt map from the app: real OpenStreetMap night tiles with the cyan 240 m zone ring, a fresh coral prey marker, a stale white marker beside it, and a dashed coral trail.

Live hunt in the app, “Riverside Run” · real OpenStreetMap tiles · Map data © OpenStreetMap contributors

Hunters see the latest report from each phone, not a perfect live feed. Prey see the field, the zone and their own position — never other players’ positions. The zone and the trails are the host’s call; the server keeps the clock.

  • Zone — the area the host sets for the round.
  • Latest report — where a phone last checked in, not where it is now.
  • Trail — movement history, off unless the host turns it on.
  • The clock — server-timed; it pauses for everyone or for nobody.

Two sides

Prey kit tag Hunters kit tag
Hide. Stay free. Your phone reports your position to the Hunters at the room’s interval. Stay out until the clock stops — if one Prey is still free, Prey win. Track. Tag. Follow the latest reports and trails. Find a Prey in the real world and tag them in person — they confirm or dispute, and the server decides what counts.

Four beats, one organiser

01 · ROOM
The host creates the hunt and shares a six-character code with the group.
02 · SIDES
Everyone picks a side, Prey or Hunters, then readies up in the same room.
03 · HUNT
The server runs the rules: clock, zone, trails and report interval.
04 · RESULT
Full time. Prey win if anyone is still out; otherwise Hunters win.

In the app

Real captures from the app, seeded with a believable “Riverside Run” game on a test server — same phone, same room, one honest run from the host plate to the final score.

Home: the MANHUNT masthead, the permanent line, host a hunt and join a hunt Lobby: real invite code VMJYBU, two Prey and three Hunters, everyone ready Live hunt: real map tiles, the 240 m zone ring, fresh and stale prey markers, a coral trail, the clock at 41:12 and the Tag prey dock Result screen: full time at 18:48 played, PREY 0/2, Hunters win, with back-to-lobby and view-hunt-history actions
Home — host or join Lobby — code, teams, ready Live hunt — reports, trails, zone Result — Hunters win, full time
More screens
Prey view tag claim: a Hunter says they physically touched you — confirm or dispute Tag target sheet: who did you tag? the eligible Prey list over the map Room chat during the hunt: seeded field log with match events Home in light theme: ink masthead, chalk plates and the permanent line
Tag claim — confirm in person Who did you tag? — pick the target Chat — the room log Light theme — same board

Watch the film

ManHunt 60-second explainer cover One minute, the whole loop. The hook, the two sides, how phones report position, how Hunters track reports, how tagging works, and the server clock. Fully animated — no real people or stock footage.

60-second explainer | 30-second cut | 15-second hook | six-second GIF

The rules the server keeps

Rule What the server keeps
The clock Server-timed start, head start, pause/resume and full time. A pause shifts the clock for everyone, so nobody loses time.
The sides Prey and Hunters are set per room. Prey positions are visible only to the Hunters in that room, only during the hunt.
Tags A tag claim is stored, then confirmed or disputed by the Prey. A Huntmaster resolves disputes; duplicate claims cannot double-apply.
The zone Open play or a circular zone with a step-down shrink and countdown. Boundaries are informational — the app does not stop you crossing them.
Reconnects A dropped phone can rejoin. Room state lives on the server, not the phone, so losing signal does not bend the rules.
The map Real OpenStreetMap tiles. Prey positions are the latest reports, not a perfect live feed. Trails are the host’s call.

Why this exists: in most real-world games the rules are social. Here they are kept by the server, so an argument about the clock or a tag has an answer.

Get on the field

Free, signed APK. No account email. Not on Google Play. Android 8.0+ · about 2.3 MB · the current version, size and SHA-256 are always on the install page.

Download the free APK

  1. Download the APK on the Android phone you will play on.
  2. Allow installs from this source when Android asks. If it does not ask: Settings → Apps → Special app access → Install unknown apps.
  3. Open ManHunt and create a local account — no email required. Host a hunt or join one with a code.

Play Protect may warn about a sideloaded app; that is normal for a signed APK installed outside a store. Install anyway only if you trust this repository. In-app updates verify the SHA-256 before installing.

Status and limits

ManHunt is an active hobby project, not a polished consumer product. Honest list:

  1. The hosted deployment is plain HTTP at a bare IP — session tokens and GPS data are not encrypted in transit. Use test data only, or self-host behind HTTPS.
  2. The hosted server is a test server. One VM, SQLite, no availability guarantee; data may be wiped. No email is collected, so there is no password recovery.
  3. Play with people you trust. GPS is shared with the Hunters in your room during a match. ManHunt is a game, not a safety or tracking service.
  4. Zones are informational. Players can physically leave the zone; the shrink countdown is not enforced server-side.
  5. Verified in CI on an Android emulator, not re-verified on physical phones. Real GPS battery behaviour depends on the device.
  6. Not on Google Play. Sideloading means “unknown sources”, possible Play Protect warnings, and no store-managed updates.

Security | Architecture | Deployment | Runbook | All documentation

Build it, or host it yourself

The backend is one Node.js process with the built-in SQLite driver — no database server, no Docker, no external services. A small game can run on one machine.

git clone https://github.com/MostafaAshry513/ManHunt.git
cd ManHunt/server
npm ci
npm start          # http://127.0.0.1:8080

To let phones on your network connect, bind all interfaces with HOST=0.0.0.0 npm start, then set the server address on the app’s sign-in screen. Changing the server signs you out.

Quality gates run in CI on every push: server typecheck and node --test, a live HTTP/WebSocket smoke test, a scripted match simulation, the Android debug/release builds, JVM tests, lint and an in-app test on a real Android emulator.

Testing | API reference | Decisions | Contributing | Changelog

ManHunt

MIT licensed · Map data © OpenStreetMap contributors (ODbL) · free sideloaded APK, not on Google Play · ManHunt is a game, not a safety service.

About

Hide from your friends. Real-world GPS hide-and-seek for Android. Free signed APK, self-hostable, not on Play Store.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages