This is the filled project brief requested by hackathon-master-playbook-v3.md. It records the product intent behind the shipped v1 scope.
For evaluators and Android engineers who want to inspect a trustworthy commerce flow without provisioning infrastructure, QuickCrate provides a polished grocery journey that remains interactive, persistent, and repeatable entirely offline.
Add a product and watch the action become the Morphing Crate Bar; then intentionally fail payment, show that the crate is unchanged, retry, and open the one persisted order.
Morphing Crate Bar — a persistent, accessible bridge from add action to quantity state, item/total summary, and cart navigation. Motion is optional; final state and behavior remain identical when animator scale is zero.
- Primary audience: hackathon judges, portfolio reviewers, and Android/CMP engineers.
- Job: understand the product in seconds and evaluate a complete architecture without needing accounts, keys, services, or reliable internet.
- Category: Indian quick commerce / grocery delivery.
- Product references: Blinkit, Zepto, Swiggy Instamart, and bigbasket.
- Architecture/presentation references: Android-first Compose patterns and Compose Multiplatform guidance.
- Design-system reference: private Didovia commit
5fdf43505e81150b00acdbcdc347cd3942c39030, patterns only.
See RESEARCH.md for the consolidated findings and prohibited trust failures.
- Launch offline and authenticate with the demo phone/OTP.
- Discover or search products and inspect a variant.
- Add explicit quantities and open the persistent crate.
- Review savings, delivery fee, threshold, and total.
- Choose a saved address and mock payment method.
- Trigger one deterministic failure and confirm nothing was lost or ordered.
- Retry with the same attempt ID and create exactly one order.
- Open the immutable order snapshot, profile, and persisted data after restart.
- Current target: Android, where the quick-commerce interaction is native to user expectations.
- Portfolio value: demonstrate Android/CMP architecture, trustworthy commerce state, accessibility, and offline determinism.
- Commercial model: intentionally undecided; a formal market/name/legal pass is required before productization.
Android-first Compose Multiplatform. Android ships now; the product UI, navigation, state, domain, data, Room, and resources are structured as a shared KMP application boundary.
No AI/model dependency. Product behavior is deterministic domain logic backed by typed fake transport contracts and local persistence.
- Runtime catalog: bundled
SeedCatalogwith 8 categories, 28 products, and 3 banners. - Mutable data: Room schema v1.
- Initial state: one profile, two addresses, and three historical orders seeded once.
- Artwork/fonts: bundled local resources with license notices.
None at runtime. Gradle resolves build dependencies during setup; the installed app performs no network I/O.
- Host: GitHub,
arpitagarwal1301/quickcrate. - Default branch:
main. - Release: annotated
v1tag with a published GitHub Release. - App distribution: source/build instructions only; no signed store or release APK is published.
No backend/sync, multiple stores/accounts, real OTP/payment, maps/location, tracking, notifications, refunds/support, inventory/admin, coupons, loyalty, ads, recommendations, pagination, analytics, or additional platform target in v1.
Preferred: API 36/37 Android emulator in airplane mode. Fallback: visual README, deterministic fixtures, verifyQuickCrate, and the standalone offline scan.
- A clean install completes login-to-order-history offline.
- State survives recreation/restart where specified.
- FailOnce preserves checkout data and retry creates one order.
- Pricing fixtures are exact integer-paise calculations.
- No network permission/runtime URL/remote asset enters the app.
- Host tests, lint, assembly, and connected golden journeys pass.
- Broad acceptance scope exceeds the depth of automated coverage; prioritize idempotency, persistence, accessibility, and responsive regression tests.
- KMP/AGP/Room/Navigation compatibility can drift; upgrade only with a clean compatibility proof.
QuickCrate design tokens/components, Room/repository seams, typed fake APIs, the Morphing Crate Bar, local artwork generator, verification scripts, and the documentation/session system.
- Real authentication: no.
- Real payments: no.
- Offline/local-first: yes, required.
- Personal data: fixtures only.
Public repository, visual README, reproducible build, short demo path, local fallback, release notes, no secrets, and a clean verified branch.
- Agent handles: implementation, focused documentation, checks, evidence, and bounded repository operations when authorized.
- Human decides: product direction, taste, release scope, repository/publication actions, licensing, and whether QuickCrate remains a demo or becomes a product.
- Primary concern: preserve a reliable, instantly understandable golden path while improving proof rather than adding breadth.