Inspiration
Life admin rarely lives in one place. Important details are scattered across emails, scans, receipts, forms, and notes, making tasks like renewing a passport surprisingly stressful. We wanted to build something that does more than summarise documents, it should understand the situation, identify what is missing, and turn the available information into clear next steps. That idea became Sorted: an AI-powered assistant that transforms messy folders into practical, evidence-backed action plans.
What it does
Users give Sorted a goal and upload their related documents. The AI examines the folder, selects relevant files, extracts important facts, and creates:
- A concise situation summary
- A prioritized checklist
- Blocked tasks and their dependencies
- Missing-information warnings
- Calendar reminders
- Ready-to-edit email and form drafts
Every recommendation links back to its source document, allowing users to verify where the information came from. Users can complete tasks, resolve missing items, export reminders, and update their plan through natural-language follow-ups.
How we built it
Sorted uses a Python agent loop powered by Claude. The agent has nine auditable tools for reading documents, creating tasks, flagging missing information, generating reminders and drafts, and updating the plan. A sandboxed document layer handles text, PDF, DOCX, and image files. Plan data and generated artifacts are stored locally. We wrapped the engine in a FastAPI backend that streams tool activity and state updates through Server-Sent Events. The frontend is a responsive React and TypeScript dashboard built with Vite and Tailwind CSS. We also created a clearly labelled deterministic fallback so the complete product can be demonstrated reliably without presenting sample output as a live AI result.
Challenges we ran into
One major challenge was keeping the AI grounded in the uploaded evidence. Sorted needed to distinguish between facts found in documents and personal information that was still unknown. We solved this through source provenance and explicit missing-information items rather than allowing the model to guess. Streaming a synchronous agent loop into a responsive web interface was another challenge. We moved the agent work off the web server’s event loop and streamed progress and state updates safely to the browser. We also had to preserve uploads, demo provenance, and plan state across reloads while keeping failure recovery predictable. Finally, we spent time making the interface accessible across mobile, desktop, light, and dark themes.
Accomplishments that we're proud of
We are proud that Sorted is not just a chatbot and reads real documents, reasons about dependencies, creates useful artifacts, and lets users continue managing the plan afterward.
- Source-level traceability for recommendations
- Explicit handling of missing information
- Live streaming of agent activity
- Transactional document uploads and persistent state
- A responsive and accessible dashboard
- A reliable, honestly labelled fallback experience
- 65 automated backend, frontend, accessibility, and browser tests
What we learned
We learned that transparency is essential when building AI tools for personal information. Showing the source behind a recommendation makes the output more useful and easier to trust. We also learned that reliability is part of the product experience. A strong AI demo needs clear loading states, recoverable errors, persistent state, and an honest fallback—not only a successful model response. Most importantly, we learned that AI becomes more valuable when it produces concrete artifacts and next steps instead of only generating conversational answers.
What's next for Sorted
Next, we want to expand Sorted beyond a single passport workflow by adding reusable playbooks for moving, taxes, visas, weddings, and other common life-admin tasks.
We also plan to add:
- OCR fallback for scanned PDFs
- Multiple concurrent plans
- Automatic folder monitoring and plan updates
- Calendar and email integrations
- Stronger privacy controls and encrypted local storage
- User confirmation before creating external actions
Our long-term goal is for Sorted to become a trusted personal operations layer: a place where scattered information becomes organized, verifiable action.
Built With
- fastapi
- lucide
- pydantic
- python
- react
- rest
- sse
- tailwind
- typescript
- uvicorn
- vite
Log in or sign up for Devpost to join the conversation.