Skip to content
Fyndi docs
Polski

Staff panel#

The staff panel is the web control room of the project: it lives under the fyndi.app domain, requires a staff account, and is the only place where content, players, releases and the project's knowledge are managed.

What the panel is#

  • It is a web application, not a separate program: pages under /panel/…, served by the same server as the website. An ordinary player never sees it.
  • After logging in, a normal user gets the landing page and /account — the account screen has the same view for every role, without a list of users.
  • Staff additionally get a Panel button in the menu. Managing accounts happens in the panel's dashboard area, not on the account page.
  • On a phone it can be installed like an app: open the panel in Chrome for Android, then browser menu → Add to Home screen / Install app. The fyndi icon opens the panel without the address bar.

Inside, the shell is common to every page: a collapsible sidebar (the width and the collapsed state are remembered in the browser), a slim command bar above the content with a search field, a PRODUCTION marker and a refresh button, and a command palette under Ctrl/⌘ + K. On narrow screens the sidebar becomes a drawer and the bottom tabs behave like the app's bottom bar.

Roles and access#

RoleWhat it can see
userlanding page and /account only — no panel at all
modthe whole panel except the admin-only pages
admineverything, including users, crash reports, rewards, releases and the security/backup pages

The menu is grouped into five sections — Dashboard, Content, Players, Operations and Knowledge. A menu entry without a role restriction is visible to mod and admin; an entry marked admin is hidden from mod, and a whole group disappears when none of its entries is available to you.

  • Typing an admin URL while being a mod does not work — the page redirects to the dashboard with a message, because the access check runs before the page renders.
  • The API checks the same thing again. Hiding a button is convenience; the server-side role check is the actual gate, which is why a direct API call with insufficient rights answers with a refusal rather than data.

Panel pages#

PageWhoWhat it is for
Dashboardstaffproduction status bar, KPIs, 7- and 30-day activity, security report, “needs attention”, recent events, content in the game, the app release, planning and quick actions
Content creatorstaffroutes, stops and finds: unlock rules (GPS / puzzle / AR), media and 3D model uploads, sponsors
Planningstaffthe task board and shared notes: a text editor plus voice notes (the recording stays, the text is transcribed)
Mediastaffthe file library on the server: upload, preview (including 3D), copy URL, delete
3D modelsstaffthe object generator for the map and AR: prompt → 2D concept → 3D model, with a cost log. Characters are not made here
Character generatorstaffthe blocky wardrobe (hair, hats, clothes, extras, colours, randomise) — the same creator as in the Android app
NPC botsstaffthe bot list: kind, loop, pace, gift and duty calendar; add, edit, enable, disable
Rewardsstafftoken rules (event → amount, daily limit), the reward catalogue and redemption history
Wiki (project brain)staffthe project's knowledge graph: technical notes, decisions, the work journal — staff only
Releasesadmina read-only view of the APK mirror: what is in the releases and what a phone sees when updating
Translationsstaffoverriding app and website texts in Polish and English without a new release; an empty field means “fall back to the text inside the app”
Usersadminthe list of accounts with filters and the guest card; the details view holds the whole account plus the character in 3D
Reportsadmincrash reports sent by the app: summary, row list, full stack after clicking, filters and an empty state
Accountlogged inthe player-facing screen (/account), including the link to the character creator

Documentation moved out of the panel: the technical and player sections that used to sit under /panel/docs are now this site — docs.fyndi.app. The address redirects here, so an old bookmark still lands in the right place.

Content creator#

The creator is one screen: map in the middle, panel on the left, details on the right. It is opened from the panel as Content creator, and the same code runs under /creator for mod and admin.

  • Two tabs, not two steps. Stops and Route are independent sets of options, so they are not numbered: 1 and 2 are shortcuts, and the route's own road section lives inside the route panel. Switching to Stops closes the open route (after saving pending edits).
  • The road is drawn by hand. The path between stops is not snapped to pavements, because stops are sometimes in the middle of a forest — the drawn line is what the app then follows.
  • Details on the right, in a rail that can be dragged wider, collapsed or closed, with its state remembered. Selecting anything opens it.
  • Order matters. Stops are reordered by dragging (or with the up/down/remove buttons), and the app completes them in that order.
  • Publishing is a route-level switch: Publish in the app / Remove from the app.
What you set on a stopOptions
Completion ruleGPS radius (45 m by default), a puzzle, or an AR view
Puzzlequestion plus answer — the answer is stored only as a hash
Mediaa photo, audio or a 3D model from the file library
Kindan ordinary stop, a start of a route, or a find (a find is never a stop — Data model)

Before publishing, one thing is worth remembering: the creator's own map is not the player's map. It shows draft material, while the app shows only published content, with the marker rules described in Map and markers.


Documented for app version 0.120.1 (updated 2026-09-26).

Machine translation — the Polish version prevails.

App version: 0.120.1 · API version: 0.35.0 ·

docs.fyndi.app · 2026-09-26