Step-by-step tutorial
Updated against the in-repo Cull Diary (diary.html). If controls look out of date, hard-refresh or wait for the service worker cache to update.
The Cull Diary requires a free account to sync your records securely across devices. Open the diary from the main First Light app by tapping Cull Diary in the header.
After creating your account, check your email for a confirmation link. Once confirmed, sign in with your email and password.
If you forget your password, tap Forgot password? on the sign-in screen. Enter the email for your account and use the link in the reset email to choose a new password (check spam if nothing arrives).
Once signed in, you land on the diary list. Entries show as cards in a scrollable feed, grouped by month. The layout matches the mock below: a dark green header (with First Light branding), then species chips on the cream panel — not a 2×2 stats grid with a gap, and not nav fused into the header card.
The three headline numbers are Total (animals), combined carcass kg, and how many species you have recorded this season — one compact row, aligned with the app.
Use the season dropdown in the header row to switch seasons. The book icon opens this guide; the chart icon jumps to Stats.
After your first entry, you also get a search bar (species, ground, tag, blank day, notes…), optional ground filter when you use more than one permission, Newest / Oldest sort, and Select for bulk CSV, Dealer PDF (consignment declaration — see step 10a), or delete.
When an offline queue is building, a banner appears above the entry list with Sync now once you are back online. The Diary tab can show a small offline badge when something is pending.
Tap the + button or the Add Entry tab to open the full entry form. The form has 7 sections:
Take a photo with your camera or pick one from your gallery. This is optional but useful for records.
Tap the species you shot. All six UK deer species are available.
Select male or female. The label adapts to the species (Stag/Hind for red and sika, Buck/Doe for roe, fallow, muntjac and CWD).
Auto-filled with the current date and time (in UK time). Adjust if logging a past cull.
Outing start and Outing finish are optional — fill them when you are tracking hours stalked (DMG and government funding reports often require this rather than just shot times). The same two fields appear on blank-day entries.
Enter a place name, use GPS for your current position, or drop a pin on the map. You can also assign the entry to a saved ground (permission/estate).
Enter the carcass weight in kilograms.
Record calibre (dropdown of common UK deer calibres or custom), distance, shot placement, age class, shooter name, and carcass destination.
Destination options: Self / personal use, Game dealer, Friend / family, Stalking client, Estate / landowner, Left on hill, Condemned.
The tag number links your diary entry to the physical carcass tag — useful for larder records, game dealer declarations, and DMG returns.
Free text for wind direction, approach, behaviour, conditions — anything you want to remember.
Tap Save to Cloud to sync your entry to Supabase. If you're offline, it queues automatically and syncs when signal returns.
On long forms, a small progress hint under the date (e.g. which section you are in) updates as you scroll — useful on a phone in the field.
When you have been out but did not take a shot — and still want a dated record on the right ground — use Blank day instead of a full cull. Open Add entry, then use the in-form control to switch to the blank-day flow (you will not pick species, sex, or carcass details).
Log date & time, location and ground as usual, and add notes if you like. Photos are not part of a blank day in the same way as a cull entry — the list uses a no shot / landscape motif so you can spot it quickly.
In the diary list, the card title is Blank day with the ground and your note preview. Species filter must be on All — a blank day is not a deer species, so a species chip hides it. Search picks up blank, blank day, outing, and no shot in addition to your ground and notes.
For speed in the field, tap the Quick pill (lightning icon) above the + button. This opens a streamlined bottom sheet — just pick species, sex, and optionally enter weight. Everything else can be added later by editing.
Tap any entry card to open detail: a photo hero (species and chips), then cards on a cream background — photo thumbnail (tap for full size), when/where, weights and distance, shot and stalking, notes, and weather when saved. Edit entry sits beside the thumbnail.
At the bottom, the action bar is Edit, PDF (a simple diary-style PDF for that cull), Game dealer PDF (a trained hunter declaration for game dealers and UK wild-game food-safety paperwork), then Delete. See also step 10a — Hunter declarations & consignments.
From the detail view, tap Edit to reopen the full form with all fields pre-filled. Make your changes and save. The entry updates in place — no duplicate created.
Tap Delete to permanently remove an entry. You'll be asked to confirm. Deleted entries cannot be recovered.
The diary organises entries by stalking season (August–July). Use the season dropdown in the diary header to switch between seasons.
Grounds (permissions / estates) let you tag entries by where you stalk. To add or review saved grounds:
1. Open Stats → on the Season Plan card tap Set targets or Edit (wording depends on whether you already have targets).
2. Open the By ground tab and use Add ground to name a permission.
3. Saved grounds then appear as tappable options in the entry form’s Permission / Ground field.
Set cull targets to compare your plan to actual culls. From Stats, use Set targets or Edit on the Season Plan card (same sheet — the label depends on whether anything is set yet). The blocks below are HTML mocks aligned with diary.html — not PNG screenshots.
The card sits in the cream strip on Stats with your other summaries. Expand it to see targets vs actual chips and Edit (or Set targets when nothing is saved yet).
Steppers for each species (bucks / does — labels follow the species) set your headline season plan. A footer under the grid shows total bucks, does, and animals. The sheet opens on this tab first.
After you save at least one named ground, use this tab to split targets by permission. Unassigned buffer is for animals you still count in the season but have not parked on a named ground — the app explains how it lines up with the headline when you save.
While the sheet is open, Season total and By ground stay aligned in the background. If you close with changes you have not saved, you will be asked to confirm.
When grounds or ground targets exist, chips appear above the Season Plan card — e.g. Overview plus each ground (and Unassigned where it applies). Overview can follow the sum of ground targets when that is how you are running the season; tapping a ground filters the plan and stats to that place.
Past seasons are read-only for targets.
The Stats tab shows season totals, the cull map, your plan card, and deeper breakdowns. The season selector on Stats matches your diary season.
Every entry with a pin appears on the interactive map. Use Map / Satellite to change the base layer. Under the map, the species chips control which pins are shown and they rebuild all stats and charts below for that species (or All). Those chips are separate from the Diary tab species filter, which only narrows the entry list — choose the same species under the map if you want stats to match what you were viewing in the list.
Below the plan / exports area, open Charts & breakdowns to reveal sections such as:
• Monthly cull — activity through the season
• Cull by ground — when you use grounds
• Species and sex splits
• Age class, shooter, carcass destination
• Calibre and shot distance (when those fields are filled on entries)
Each block respects your current season on Stats and the map species chip (see above). Empty sections show a short “no data” message.
• Headline counters (animals, kg, etc.) — follow the map species chip once you change it from All
• Season Plan — targets vs actuals; the Overview / ground chips above the plan choose which permission’s entries count as “actual” (separate from the map species filter)
• Syndicates card — shared team targets when you belong to a syndicate (see step 13)
• Exports — personal CSV / PDF / Summary / Larder; dealer declarations (step 10a)
On the Stats tab, scroll to My diary exports. The four actions sit in one horizontal row (narrow tiles, icon + label) — same order and colours as in the app mock below. Under the row, a short note points you to Game dealer PDF on each entry.
CSV, PDF, and Larder Book open the same bottom sheet: Season, Permission / Ground, then Entries matching selection (live count) before you generate. All Seasons appears when your history is loaded. UTF-8 CSV opens cleanly in Excel; PDF is a simple formatted list; Larder Book is a dedicated PDF for larder / game-handling style records (entries marked Left on hill are not included).
The CSV includes Latitude / Longitude columns (populated when you saved a GPS pin or used the GPS button on Location) and Outing start / Outing finish times — useful for DMG and government funding reports that need GPS evidence or hours-stalked figures. The single-entry PDF and the diary PDF list the outing window in each entry's meta line; other PDFs (Larder, Game Dealer, Consignment, Season Summary) are deliberately unchanged.
Summary opens a different sheet (same season + ground idea) to build the Season Summary PDF — header stats, species breakdown, plan progress, and a full entry table — good for estates or DMGs.
• Entry detail — PDF vs Game dealer PDF (see declarations & consignments below).
• Diary list → Select — multi-select entries for CSV, Dealer PDF (consignment declaration for several carcasses at once), or Delete.
• Syndicate exports (managers only) — team-wide CSV / PDF / Summary / Larder under Stats; see step 13.
These are not the same as the big Stats exports above — they are legal-style PDFs built from your entries for game dealers and food-safety traceability.
One carcass — trained hunter declaration. Open any entry → Game dealer PDF. That downloads a trained hunter declaration for that single cull, using the details you saved (species, shot, destination, tag, abnormalities, etc.). The plain PDF button next to it is only a simple diary record of the same entry — useful for your files, but different in purpose.
Many carcasses, one delivery — consignment declaration. On the diary list, tap Select, tick every entry that is leaving in the same consignment to the game dealer, then Dealer PDF. The app produces one PDF covering the whole batch (one declaration block and signature line for the delivery). This matches how assimilated Reg. (EC) No 853/2004 paperwork often expects one declaration per consignment rather than one PDF per carcass. Entries marked Left on hill are excluded; if none of your selection qualify, the app will tell you.
These PDFs support your records workflow — they do not replace professional legal or food-business advice.
The diary works without signal. When you're offline:
• New entries are saved to a local queue on your device
• A banner shows how many entries are queued and storage used
• When signal returns, entries sync automatically
• If storage runs low, photos are stripped to save space (you'll be notified on sync)
Your diary data is stored securely in Supabase with row-level security — only you can access your entries. No one else, including the developer, can see your data.
From the Stats tab, scroll to the bottom to find:
• Sign out — signs you out on this device
• Delete account — permanently removes your account and all diary data
For full details, read the Privacy Policy.
Syndicates let a small team share group cull targets next to your personal diary. Access is invite-only. The layouts below are HTML mocks matched to the real Cull Diary (diary.html / diary.js) — not PNG screenshots, but the same labels and flow.
Stats tab → scroll until you see the Syndicates card (it sits above My diary exports). It is collapsed by default — tap the header row or “Tap to show” to expand.
• New (green) opens the create sheet (next section).
• After you have teams, each syndicate appears as a tappable row with progress — tap to open manage.
Tap New → bottom sheet opens with title New syndicate / subtitle Create a group and set targets.
Entries must match this ground label to count. Empty = all grounds.
Open a syndicate from the list → sheet title shows the syndicate name; subtitle shows Manager or Member and the current season.
Managers see:
• Members — each active member with role; Promote / Remove (demote another manager only if there are two or more managers). You cannot remove the sole manager. Leave at the bottom if you are a member; managers must promote someone else before leaving.
• Group targets — species/sex steppers for the current season + Save targets (group mode).
• Per-member allocations — choose a member, set their allocation grid, Save allocations for member (individual mode).
• Invite link — Generate new invite link; copy URL; list of active invites with uses left, expiry, Copy / Revoke.
• Manager · culled by member — read-only log of team culls for oversight.
• Delete syndicate (destructive).
Members (non-managers) see progress copy and can Leave — they do not edit team targets.
Generate a link and send it to members. They must be signed in to accept.
Your manager sends a URL (time- and use-limited). Open it while signed in to the same browser / PWA — the app accepts the invite and adds you to the syndicate. If the link expired or was revoked, ask for a new one.
• Ground filter on the syndicate only affects which of your diary entries count toward that team’s plan — it does not rename your grounds globally.
• On Add entry / Edit entry, use Permission / Ground and Syndicate attribution (optional). A cull can count toward at most one syndicate; leave personal-only if you want no team credit.
• The ground dropdown groups Syndicate permissions vs My permissions so you can see which labels match a team filter. If the text does not match the syndicate’s filter exactly, the cull may not count toward the team.
If you are a manager, a second block appears under your personal exports: Syndicate exports (managers) — Team CSV, Team PDF, Team Summary, Team Larder. These pull team-wide diary data (every member), not just your rows.
Tapping one opens a modal: pick Syndicate, Season, and (for CSV/PDF list) This season only vs All seasons. Summary follows the season shown.
Each syndicate has a single rolling thread for team chat — manager announcements and member discussion mixed together. Useful for "I'm out at North Wood today", "saw a roe doe by the larch", weekend plans, and so on. The thread is polled, not real-time — the app refreshes when you open the manage sheet or the Stats card.
Where to find it — open a syndicate from the Stats card, then look for the Messages section in the manage sheet. The syndicate row on Stats shows an unread chip next to the team name — red when there are new messages since you last looked, green once you are caught up. Tap the chip directly to jump straight to the thread.
Posting — type into the box and tap Post. Messages are 500 characters max, cannot be edited after posting (write twice, post once), and are stamped with your member name and role at the time of posting (so a future role change does not rewrite history).
Pinned messages — managers can pin up to 3 messages at once (a 📌 indicator marks them). Useful for stuck-at-the-top notices like "weekend cull plan" or "ground rules". Soft-deleting a pinned message auto-unpins it. Members cannot pin or unpin.
Soft delete — your own messages can be removed; managers can remove anyone's. Removed messages no longer render but stay in the database with a deletion stamp, so the audit trail is preserved.
What you see — the thread fetches the most recent 30 messages in a fixed scroll region. Older messages remain in the database for audit but are not shown in the UI, to keep the sheet quick on mobile.
© 2025–2026 Sohaib Mengal · First Light · All rights reserved
← Back to Cull Diary