Skip to main content

Filter Spec Creation Process

This document provides an overview for creating a Filter Spec document. It is designed for sales, product managers, ML engineers, and developers. The guide outlines the key steps from defining the filter’s purpose to handling versioning, and details all critical elements under the Filter Details section. We will use the Inventory Filter as an example.


Prerequisites

Before starting, ensure you have:

  • A clear understanding of the business use case and problem statement.
  • Input from sales, product, and ML teams to define the filter’s objectives.
  • Familiarity with key concepts (e.g., JSON data format, object detection, classification).
  • Access to the necessary tools and documentation templates for creating the spec.

Challenges

  • Complex Use Case — Filters may serve varied domains (e.g., hospitals, retail, warehousing). Plan for chaining multiple filters if necessary.
  • Versioning — Define the Minimum Viable Product (MVP) and future enhancements.
  • Detail vs. Concept — Balance detailed specs with high-level overviews for mixed audiences.
  • Comprehensive Coverage — Ensure all aspects (input, logic, outputs, deployment) are covered.

Our Approach

  • Cross-Team Alignment — Collaborate across sales, product, ML, and dev teams to align early.
  • Structured Documentation — Use a consistent template to capture all essential info.
  • Iterative Versioning — Document each version’s scope (v1, v2, v3) for staged delivery.
  • Outcome-Focused — Highlight technical and business outcomes (e.g., inventory visibility).

Example: Inventory Filter Spec (Key Components)

Filter Use Case & Description

  • Stakeholders:
    Jane Doe (Sales), Brock Lee (Lead Developer), Paige Turner (Lead ML Engineer), Noah Lott (Customer Champion)

  • Purpose:
    Relieve the stress of third-party stock management by providing real-time insights into inventory levels.

  • Application Areas:
    Hospitals, retail, warehousing, logistics

  • Proof of Concept:
    Classify if a shelf is empty or stocked based on presence of items.

Filter Details

Input

  • Source: IP Camera (RTSP)
  • Data Flow: Real-time
  • Media Structure: Images
  • Resolution: 1280 × 720 (720p)
  • Event Frequency: >1 image/minute

Filter App Workflow

  • Ontology:
    Shelf status, shelf count, product classification, product count

  • Model Features:

    • Object Detection
    • Image Classification
    • Instance Segmentation
  • CV App Requirements:

    • Count number of shelves
    • Count number of items
    • Create alerts for over/under-stock

Filter Output

  • Metric Output (JSON):

    • Shelf status (empty/stocked)
    • Shelf and product counts
    • Product names
    • Timestamps
  • Deployment: Edge (Docker-based)

  • Storage: Local

  • Delivery Mode: MQTT

  • Output Frequency: >1/minute

Version Plan

  • Version 1 — Detect/classify shelves as empty or stocked
  • Version 2 — Add product classification + shelf counts
  • Version 3 — Add item count per product/shelf

Workflow Steps To Create a Filter Spec

  1. Define the Filter’s Purpose

    • Clarify the business problem and desired outcomes.
    • Identify application areas and key stakeholders.
    • Summarize use case and business impact.
  2. Detail Technical Requirements

    • Input & Data Flow — Source, resolution, frequency.
    • Filter Workflow — Ontology, model capabilities, JSON outputs.
    • Deployment — Edge devices, MQTT delivery, integration with DAF.
  3. Plan for Versioning

    • Define MVP and growth path across versions.
    • Highlight evolving dataset and model training needs.
  4. Review & Finalize

    • Share draft across functions for review.
    • Revise for clarity and alignment with goals.

Benefits and Outcomes

  • Clear Vision — Unified understanding of filter purpose and goals.
  • Iterative Improvement — Plan future enhancements with confidence.
  • Cross-Functional Alignment — Ensure all teams are on the same page.
  • Actionable Guidance — Detailed, structured process enables smooth execution.

Template

You can download a template of a Filter Spec here:
Download Filter Spec


Next Steps / Recommendations

  • Maintain Version Control — Track filter spec evolution with Git or similar.
  • Integrate with Development — Use the finalized spec during model training and filter dev.

Conclusion

This document offers a comprehensive guide to creating a Filter Spec for the Inventory Filter. By covering all the key components—from inputs and logic to version-specific goals—you'll ensure alignment across teams and set a clear path toward a production-ready, scalable solution.