Real Estate Investment AI
This project was an artificial intelligence program that identified potential real estate investment opportunities.
This project was an artificial intelligence program that identified potential real estate investment opportunities.
This project was an artificial intelligence program that identified potential real estate investment opportunities. At a high level, it combed through a particular MLS each day to look for properties that might be under-valued enough to warrant a flip. The parameters used by the application to identify potential investment properties are still proprietary, but below is a description of the technology used to generate these potential investment reports automatically each day without manual intervention.
Most MLS do not provide an API or method of exporting data, so the app needed to actually browse the website itself. Selenium is a package for Python that allows the developer to automate web browsing. The realtor demonstrated how he would manually search for investment properties, and we translated that into an automated web browsing session that captured all of the necessary information. This involved multiple MLS searches, so we had to combine multiple data sets from the MLS for further processing.
Every day, the application sent out a summary email to investors or realtors who had signed up for the service. Rather than trying to create our own email delivery system that could handle all the quirks that come along for the ride, we decided to use Mailchimp as the email delivery service. Delivering a single email from an application is easy. Delivering a lot of emails takes way more thought and infrastructure than you might think. Mailchimp already has that figured out.
Since the application needed to run every single day, we didn’t want to have to trigger anything manually, but we also didn’t want to waste the business owner’s money. We used an AWS EC2 instance that automatically started itself at a particular time of day, and it suspended itself when its task was complete. The instance was setup to run the program whenever it resumed from sleep.
When your application runs in the Cloud, how do you know when something goes wrong? Sentry captures very detailed error reports and sends an email notification when they happen. Since the errors were mostly accounting for changes on the MLS website, we needed to see what the web browser looked like when the error occurred. But for a web browser running automatically in the Cloud, there isn’t a screen to look at. So we created a virtual screen that saved an image of what the website would have looked like at that moment, and that render was included with error reports
This automated real estate investment AI was able to run automatically for months on end with no intervention, constantly churning out potential investment properties. By carefully managing the run-times of the Cloud servers, costs were minimal for the business owner. And by using remote error reporting and rendered web page images, any necessary debugging was drastically faster.