Inspiration
Pet parents cannot watch every moment around a food bowl. A short recording may show movement without proving contact, ingestion, or refusal to eat. CARLi explores a more careful workflow: inspect the evidence, choose the next observation step, and ask a human to review its meaning.
What it does
CARLi is a local visual-observation and parent-review prototype for cat and dog care.
Decode a short video with OpenCV 5 and analyze a manually selected region of interest. Measure brightness, Laplacian sharpness, and localized frame-to-frame visual change. Request a clearer video when quality is insufficient. Request owner review when usable footage contains qualifying motion. Continue observation when usable footage has no qualifying motion. Display sampled frames with timestamps; save explicit parent reviews in local SQLite and export JSON.
Movement is not evidence of eating. No observed movement is not evidence of refusal. Results remain feeding_confirmed=false; the demo does not write to production CAIOS.
How we built it
The isolated implementation lives in experiments/carli-vision on feat/opencv-judge-demo. Python and OpenCV perform real video decoding and measurement. A loopback HTTP application connects uploads, visual measurements, the next-step routing trace, sampled frames, parent review, persistence, and export.
The AWS component is a Lambda-ready review router that validates measured samples, recomputes the quality decision, and emits evidence-digest-correlated routing logs. A boto3 collector checks account and assumed-role identity, the published function version, deployed code digest, invocation response, and correlated logs.
Draft cloud status: live AWS deployment and execution of this OpenCV workload have not been verified. The deployment template and SDK stub tests are not cloud execution evidence.
OpenCV and workflow
Poor-quality footage routes to request_better_video before any motion-based decision. Usable motion routes to request_owner_review; usable static footage routes to continue_observation. These are bounded deterministic workflow decisions, not an eating classifier or medical diagnosis.
Prototype thresholds: ROI mean intensity 35–240, Laplacian variance at least 25, and at least 80% usable frames. These thresholds require real-world calibration.
Evaluation and principal results
A local Python 3.12 / OpenCV 5 test run completed 172 automated tests. Encoded synthetic fixtures exercise dark, blurred, overexposed, partially dark, clear moving, and clear static footage. HTTP tests exercise video upload, review persistence/export, repeated review, malformed input, unauthenticated access, and cross-origin rejection.
Synthetic geometric clips establish controlled software behavior, not real-pet accuracy. AWS SDK-boundary tests use botocore Stubber and do not establish live AWS calls. Independent Windows startup and rendered-browser acceptance remain pending.
Testing instructions
Clone https://github.com/corwinlim/caios-carli-amazon-appdev-2026.git with branch feat/opencv-judge-demo and enter experiments/carli-vision. Use 64-bit CPython 3.12 for the verified Linux baseline. Install pinned requirements from requirements-aws.txt inside a virtual environment. Run: python -W error::ResourceWarning -m unittest discover -s . -p 'test_*.py' -v Run: python generate_demo_clips.py Run: python review_demo.py Open the printed loopback URL on the same computer and use the printed local demo token. Upload a SYNTHETIC clip, select the full-frame region, and inspect the routing result. Verify dark or blurred footage requests clearer video; clear moving footage requests review; clear static footage continues observation. Save a conservative review on a reviewable clip and export JSON. Verify feeding_confirmed=false and caios_written=false. On Windows, start_judge_demo.ps1 supports runtime detection for CPython 3.12–3.14; current independent Windows acceptance is pending. If an existing virtual environment conflicts, preserve it under a backup name before creating a new one.
For AWS, follow AWS_REVIEW_EXECUTION.md only after an authorized isolated staging deployment. Configuration alone is not execution proof.
Challenges and limitations
Camera motion, shadows, compression, and unrelated activity can trigger review. Low-texture footage may fail the sharpness threshold. The current implementation has no pet identity, bowl, contact, occlusion, or feeding detector. The local bearer token is a demo identity, not production multi-user authorization. Raw local footage and reviews do not yet have a retention/delete workflow.
No diagnosis, prescription, automatic care action, COOL acceleration, or production CAIOS integration is claimed.
Responsible use
Use synthetic or consented footage. Keep credentials and private household footage outside the public submission. Preserve uncertainty and human review. Future Journey or CaniVet integration would require a separately authorized consumer of approved observations.
How Codex helped
Codex assisted repository inspection, receipt-verifier and quality-gate repairs, the isolated cloud review component, local review UI, tests, documentation, and Windows launcher troubleshooting. Using a coding assistant is not presented as proof of Agentic Vision award eligibility.
What's next
Complete real consented-video evaluation and Windows/browser acceptance; collect genuine AWS workload receipts; establish a judge-accessible endpoint or arranged live screen-share; finalize the technical report and archive; add the <=5-minute video.
Draft status
This OpenCV-specific draft is incomplete and is not a claim of submission readiness. Outstanding items include live AWS proof, real-pet evaluation, judge access, final report/archive, and demo video. Special-award selection remains pending; no COOL claim is made.
Product evolution after the competition
The OpenCV prototype is an observation-first entry point within the broader CARLi vision. A separate M0–M1 planning baseline proposes hardening identity, persistence, audit and observability, followed by an Alexa-first interface and owner-facing review. Later directions include an edge gateway and an optional CAIOS bridge. These are planned milestones, not features delivered by this submission. M0–M1 task dates are targets; staging, real voice-platform integration and production operation remain unverified. The competition prototype continues to require parent review and does not infer ingestion from motion or refusal from a lack of observed motion.
A separate AWS-11 cfn-lint receipt reports a successful static lint run on its own SAM template. It is not a deployment or runtime receipt and has not been linked to this OpenCV workload; it is not presented as proof of the competition's AWS requirement.

Log in or sign up for Devpost to join the conversation.