← Back to Cull Diary

Cull Diary Guide

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.

Contents
01 Creating your account 02 The diary view 03 Adding a new entry 03b Blank day (outing, no shot) 04 Quick entry 05 Viewing an entry 06 Editing & deleting 07 Season & ground management 08 Cull targets & season plan 08a Season Plan card 08b Set targets · Season total 08c Set targets · By ground 08d Overview / ground chips 09 Stats & charts 10 Exporting data 10a Hunter declarations & consignments 11 Offline mode 12 Account & privacy 13 Syndicates — full walkthrough 13a Open the Syndicates card 13b Create a syndicate 13c Manage, targets & invites 13d Join with an invite link 13e Ground filter & attribution 13f Team exports (managers) 13g Syndicate messaging
1

Creating Your Account

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.

Sign In
Create Account
Create Account →

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).

Tip: You only need to sign in once. The app keeps you signed in between sessions automatically.
2

The Diary View

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.

First Light
Tap to return to app
Cull Diary
2025–26 Season
2025–26 Season ▾
Species filter (scrolls horizontally)
All Red Deer Roe Deer Fallow Sika Muntjac CWD
Floating actions (above bottom nav)

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.

3

Adding a New Entry

Tap the + button or the Add Entry tab to open the full entry form. The form has 7 sections:

Photo

Take a photo with your camera or pick one from your gallery. This is optional but useful for records.

No photo
Camera
Gallery

① Species

Tap the species you shot. All six UK deer species are available.

1
Species
Red Deer
C. elaphus
Roe Deer
C. capreolus
Fallow
D. dama
Sika
C. nippon
Muntjac
M. reevesi
CWD
H. inermis

② Sex

Select male or female. The label adapts to the species (Stag/Hind for red and sika, Buck/Doe for roe, fallow, muntjac and CWD).

2
Sex
♂ Stag / Buck
♀ Hind / Doe

③ Date & Time

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.

3
Date & Time

④ Location

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).

4
Location
Pin
GPS
Thetford Forest
52.4321°N, 0.8234°E
Tip: Tap the ground field to see your saved grounds. You can manage grounds from the Stats tab → Season Plan → Edit.

⑤ Carcass Weight

Enter the carcass weight in kilograms.

5
Carcass Weight (kg)

⑥ Shot Details

Record calibre (dropdown of common UK deer calibres or custom), distance, shot placement, age class, shooter name, and carcass destination.

6
Shot Details

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.

⑦ Notes

Free text for wind direction, approach, behaviour, conditions — anything you want to remember.

7
Notes
Light SW wind, approached from east along hedge line. Deer feeding on winter wheat. Clean heart/lung shot, dropped within 20m.

Save

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.

Save to Cloud
Syncs to Supabase · Works offline

Blank day (outing, no shot)

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.

Stats: Cull/carcass and species KPIs on Stats focus on actual culls. Blank days are listed separately (outings without a shot) so your season numbers stay meaningful for the larder and returns.
4

Quick Entry

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.

Quick Entry
Species
Red Deer Roe Fallow Sika
Sex
♂ Stag
♀ Hind
Carcass weight (optional)
Weight kg
Save to Cloud
+ Add full details
Tip: Quick entries auto-fill the date, time, and GPS location. Tap "+ Add full details" to switch to the full form.
5

Viewing an Entry

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.

No photo
Red Deer Stag
♂ Stag · 2–4 years Thetford Forest 45 kg
Photo
Tap to expand
Edit entry
When & where
DateSat 6 Apr
Time06:45
LocationThetford Forest
Shot & stalking
Calibre / range.243 · 120m
PlacementHeart / Lung
DestinationGame dealer
Edit
PDF
Game dealer PDF
Delete
6

Editing & Deleting

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.

Warning: Deletion is permanent. If you need a record for compliance, export the entry as PDF before deleting.
7

Season & Ground Management

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.

Tip: Grounds persist across seasons. You can remove a ground from the targets sheet when you no longer need it in the list.
8

Cull Targets & Season Plan

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.

Season Plan card (Stats)

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).

Mock — Season Plan card
Season Plan Cull targets vs actual
Edit
Red  12 / 20
Fallow  8 / 15

Season total

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.

Mock — Set targets · Season total
Set Targets
Season plan
📋 Copy from previous season
SpeciesBucksDoes
Red
Fallow

Targets are optional — use what fits your ground.

By ground

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.

Mock — Set targets · By ground
Set Targets
Season plan
Grounds+ Add ground
Woodland Block
Red, Fallow — set bucks/does per species here
Unassigned buffer — spare head not yet on a named ground

Plan chips on Stats

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.

Mock — chips above the plan (compact)
Overview
Muntjac Alley
Soignee Wood
Season Plan Cull targets vs actual · follows selected chip

Past seasons are read-only for targets.

Tip: Tap Save targets when you are finished — that writes to the cloud and closes the sheet.
9

Stats & Charts

The Stats tab shows season totals, the cull map, your plan card, and deeper breakdowns. The season selector on Stats matches your diary season.

Cull map

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.

Charts & breakdowns

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.

Always visible on Stats

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)

10

Exporting Data

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.

My diary exports
Exports your personal diary data.
Per-carcass trained hunter declarations (for game dealers) are on each diary entry — tap an entry, then Game dealer PDF.

How each export works

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.

Elsewhere in the app

Entry detailPDF 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.

Trained hunter declarations & consignments

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.

Tip: If you are offline, exports that need a full history may fall back to the season already loaded on the device — the app will say so in a toast.
11

Offline Mode

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)

Note: Photos are large. If you're offline for extended periods, the app may need to strip photos from queued entries to stay within browser storage limits. Entries themselves are always preserved.
12

Account & Privacy

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.

13

Syndicates — full walkthrough

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.

Online — creating, joining, and syncing syndicates needs a live session. Sign in first.

Where to find syndicates

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.

Mock — Stats area (syndicate card)
Syndicates Group targets · invite only Tap to show ▾
New
Your syndicates list appears here after you create or join one.

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.

Create a syndicate

Tap New → bottom sheet opens with title New syndicate / subtitle Create a group and set targets.

  1. Name — e.g. “North Block syndicate”.
  2. AllocationGroup total (shared pool) or Per-member allocations (manager sets each member’s caps separately).
  3. Ground filter (optional) — pick a saved permission, or Other / new ground… to type a label. Only entries whose Permission / Ground matches exactly (same spelling) count toward this team’s totals. Leave empty to count all members’ qualifying entries.
  4. Tap Create syndicate. On success, the manage sheet opens for that team.
Mock — “New syndicate” sheet (fields)
New syndicate
Create a group and set targets
Name
North Block syndicate
Allocation
Group total (shared pool) ▾
Ground filter (optional)
Woodland Block A ▾

Entries must match this ground label to count. Empty = all grounds.

Create syndicate

Manage: members, targets & invites

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 linkGenerate 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.

Mock — manage sheet fragments
North Block
Manager · 2025–26 Season
Members
You Manager · Joined 1 Apr 2026
Only manager
A. Keeper Member · Joined 8 Apr 2026
Promote
Invite link

Generate a link and send it to members. They must be signed in to accept.

Generate new invite link
Delete syndicate
Leave syndicate

Join with an invite link

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 & syndicate attribution

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.

Team exports (managers only)

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.

Mock — syndicate export modal
Syndicate export
Choose syndicate and scope.
List scope (CSV / PDF)
Export
Tip: Non-managers never see this block. Your personal My diary exports (CSV, PDF, Summary, Larder, …) are unchanged.

Syndicate messaging

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.

Tip: The unread chip clears once you've opened and scrolled the thread, and turns red again when a new message lands.

© 2025–2026 Sohaib Mengal · First Light · All rights reserved

← Back to Cull Diary