As an engineer, Mathew Steininger believes in the power that simple solutions can bring to complex problems.
The University of Maryland, College Park computer science major saw the need to apply that approach as he saw Maryland’s COVID-19 vaccine rollout playing out early this year.
The state system has different websites for appointment booking at different clinics, and there were a limited supply of vaccines. So getting an appointment could require having multiple browser windows open, and refreshing constantly. It created a system where the first person to make an appointment gets it.
As he kept up with local news coverage, he saw how this disadvantaged some would-be vaccine recipients. And the reports continued even as vaccination ramped up further in 2021.
“It seems like as time goes on it would be easier to get a vaccine,” said Steininger, who is from Reisterstown. “But no, it is still challenging for a lot of people, especially older less technically inclined people.”
Searching the pages for a vaccine was also the kind of tedious task that could be solved with automation. So Steininger drew on skills he gained in data scraping and setting up alerts as he first entered college, when he built a system to provide alerts about limited edition sneakers and clothing.
The system pulls publicly available data from the clinics distributing vaccines, whether that’s a pharmacy or mass vaccination site like M&T Bank Stadium. When there’s a change from an appointment being not available to available, it sends an alert to the site and Twitter feed.
As of Monday, it had 3 million impressions. In the comments on the Twitter feed, Steininger sees people thanking him for helping to show the way to an appointment. It’s also a tool for volunteers who are seeking out appointments for older people and others.
“I’m helping the people that can help others,” he said.
— MDVaxAlerts (@MDVaxAlerts) March 9, 2021
State officials have also reached out about the system, he said: They were looking to learn, but were also thankful for creating it.
“Everyone seems to appreciate it so far,” Steininger said.
This work started about a month ago.
“The first iteration was text alerts to friends and family that something changed on the website,” he said. But he soon found that it would be more accessible to send out alerts via Twitter. “Since then, it’s just been iterating and improving, which is what engineers do.”
Steininger, who will graduate in May, said he often has side projects. This was a situation where he realized he had skills he could apply to help the greater good.
With similar stories around the country, engineers have built tools in other states that are designed to solve similar problems. Even as he is helping in Maryland, Steininger acknowledges that he wishes vaccination didn’t reach the point of requiring such a solution.
“Ideally this isn’t a tool people would need because there would already be a solution out there,” he said. “If my tool wasn’t out there in the current situation, it would be a lot more difficult.”
But, “ideally, we would have none of this going on.”
Here’s a look at the stack:
- To check each site for appointment availability, Steininger uses a requests library written in Python, and web browser automation tool Selenium.
- Then he gathers the data from the vaccine sites and puts it in MongoDB Atlas, which is a managed database.
- When vaccine appointments become available the website reflects the MongoDB database, and a script written in the framework Flask calls the Twitter API if there was a change. Then, an alert is sent.