Inspiration
Community equipment lending often relies on scattered messages and memory. Borrowed Steps makes each handoff visible, reviewable, and safe for the people lending and borrowing equipment.
What it does
A volunteer starts a hosted workspace and sees an inventory of equipment. A borrower request is recorded, a human explicitly approves allocation, and the item moves through requested, reserved, picked up, returned, and inspected states. The audit view keeps the lifecycle and evidence together.
The built in assistant is advisory only. It uses Strands with Groq to extract a draft from a borrower message, shows missing fields, and keeps the human confirmation gate before any operational change. It never writes a reservation by itself.
How we built it
The public app runs on Vercel Hobby with Neon Postgres Free and Groq Free. FastAPI provides the REST contract, a small React interface calls only the API, and the hosted runtime uses TLS verified Postgres persistence. The repository includes the architecture diagram, migrations, tests, setup instructions, and a clean MIT license.
Live app: https://borrowed-steps.vercel.app Source: https://github.com/AtchayamG/borrowed-steps
What we learned
The most important design choice was treating approval as a first class state transition. Durable storage, idempotency keys, explicit conflict responses, and a read only assistant make the demo useful without pretending that an AI suggestion is consent. We also verified the complete workflow against the live hosted database after the local process was stopped.
Built With
- fastapi
- strands

Log in or sign up for Devpost to join the conversation.