DocuPal is a web app that helps immigrants break down and organize complex household documents. From medical bills to employment paperwork to administrative documents, DocuPal is an all-in-one tool for extracting the key information necessary for people to take action.
The Problem:
For any immigrant and newcomer to the US, managing household documents will be a hassle. Let’s be honest. Most lengthy 5-paged documents are full of fluff and legal disclaimers. If English is not your first language, it can be difficult to parse out the important content from the fluff. Once we recognized this issue, we wanted to create an organizational and translational tool for documents that addresses it. Our site is targeted toward immigrants whose native language is not English; but our tool can also be utilized by individuals who would like a way to simplify their documents.
How It Works:
Our solution: Users will upload a PDF of their documents, select their native language, and then their PDF will be analyzed through OCR/text extraction and analyzed by an LLM. They will be re-directed to their dashboard, showing a structured overview of the PDF's summary, major alerts, important calendar deadlines, and to-do items in their selected global language. Users can also browse previously uploaded documents and view their document summaries at a glance. The dashboard also serves as a place for users to keep track of to-do items and deadlines, which can be imported as calendar events.
The Tech Stack:
Frontend: React (Vite), Tailwind CSS, Clerk (auth) Backend: FastAPI (Python), deployed on Render Database/Storage: Supabase (Postgres) AI/ML: FeatherlessAI (LLM — Qwen/Qwen3-8B), (OCR library — pytesseract/pdf2image) generates document titles, summaries, major alerts, major deadlines, and action items Deployment: Vercel (frontend), Render (backend)
*This app was completely built within the timespan of the OpenAtlas Hackathon.
Challenges:
One challenge we faced while developing this app was figuring out how to handle the guest user state. We thought about the features we wanted to give the guest user as opposed to a Clerk authenticated user and how that would affect the way we were posting and querying entries from our Supabase database. Eventually, we decided to treat guests as the same as Clerk authenticated users (allowing for previous document browsing within a certain session) and created a new React hook with an “effective user” that we applied to all queries and would work on both authenticated and guest users.
Another challenge we faced was connecting our frontend and backend after they were deployed since they were on different services. After closer inspection, requests from our upload page was not hitting the api/upload endpoint. We realized that because the frontend was not deployed using Docker, unlike our backend, and we had to change Vite’s API URL to be an environment variable rather than just stored in our Docker files. We also had to configure our backend to allow requests coming from a different website by setting up the CORS middleware.
Next steps:
We hope to expand DocuPal’s features to include more helpful tools that allow for document downloading, full language support, and other software integrations. Our future goal is to make DocuPal the ultimate all-in-one productivity dashboard for household documents so that users can work with and integrate DocuPal in their daily lives.
Log in or sign up for Devpost to join the conversation.