Skip to content

ThingLabsOSS/peek-corpus

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

peek-corpus

Open hardware-state corpus for the Spotify Car Thing. Submissions are the raw JSON produced by peek-carthing — deep MMIO + sysfs dump of one device at one moment. Public, dedup'd, queryable, re-downloadable in bulk.

Why: we've only confirmed BOE panels in the wild. Every other panel variant that shipped is hiding behind a different MIPI DPHY bias triplet and a different init sequence. Corpus + dashboard surfaces the divergence so the community can write the missing panel-init code.

Live at: https://peek.thinglabs.sh

Contribute a capture

# on the Car Thing, with peek_mmio.ko + peek-collect.py present
python3 /tmp/peek-collect.py > /tmp/hwinfo.json
adb pull /tmp/hwinfo.json

# on your host
gzip -k hwinfo.json
curl -X POST https://peek.thinglabs.sh/v1/submit \
  -H 'content-type: application/json' \
  -H 'content-encoding: gzip' \
  --data-binary @hwinfo.json.gz

You'll get back a capture id and the public URL to your raw JSON. That's it — no signup, no key, no scrubbing. Submissions with a null meta.device_serial are rejected (we need it to dedupe per device).

Privacy

There is no PII in a peek capture. The Car Thing has no user accounts, no network history, no contacts. The on-die serial is an opaque factory string that isn't tied to any owner record. We store and publish everything we receive.

API

POST /v1/submit accept a peek capture
GET /v1/captures most recent submissions (?before=ts to page)
GET /v1/captures/:id decoded slim fields for one capture
GET /v1/captures/:id.json full raw peek payload
GET /v1/stats totals, panel-bias triplet buckets, kernel mix
GET /v1/dump.json latest rolling NDJSON dump pointer

Layout

worker/             Cloudflare Worker (Hono + D1 + R2)
  migrations/       D1 schema
  src/index.ts      routes + cron-built dump
  src/decode.ts     decoder: peek JSON → slim columns
  src/schema.ts     ingest envelope validator (Zod)
dashboard/          Astro static site, served via Workers Static Assets
  src/pages/        overview, panels, captures, download

Develop locally

cd worker && bun install
bunx wrangler d1 migrations apply peek-corpus --local
bunx wrangler dev --port 8788 --local

# in another terminal
cd dashboard && bun install && bunx astro build
# wrangler dev picks up dashboard/dist via [assets] in wrangler.toml

License

MIT.

About

Open hardware-state corpus for the Spotify Car Thing. Ingest, dedupe, and download peek-carthing captures. Live at https://peek.thinglabs.sh

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors