Inspiration
Small studios and their clients often refer to different versions of the same work. A delivery changes after acceptance, a new request gets folded into an old quote, and an invoice arrives without enough context. I wanted the work, its acceptance and the invoice to share one inspectable basis.
What it does
Delivery Ledger connects a milestone description, price, artifact revision and agreed criteria to executed checks and an explicit customer acceptance decision. A changed delivery or price requires fresh checks and acceptance. A partial invoice draft includes only current accepted work and explains why other work is held.
The sample workflow verifies an export, records sample-customer acceptance and prepares a USD 480 draft while holding an unaccepted USD 720 dashboard. Changing the export price to USD 510 makes its earlier checks and acceptance historical. A separate synthetic event replay demonstrates partial payment, paid state, duplicate delivery and an older unpaid notification.
A change-request assistant reads a client request and proposes a separate scope and explicit quote for review. The proposal remains unapproved until a person chooses it.
How I built it
The responsive English UI uses JavaScript, HTML and CSS. A Python standard-library HTTP service and SQLite provide isolated browser sessions, transaction boundaries and a durable audit trail. A hash binds acceptance to the exact delivery basis. The server includes a real-model adapter and a PayPal Sandbox adapter for OAuth, draft creation, authenticated invoice readback and official webhook verification.
Challenges and lessons
Payment notifications can arrive more than once or out of order. A notification should trigger verified readback rather than become payment truth by itself. Durable unique event IDs and guarded cumulative state prevent replay from counting twice or an older state from replacing a later one. I also kept AI scope proposals separate from customer approval and billing.
What works today
Twenty-nine local unit and HTTP API tests pass, including concurrent deduplication, session isolation, stale acceptance, partial drafts and provider trust boundaries. Public HTTPS workflows and actual local-model request extraction have been exercised. The public demo uses synthetic contracts, sample-customer acceptance and local invoice drafts.
Next steps
Complete a real PayPal Sandbox draft, authenticated readback and verified event round trip, then record that integration in the final competition video. The current review build does not establish a live Sandbox connection or a completed hackathon submission.
Links
Working app: https://knowledge.openakashic.com/hackathons/delivery/ MIT source: https://github.com/SZARA2/hackathon-2026-delivery-ledger
Log in or sign up for Devpost to join the conversation.