docs: lead README with a product showcase (screenshots + GIFs) - #1
Merged
Merged
Conversation
Add scripts/media/{capture.mjs,encode.sh,set-currency.mjs} to drive the
browser preview with Playwright and encode optimized, looping GIFs (ffmpeg
palette pipeline, aspect-preserving) for the README.
Also fix scripts/seed-demo-data.ts: it still inserted into the
low_stock_alerts.channel_summary column that an earlier migration dropped,
so the seeder crashed partway through. Add SEED_DB_PATH / SEED_ASSUME_YES /
SEED_END_DATE env overrides so the .dev-data browser-preview database can be
seeded with current demo data without touching real app data.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Restructure the README into two halves: a product-first top (hero shot, badges, a feature showcase with demo GIFs, and a download table) and a developer/engineering bottom (tech stack, getting started, scripts, testing, CI, docs, contributing) with the existing content preserved. Add docs/media/ — two hero stills and five demo GIFs (issue, batch-issue, inventory search/filter, period reports, and the mobile QR lookup), captured at full resolution in the dark theme with USD pricing. gitignore docs/media/raw/ — the regenerable WebM sources are kept locally for a future MP4 walkthrough. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ab1d89f073
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Under `set -euo pipefail`, the blackdetect grep pipeline returns non-zero
when a clip starts directly on content (no leading-black frame), which aborted
the whole encoder before the `start=${start:-0}` fallback could apply. Swallow
the pipeline's exit with `|| true` so such clips encode from timestamp 0.
Addresses Codex review on PR #1.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What & why
Restructure the README to sell the product first, then keep the engineering docs below.
Adds the committed media (
docs/media/: 2 hero stills + 5 GIFs) and a scripted, reproducible pipeline (scripts/media/) to regenerate it. Also fixes a latent crash in the demo seeder that surfaced while producing the data.How it was tested
scripts/seed-demo-data.tsend-to-end against.dev-data(49 items, 20 personnel, ~3.6k movements, alerts) — the previouschannel_summarycrash is gone.v0.3.0, licenseMIT).npm run verify— N/A: nosrc/runtime/UI code changed (README + media assets + a standalonescripts/dev tool that isn't imported by the app or the test suite;eslint src/does not coverscripts/).npm run test:e2e— N/A: no behavior/UI change.CHANGELOG.md([Unreleased]).Notes for reviewers
data-platform-specific CSS lives in@media (max-width: …)blocks, inert ≥1280px). Stills are retina 2×; GIFs are downscaled aspect-preserving (scale=W:-2, never squished) with leading page-load frames auto-trimmed.low_stock_alerts.channel_summarycolumn an earlier migration dropped). It's included here because it was needed to generate the demo data — happy to split it into its own PR if you'd prefer.docs/media/raw/and kept locally for a future MP4 walkthrough.Checklist
DESIGN.md— N/A (no app UI changed)enandzh-CNare in key parity — N/A🤖 Generated with Claude Code