Jeremy Nelson - Data Engineer in Chicago

Content Optimizer Web App: A retrospective

AI Content Optimizer Web Application

Client needed a way to efficiently conduct analysis over a number of different on-site metrics for their own SEO clients. The tool would be comprised of two halves: a FAQ content creator and a ranking website content auditor. They wanted a tool that achieved the following:

Content Optimization

FAQ Generation

Solution

The scope of this project is quite large so I decided to use a number of libraries to assist with this. I’ll review the tech stack and the 3rd party tools used here.

Tech Stack

This was a fun project. I built an API based solution with a couple of Flask endpoints whilst also serving a front end driven by Flask Jinja (keep it simple). I tied the auth into the web app and then processed a lot of the logic through various Google Cloud resources.

This project hits pretty much everything end-to-end.

Lessons Learned

Account for edge cases when web scraping. Certain assumptions you have when testing out your clean examples for web scraping will not hold up when you unleash your tool to the Internet. I racked up an immense GCP StackDriver bill with a logical error that looped over an expected value that never occurred due to an erroneous assumption I made about the contents that would get returned to me by default.

Parsing web content is difficult. Nobody uses consistent HTML tagging or semantic tags for that matter. Sometimes people don’t even use paragraph tags!

Overall client is happy. They have a web app that their employees can use to log into and run jobs, and let them run. This is a time savings that automates a lot of research and manual work of optimizing websites for search engines.