Admin Guide

WOW Outdoor App Admin Guide

Procedures for granting VIP, reviewing earned applications, managing the Supabase backend, and maintaining both user-facing guides. For administrator use only.

โš ๏ธ
Admin Access Only

This page contains Supabase field names, admin procedures, and internal rules. Do not share this URL publicly. Admin key: wow2026admin. Supabase project: itxxaaidtfiqzyrsfmvx.

Contents

๐Ÿ†

VIP System Rules โ€” Quick Reference

Monthly Threshold
100 pts
Points needed in a month to earn next month free
Daily Entry Cap
5/day
Max entries counted toward monthly pts per day
Monthly Cap / Year
6 months
Max free VIP months earnable per calendar year
Lifetime Monthly Cap
5 years
Max total VIP years earnable via monthly system
Annual Cloud Req.
Required
Must hold active Cloud membership to qualify for Annual Earned VIP
Annual Window
Rolling 365
Entry counts measured over any rolling 365-day window โ€” not fixed calendar year
Annual VIP Goal
1,000
Entries in rolling 365d + 150 wildlife + 600 hotspots โ†’ 1 free year (365 days)
Annual โ€” Monthly Pause
Paused
Monthly VIP earn is PAUSED during an Annual Earned VIP year. Lifetime progress still counts.
Annual Max Times
5ร—
Annual earned VIP can be granted up to 5 times per account lifetime
State Bonus
+10 pts
Once per state, per account lifetime โ€” counts toward all three award tiers
Lifetime VIP Goal
10,000
Total entries + 2,000 wildlife + 8,000 hotspots + 70% admin verification
Key Rules Lifetime VIP is never purchasable. Monthly reset fires on the 1st of every month (device-side only). GPS state bonus is once per state per account, forever. Annual Earned VIP requires active Cloud membership. The 365-day earning window for Annual VIP is rolling โ€” it does not follow the calendar year. During an Annual Earned VIP year, monthly VIP is paused but Lifetime progress continues.
๐Ÿ“…

Granting Monthly Earned VIP

When a User Qualifies

  • User emails wowoutdoorapp@outlook.com stating their profile screen shows 100+ pts for the current month.
  • Verify: Ask for a screenshot of their Profile screen showing the monthly VIP progress card with 100+ points.
  • Check: Confirm they have not already earned 6 free months this calendar year, and have not exhausted the 5-year lifetime cap.
  • Critical check: Confirm the user is NOT currently on an Annual Earned VIP year. Check vip_type in Supabase โ€” if it is annual_earned and vip_expires_at is in the future, the monthly earn is paused for this account. Do not grant overlapping monthly VIP during an active Annual Earned VIP period.

How to Grant in Supabase

  1. 1 Open Supabase Table Editor โ†’ profiles table.
  2. 2 Find the user by email or username.
  3. 3 Set vip_status = active
  4. 4 Set vip_type = monthly_earned
  5. 5 Set vip_expires_at = the last day of the next calendar month (e.g. if granting in April, set 2026-05-31T23:59:59Z).
  6. 6 Save the record. The user's app will pick up the updated VIP status on next sync.
  7. 7 Reply to the user confirming their VIP has been applied for the month of [month name].
Tip If the user earned VIP for multiple consecutive months, set vip_expires_at to cover the full earned period rather than making multiple updates.
โญ

Granting Annual Earned VIP (1 Free Year)

Eligibility Checklist

  • Active Cloud membership โ€” confirm the user currently holds a Cloud (or higher) subscription. Check vip_status or subscription records. Free-plan users do not qualify. If they are on a paid VIP subscription, they also qualify (Cloud is the minimum).
  • 1,000 total entries in a rolling 365-day window โ€” includes fish, pots, wildlife, birds, hunting. GPS state bonus points count toward this. The 365-day window is rolling (any 365 consecutive days), not tied to the calendar year. Ask the user what their start date is and count entries from that date forward in Supabase.
  • 150 wildlife sightings within the same 365-day window โ€” count rows in wildlife_sightings + bird_sightings with created_at within the claimed window.
  • 600 public hotspot posts within the same 365-day window โ€” count rows in hotspots where user_id matches, visibility_scope != 'private', and created_at is within the window.
  • Lifetime cap check โ€” confirm this account has received fewer than 5 annual earned VIP years. Track in your admin log.
  • Not already on Annual Earned VIP โ€” confirm vip_expires_at is not already in the future for a previous annual_earned grant.

How to Grant in Supabase

  1. 1 Open Supabase Table Editor โ†’ profiles table โ†’ find the user.
  2. 2 Set vip_status = active
  3. 3 Set vip_type = annual_earned
  4. 4 Set vip_expires_at = exactly 365 days from today (e.g. if granting April 5 2026, set 2027-04-05T23:59:59Z).
  5. 5 Save. Reply to user confirming 365-day VIP granted, starting today and expiring on [date].
  6. 6 Inform the user: "During your VIP year, monthly VIP points will not accumulate. Your Lifetime VIP progress continues. When your year ends, you can immediately begin working toward your next Annual Earned VIP year."
  7. 7 Increment the user's annual earned VIP year count in your admin records (to track the 5-lifetime cap).
Important The VIP year award is 365 days from the grant date โ€” it is not tied to the calendar. A user granted in October gets 365 days running from October. Monthly VIP earn is paused for the entire duration of the annual award. Do not grant monthly VIP months to a user whose vip_type = annual_earned and vip_expires_at is in the future.
๐Ÿ‘‘

Granting Lifetime VIP

Eligibility Requirements

  • 10,000 total entries across all activity types. GPS state bonus counts toward this.
  • 2,000 wildlife sightings (wildlife_sightings + bird_sightings tables combined).
  • 8,000 public Network Hotspot posts.
  • Pot events capped at 6,000 โ€” only the first 6,000 pot records count toward the total. Pull the count from Supabase but apply the cap manually.
  • Admin must verify at least 70% of entries as legitimate โ€” review a sample across each activity type to confirm authentic GPS-logged entries. Spot check for duplicate or suspicious mass-entries.

Verification Procedure

  1. 1 Request the user to email a full-screen profile screenshot showing all progress bars at 100%.
  2. 2 Query Supabase to confirm exact counts for each activity table for that user's user_id.
  3. 3 Sample at least 200 entries across all tables โ€” check that GPS coordinates are geographically plausible, timestamps are spread over time, and entries are not duplicates.
  4. 4 If 70%+ pass the plausibility check, proceed. If not, inform the user and specify which entry types failed review.
  5. 5 In Supabase profiles table: Set vip_status = lifetime, vip_type = lifetime, clear vip_expires_at (set to null).
  6. 6 Reply to user with confirmation. Lifetime VIP never expires and is not dependent on subscription renewal.
Important Lifetime VIP must never be sold or offered as a purchase option. It is an earned achievement only. Admin grants via discretion must still be documented internally.
๐Ÿ—„๏ธ

Supabase User Management

Key Database Fields โ€” profiles Table

FieldTypeValues / Notes
vip_statustextnone | active | lifetime
vip_typetextmonthly_earned | annual_earned | subscription | lifetime | admin_granted
vip_expires_attimestamptzSet to null for Lifetime VIP. ISO 8601 string for time-limited VIP.
is_adminbooleanGrants admin features in-app. Use carefully.
user_numberintegerGlobal sequential user number. Auto-assigned at registration โ€” do not edit.
usernametextPublic display name. Unique per account.
emailtextUsed for login and notifications. Matches Supabase Auth email.

Useful SQL Queries

Run these in the Supabase SQL Editor:

  • Find user by email:
    SELECT * FROM profiles WHERE email = 'user@example.com';
  • Count all entries for a user:
    SELECT COUNT(*) FROM fish_catches WHERE user_id = 'UUID';
    Repeat for wildlife_sightings, bird_sightings, crab_pots, hunting_harvests.
  • Count public hotspots:
    SELECT COUNT(*) FROM hotspots WHERE user_id = 'UUID' AND visibility_scope != 'private';
  • List all active VIP users:
    SELECT username, email, vip_status, vip_type, vip_expires_at FROM profiles WHERE vip_status != 'none';

Supabase Access

๐Ÿ“ธ

Screenshot Admin Panel

๐Ÿ“‹

Documentation Maintenance Rule

Every new feature, rule change, or system update to the WOW Outdoor App must be reflected in both guides before the change is considered complete.

Required for Every Feature Change

  • User Guide (website/guide.html) โ€” Update or add the relevant section covering the feature from the user's perspective. Include step-by-step instructions, screenshots descriptions, and tips where applicable.
  • Admin Guide (website/admin-guide.html) โ€” Update the relevant admin procedure, rules reference table, field list, or changelog entry. Any feature that changes admin workflows, VIP rules, database fields, or earn thresholds must be updated here.
  • Changelog (Section 8 below) โ€” Add a dated entry summarizing the change.
  • replit.md โ€” Update the project overview if architecture, key files, or major features change.
Rule If a feature is built without updating both guides, the documentation is considered incomplete. Both guides must be updated in the same session as the feature implementation.
๐Ÿ“

Feature Changelog

Apr 11 2026
Android tester requirements updated. The #android-beta section now lists numbered test requirements: (1) Gmail account required, (2) join via the provided Google Play test link, (3) create or log in to a WOW cloud account in the app, (4) complete additional tasks that will follow during the 14-day period. All steps must be completed to earn the 1-year VIP reward. Email apply flow unchanged (wowoutdoorapp@outlook.com).
Apr 11 2026
Android tester recruitment page updated โ€” 1-year VIP reward. The #android-beta section on the homepage now advertises a 1-year free VIP membership ($94.99 value) to any Android user who completes all steps during the 14-day Google Play test. Old sign-up form removed; interested testers now email wowoutdoorapp@outlook.com directly. Android Build 67 and iOS Build 26 submitted to EAS with Gemini AI model updated to gemini-2.5-flash.
Apr 9 2026
Edit feature added to all entry types. Fish catches, wildlife sightings, and bird sightings now have a pencil edit icon on every card (alongside the existing hunting harvest edit). Entries already shared to the WOW network hotspot show a lock icon and cannot be edited. All edit flows reuse the existing add modal, pre-populated with the entry's current data. Guide updated with editing instructions for all entry types.
Apr 9 2026
Hunting harvest edit feature added. Users can now tap the pencil icon on any harvest card to edit species, method, weight, points, gender, tag number, notes, photos, and GPS pin. Harvests that have been shared to the WOW network as a hotspot are locked (lock icon shown, edit disabled) to preserve data integrity. Guide updated with editing instructions. No new fields required โ€” uses existing updateHuntingHarvest from DataContext.
Apr 8 2026
Android Beta Tester Recruitment section added to website. New section at #android-beta collects name, Gmail address, and device info from Android users who want to beta test. Signups email wowoutdoorapp@outlook.com via /api/android-tester. Nav links added. Required to build Google Play closed testing pool for production access.
Apr 8 2026
Apple resubmission completed. All 6 IAP products (VIP Monthly/6mo/Annual + Cloud Monthly/6mo/Annual) had metadata completed (display names, descriptions, screenshots, availability). Products set to "Ready to Submit." All 6 attached to Version 1.0. Resubmitted for App Review via Build 24.
Apr 5 2026
Annual Earned VIP rules updated. Cloud membership now required. Entry window changed to rolling 365 days (not calendar year). VIP award is 365 days from grant date. Monthly VIP earn paused during Annual VIP year โ€” only Lifetime points accumulate. Both guides updated.
Apr 5 2026
GPS State Bonus simplified. Single lifetime-per-state bonus (not monthly-resetting). Same +10 pts counts toward monthly, annual, and lifetime VIP goals. Never counted more than once per award.
Apr 5 2026
Monthly Earned VIP added. 100 pts/month threshold. Max 5 daily entries count. Max 6 earned months/year. Max 5 lifetime VIP years via this system. All resets on the 1st.
Apr 5 2026
Annual Earned VIP updated. Now earnable up to 5 times lifetime (previously once only). Rules unchanged: 1,000 entries + 150 wildlife + 600 hotspots โ†’ 1 free year.
Apr 5 2026
GPS State Bonus (original) launched. +10 pts per new state discovered while logging, once per account lifetime, via reverse geocoding. Counts toward Annual Earned VIP and Lifetime VIP totals.
Apr 5 2026
Android Build 65 completed. AAB downloaded by user. Awaiting Google Play Production track access approval before upload.
Apr 3 2026
iOS Build 24 completed. Subscription screen fix (removed "development build" message + "Admin Features"). Ready to swap in for Build 22 once rejected.
Mar 2026
VIP pricing set. VIP: $9.99/mo ยท $49.99/6mo ยท $94.99/yr. Cloud: $4.99/mo ยท $24.99/6mo ยท $44.99/yr. Managed via RevenueCat.
Admin questions? Email wowoutdoorapp@outlook.com