Inspiration

What it does

How we built it

Challenges we ran into

Accomplishments that we're proud of

What we learned

What's next for Engram: hippocampus-style tiered memory for microscopy video

Inspiration

Labs imaging beating hiPSC cardiomyocytes produce about 1.3 GB of 16-bit fluorescence video per ~8 s clip. Teams either delete raw data they may need later or keep terabytes nobody can search. Agents cannot reason over pixels at that scale, and must not silently throw away scientific originals.

What it does

Engram is a hippocampus-style memory engine for vision agents. OpenCV 5 turns beating-heart-cell videos into searchable rhythm memories, while the 16-bit originals stay restorable byte for byte.

  1. Ingest — lossless L0 (FFV1, 16-bit) with a sha256 restore check.
  2. Sleep (POST /v1/sleep) — OpenCV 5 L4 rhythm descriptors plus an L3 lossy derived copy. L0 is never deleted.
  3. Recall (POST /v1/search) — text or descriptor match (for example "fast beating / high BPM").
  4. Restore and verify — decode L0 and prove byte-exact sha256. The browser plays an 8-bit preview only.

How we built it

Hippocampus-style tiers (L0 lossless, then L3 lossy, then L4 semantic) sit behind a modality-agnostic Episode and Codec plugin core. Fluorescence video and text are implemented. Audio, brightfield, and JSON are L0-only stubs.

Team Engram: Anna (biomedical background; problem definition, cardiomyocyte data, overall design), sero (fact-checking numbers and communications), and Fizz, an AI teammate (engine code, evaluation, AWS deployment). AI coding assistance was used to build this project. Every reported number comes from the engine's own measurements. Disclosed AI teammates are allowed under the competition rules.

Measured results

Two real SarcGraph clips. Compression is reported on three separate axes (archive bytes, semantic size, and fidelity) and is never combined into one number.

  • baseline m001: L0 lossless 2.50x byte-exact; L3 4.84x; L3 SSIM 0.958; BPM 23.53
  • Iso 50 nM m012: L0 lossless 2.55x byte-exact; L3 5.01x; L3 SSIM 0.9515; BPM 33.9

On the local API with a headless browser, search for "fast beating / high BPM" returns the Iso clip first in 0.06 s, and verify of 1.31e9 bytes completes in 6.3 s.

AWS

Deployed on 2026-10-16 in us-east-2: private S3 and an EC2 t4g.micro (Graviton), token auth, TCP 8000 only, tagged project=engram-opencv. L0 stays off-cloud, so a cloud verify returns 409. List-price estimate is about $10 per month.

Challenges we ran into

Lossless compression of noisy 16-bit fluorescence tops out near 2.5x. That is a sensor-noise ceiling, not incomplete engineering. Pushing L3 harder (for example q64) destroys fidelity (SSIM about 0.5). Browsers cannot play 16-bit FFV1, so the UI shows a labeled 8-bit preview while sha256 proves the scientific L0.

Accomplishments that we're proud of

A working ingest, sleep, search, and verify loop on two real drug-condition clips; honest three-axis reporting; a live AWS endpoint with token auth; and an architecture diagram showing OpenCV 5 and AWS as deployed.

What we learned

Keep L0 forever. Treat L3 as a cheaper derived copy. Never sell semantic descriptor size as pixel compression. Disclose AI assistance. Measure before claiming.

What's next

More SarcGraph conditions with manual BPM checks, HTTPS, optional on-cloud L0 if the storage budget allows, L2 keyframes, learned embeddings, and a possible path where recall drives the next experiment. These are roadmap items, not current claims.

Honest limitations

L3 is lossy and L0 is kept; across 8 SarcGraph clips (4 conditions) every L3 pixel's error stays within 1σ of the measured sensor noise and beat count is preserved, but L3 under-estimates contraction amplitude by up to 8.7% (BPM ≤0.85%, 3.4% on one irregular-rhythm clip) — use lossless L0 for amplitude measurements. Only short clips (6.5–9.3 s each); no long recordings tested yet. No DNN embeddings. Stubs for audio, brightfield, and JSON. The public video uses an 8-bit preview. The cloud copy has no L0, so full verify runs only locally. The demo endpoint is plain HTTP.

Demo video: https://www.youtube.com/watch?v=LD1YEIH3sdk

Share this project:

Updates

Submission history