• We were inspired by CBRE’s mission to turn complex real estate data into actionable insights. Property managers and analysts often work with lengthy, unstructured documents like lease agreements, reports, and maintenance summaries. Extracting useful information manually can be time-consuming and error-prone. Therefore, we wanted to create an AI-powered assistant that automates this process by helping professionals instantly find key metrics, understand property performance, and make smarter data-driven decisions.

  • We built a Streamlit web app that automatically extracts, cleans, and summarizes data from PDF property reports. Using pdfplumber, we converted document text into structured data fields like property name, lease term, rent, energy costs, and occupancy rate. We then used regular expressions (regex) to parse key details, and pandas to calculate aggregated statistics such as: Average Monthly Cost and Average Occupancy Rate. Finally, we integrated OpenAI’s GPT-4o-mini to summarize all extracted data into professional, readable insights. The dashboard displays averages, charts, and summaries, helping users visualize trends instantly.

  • Throughout this project, we learned how to combine machine learning, natural language processing, and data visualization into one cohesive product. We gained experience using regex for unstructured text extraction, improved our skills in data cleaning and normalization, and discovered how LLMs like GPT-4o can generate meaningful business insights from raw data. We also learned to deploy live prototypes using ngrok and Streamlit, and the importance of making AI outputs explainable and transparent for real-world users.

  • Our biggest challenges came from PDF inconsistencies and deployment hurdles. Each property report had slightly different formats, which made extraction tricky and required flexible regex matching. We also faced issues with large text inputs exceeding model limits, so we optimized prompts and truncated inputs. Cleaning numeric fields like rent or occupancy was difficult due to mixed symbols and formats. Finally, setting up OpenAI API keys and ngrok tunnels in Colab for live deployment required persistence and debugging to achieve a stable, working demo.

Built With

  • fpdf
  • google-colab
  • gpt-4o-mini
  • matplotlib
  • ngrok
  • openai-api
  • pandas
  • pdfplumber
  • python
  • regex
  • streamlit
Share this project:

Updates