Skip to main content

Monkeys & Pedestals Analysis

1. Understanding the Problem Scope

Core Problem:

  • Transforming unreliable, manual feral cat colony tracking into a systematic, data-driven approach
  • Enabling quick, accurate recording of cat sightings and health status
  • Maintaining a rich historical record of colony activities and cat health

Key Deliverables:

  • Quick spot recording interface
  • Event-sourced history tracking
  • Health status monitoring
  • Multi-caretaker coordination
  • Historical data analysis

Refined Assumptions:

  • Caretakers will prioritize quick recording over detailed data entry
  • Event sourcing will provide reliable historical tracking and enable complex analysis
  • Users can identify individual cats consistently
  • Mobile devices will be available at point of observation
  • The system must handle complex relationships between cats and their locations

2. The Monkeys (High-Risk Elements)

Refined Event Sourcing Implementation

  1. Event Schema Design and Evolution

    • Designing flexible schemas that can capture diverse cat behaviors and health states
    • Implementing schema versioning for long-term maintenance
    • Creating event migration strategies
    • Supporting historical queries on evolving schemas
  2. Domain Modeling Complexity

    • Modeling cat relationships (siblings, parents) correctly in events
    • Tracking location histories with correct timestamps
    • Modeling health events with appropriate granularity
    • Supporting complex queries across event timeline
  3. Event Storage and Performance

    • Efficient storage solutions for potentially millions of events
    • High-performance event retrieval for common queries
    • Optimization strategies for historical analysis
    • Backup and disaster recovery for event streams
  4. Offline/Sync Capabilities with Event Sourcing

    • Merging divergent event streams after offline periods
    • Handling conflicting events from multiple caretakers
    • Maintaining causality in distributed event recording
    • Ensuring event integrity across devices

3. The Pedestals (Better Understood Elements)

  1. User Authentication and Authorization

    • Using established auth providers
    • Role-based access control by colony and responsibility
    • Session management
  2. Basic UI Components

    • Forms and input validation
    • Lists and grids
    • Search and filtering
    • Reporting interfaces
  3. Standard Integration Points

    • Integration with mapping services
    • Standard notification systems
    • Photo storage systems
    • Export/import functionality
  4. Infrastructure Components

    • Deployment pipelines
    • Monitoring systems
    • Basic backup processes
    • Environment management

4. Risk Mitigation Strategy

Refined Prototyping Priorities

  1. Event Sourcing Proof of Concept

    • Implement a smaller-scale event source system for a single colony
    • Focus on modeling key relationships from the Lime Factory data
    • Test historical queries with realistic data volumes
    • Simulate offline/sync scenarios with multiple caretakers
  2. Domain Model Validation

    • Create domain model based on Lime Factory Colony data
    • Validate the model can represent all key relationships and history
    • Test event projections for common views (cat profiles, health records, etc.)
    • Ensure the model supports answering key questions caretakers have
  3. Query Performance Testing

    • Benchmark performance of common event stream queries
    • Test historical analysis performance
    • Validate mobile device query performance
    • Create optimization strategies for slow queries

Revised Fallback Plans

  • Full event sourcing → Hybrid event sourcing + state snapshots if query performance becomes problematic
  • Complete historical tracking → Selective event recording if storage becomes prohibitively expensive
  • Real-time synchronization → Scheduled sync if bandwidth constraints are significant
  • Fine-grained event model → Simplified event model if complexity proves unmanageable

5. Project Management Approach

Refined MVP Definition

  • Quick spot recording with minimal required fields
  • Basic cat profiles derived from event streams
  • Simple health status tracking via events
  • Colony location management
  • Basic historical timeline views

Initial Experiments

  1. Event Modeling Exercise

    • Model the Lime Factory Colony data as events
    • Create projections for common views
    • Validate query patterns
  2. Storage Performance Testing

    • Benchmark event storage options
    • Test retrieval performance for common queries
    • Evaluate scaling characteristics
  3. Offline Sync Prototype

    • Create prototype of offline event recording
    • Test event merging strategies
    • Evaluate conflict resolution approaches
  4. Domain Model Validation

    • Ensure the model can represent all relationships in the Lime Factory Colony
    • Test with complex queries from the real data
    • Validate with caretakers that the model answers their questions

Progress Metrics

  • Event processing performance metrics
  • Sync success rates under various network conditions
  • Query response times for common operations
  • Storage efficiency metrics
  • Model completeness (% of real-world scenarios that can be represented)

6. Lessons Applied from Lime Factory Colony Data

  1. Complex Relationship Modeling

    • The system must handle complex family relationships between cats
    • Location histories are critical for analysis
    • Health events must be linked to ongoing conditions
  2. Temporal Data Importance

    • Timestamps are critical for accurate tracking
    • Historical queries must respect the timeline of events
    • Event causality must be preserved
  3. Location Granularity

    • Different precision levels are needed for indoor vs outdoor locations
    • Common areas have specific significance (e.g., "Loading Dock", "Beach Club")
    • Location contexts matter (e.g., "quarantine", "aftercare")
  4. Health Event Tracking

    • Medical procedures need detailed tracking
    • Vaccinations require scheduled follow-ups
    • Health conditions may have long-term implications

Conclusion

Primary "Monkeys" (Tackle First)

  1. Event sourcing implementation with focus on domain model correctness
  2. Query performance optimization for event streams
  3. Offline synchronization with conflict resolution
  4. Complex relationship modeling in events

These represent the highest technical risks and could fundamentally impact the project's feasibility. The Lime Factory Colony data demonstrates the complexity of relationships and histories that must be captured accurately.

Primary "Pedestals" (Implement Later)

  1. User management
  2. Basic UI components
  3. Standard integration points
  4. Infrastructure components

These can be implemented with confidence, as they use well-understood patterns and technologies.

Key Changes Based on Learnings

  1. Greater emphasis on domain model correctness before implementation
  2. More focus on query performance for event streams
  3. Recognition of the complexity in cat relationships and location tracking
  4. Appreciation for the temporal nature of colony management data