Skip to content

Process Log

Luara edited this page Jul 5, 2026 · 2 revisions

Process Log — Development Diary

Entries are historical — a total mentioned on a given day reflects the count at that point in time, not the current total (see Home for current numbers).

June 24 ✅ — Planning + full MVP in 1 day

  • Planning, benchmark, research, personas, visual identity, stack, and timeline sessions
  • Documentation drafted in Notion
  • Full MVP shipped: 9 pages, RLS, storage, weather, search, filters, authentication

June 25 ✅ — Bugs + audit + README

  • Access provider built so a new caretaker sees controls without a manual refresh
  • Timeline gained photo history
  • Map list panel added
  • Missing-cat flow fixed
  • README rewritten
  • Full functional audit
  • First mobile responsiveness pass

June 26 ✅ — UI redesign + copywriting + security

  • Full redesign with the editorial design system
  • Alternating light/dark sections, animations, count-up numbers
  • Complete copy rewrite (warmer, more educational tone)
  • 2 critical RLS bugs fixed
  • Data reset ahead of field research

June 27 ✅ — 16 bugs and features

  • Notification for a cat unseen 7+ days
  • Weather based on real map location (no longer fixed to Natal)
  • Castration status calculated from registered cats
  • Self-confirmation of a report blocked
  • Planned field research didn't happen (rain)

June 28 ✅ — 21 new features in 2 batches

Batch 1 (9): /impact, glossary, diagnosis quiz, streak, milestones, colony stats, rate limiting, sighting-cluster colony suggestion, RPC security fix Batch 2 (12): global Cmd+K search, stories wall, help requests, colony following, weather in timeline, neutering requests, community verification, edit history, false-pin flagging, resource exchange, health index, Open Graph Field research still didn't happen (no window).

June 29 ✅ — Testing the 21 new features + functional audit

June 30 ✅ — 73 migrations total at the time — PT/EN translation + security + content

  • Full PT/EN translation (18 articles at the time, 36 glossary terms, every page)
  • RPC hardening against spam/phishing
  • 11 bugs + 5 security findings fixed
  • 14 real Natal/RN contacts populated
  • Glossary expanded to 36 terms
  • Map popup redesigned
  • Resource-exchange interest system added

July 1 ✅ — Color palette + WCAG 2.2 + cat assistant + Aikido

  • Palette updated to the logo cat's colors (#B66119)
  • WCAG 2.2 audit: contrast failures fixed, 15 modals gained focus traps
  • Colony page actions reorganized by context
  • Floating cat assistant shipped (6 triggers at the time, 25 curiosities)
  • Duplicate map popup bug fixed
  • Path traversal (Aikido HIGH) fixed
  • SSRF in geocoding (Aikido LOW) fixed

July 2 ✅ — Performance, code quality, final prep

Parallelized 7 sequential queries on the colony page with Promise.all, migrated dynamic <img> tags to next/image with remotePatterns configured for Supabase Storage, and added loading="lazy" to below-the-fold images. The cat-assistant video now fails gracefully on error.

Four UX tweaks and one real bug: shortened the "first time here" banner, the cat assistant started appearing on /reports too, fixed spacing in the assistant's speech bubble, and fixed a hydration bug — the "About Felines" modal was nested inside a <p> (invalid HTML), extracted into its own useAboutFelinesModal hook.

The README was rewritten from scratch for submission: problem, demo, features, stack, architecture, security (including the Aikido vulnerabilities and internal review findings), testing, and AI usage. Every number was checked against the real code — not copied from a template.

Test data cleared via SQL script (0076_clear_test_data_pre_submission.sql): test colonies, cats, reports, stories, and timeline entries removed, keeping judge accounts and the 14 real Natal/RN contacts. Verified via API.

Footer updated: removed "© 2026", and "Learn more about this product" now links to the real Notion documentation pages, switching between PT and EN with the site's language.

July 3–5 ✅ — Feature additions, notification system, false-pin ban system, and final security audit

  • Colony page photo upload made optional (not gated behind a mandatory field)
  • Colony stories restricted to logged-in visibility
  • /reports tab order finalized: Contacts, Reports, Resource Exchange, Stories
  • Notification badge clipping fixed on the navbar
  • Per-notification dismiss ("mark as read") added, replacing the mark-all-on-visit-only behavior
  • 3-false-pin-flag moderation system implemented: colony removal, 1-month posting ban, permanent ban on the 3rd strike, with notification
  • Care-streak card UI redesigned (was oversized)
  • Cat assistant extended to /colony/[id] and /profile (9 triggers total)
  • Glossary linked from the profile's Knowledge section
  • Sighting popup UI redesigned on the map
  • Dedicated final pre-submission security audit: open-redirect fix, upload MIME allowlist hardening, database-level rate limiting on notify_caretakers, coordinate range constraints, display_name length constraint, missing security headers added
  • Full data-wipe script created (preserves login accounts only) for a clean pre-submission reset
  • README completely rewritten again — restructured for the specific judging panel, security woven into every relevant section, not just one
  • This wiki fully expanded and detailed, covering product strategy, design, and engineering decisions

Remaining before submission 🔲

  • Deploy to Netlify
  • Demo account populated
  • English demo video (max 5 min)
  • Submission before the deadline

Clone this wiki locally