Inspiration
Our inspiration was to drastically reduce the time property inspectors spend on paperwork. We wanted to automate the tedious process of report generation by building a tool that is not only fast but also smart, turning raw data into a professional, client-ready document in seconds.
What it does
FlashReport is a web app that converts complex JSON inspection data into a professional, TREC-compliant PDF report. It asynchronously downloads all necessary images, formats the text, and builds the report. It also features an optional AI analysis toggle that uses Google Gemini to instantly generate a concise executive summary and categorize all property defects by priority (e.g., Safety, Urgent, Routine).
How we built it
We built it with a Flask backend for the web server and API. The core performance comes from using asyncio and aiohttp for highly-concurrent image downloading. We use LaTeX (pdflatex) for high-quality, professional PDF typesetting, and Google Gemini's API to power all AI analysis features.
Challenges we ran into
A major challenge was performance. Downloading dozens of images and compiling a large LaTeX document is very slow. We solved this by processing images asynchronously and running the CPU-bound LaTeX compilation in a separate thread pool. Another challenge is deployment, as the LaTeX dependency means we can't use simple serverless platforms and must use Docker.
Accomplishments that we're proud of
We're incredibly proud of the speed. By separating I/O-bound and CPU-bound tasks, we made a typically slow process feel instantaneous. We're also proud of the efficient AI integration; we provide a powerful summary and full defect categorization with just two simple, fast API calls to Gemini Flash.
What we learned
We learned how to architect a high-performance service by combining asynchronous I/O (with aiohttp) for network tasks and multithreading (with ThreadPoolExecutor) for CPU-bound tasks like PDF generation. We also learned the practical limitations of serverless deployment when dealing with system-level dependencies like LaTeX.
What's next for FlashReport
The next step is to deepen the AI integration. We plan to move beyond summarizing and use Gemini to auto-generate descriptive text for common deficiencies, effectively acting as an inspector's drafting assistant. We also aim to add a simple user dashboard for managing and viewing past reports.
Log in or sign up for Devpost to join the conversation.