My project, CondoGPT helped me land my first job offer as an AI developer in Sweden for $74,000 as a self-taught developer. This is a real estate intelligence platform utilizing (LLMs) and LangChain, and here I will touch on the development process and the decisions I made.
I also made a video covering this which has been praised by many!:
The start of CondoGPT
I have my own startup Condo Cube which helps real estate investors buy and sell more condos by analyzing real estate data. I wanted to create a chat-based interface because real estate individuals are not very technical people, and getting them to try to learn "another platform" is tough. But anyone can chat right?
Tech Stack
LangChain and LangGraph:
- These were the core of my project. LangChain's allowed me to orchestrate complex interactions with the LLM, and LangGraph helped me manage the workflow of agents.
- I used LangChain agents to break down complex tasks into smaller, manageable steps. This allowed CondoGPT to perform a variety of functions, from SQL data analysis to external API calls and generating Python code which I could then execute.
Retrieval Augmented Generation (RAG):
- RAG allowed me to connect the LLM to Condo Cube's database, providing it with the necessary context on real estate sales in Miami
Vector Databases and Similarity Search:
- I vectorized each building name and address with FAISS so that if the user misspells an address for example "150 ne2 Abe" it automatically understands that the user most likely meant the building located on "150 NE 2nd Ave", another example "teh axelndr" -> "The Alexander". This enabled the system to quickly find and access the information needed to answer user queries.
External API Integration:
- To enhance CondoGPT's capabilities, I integrated external APIs, most notably Google Maps. This allowed users to access information like nearby schools and driving distances.
Flask:
This was used to create the user interface.
CondoGPT in Action
Here are some of the key functionalities I implemented:
Data Analysis:
Users can ask CondoGPT to identify buildings with the highest sales activity, generate sales data graphs and tables, and perform other data analysis tasks with simple plain-english commands.
Location-Based Information:
By integrating with Google Maps, CondoGPT can provide information on nearby amenities, such as schools, and calculate driving distances.
Report Generation:
CondoGPT can generate basic reports based on user queries, although these were ugly and the formatting need to be fixed.
The Importance of Security
Never trust an LLM! One of the critical aspects I addressed was security. Working with LLMs, especially when executing generated code, requires careful consideration. Also since I was working with an SQL database I had to ensure the LLM wasn't going to drop any tables. I regexed out any potential malicious Python code generated by the LLM and ensured the application only had read-access to my database.
Open Source and Career Advice
I've made the full code for CondoGPT available on GitHub and I encourage others to contribute to the project.
For anyone looking to break into the AI developer field, my advice is:
- Build projects that actually solve real-world business cases: Hands-on experience is invaluable.
- Contribute to open-source: It's a great way to learn and showcase your skills. I also want to encourage everyone to check out the "good first issues" on the GitHub repo, you can get started with open-source AI contributions with this project too and use it to build your AI engineering portfolio.
This project was more than just a coding exercise. It was a journey of learning, problem-solving, and ultimately, career advancement. I hope my experience inspires others to explore the exciting possibilities of LLMs and LangChain.
Additional Resources
CondoGPT on GitHub: https://github.com/GGyll/condo_gpt
If you have any questions or comments, please feel free to leave them below.
Thank you for reading!
Top comments (0)