๐ TRACK: Welcome Back: Local Businesses! ๐
โจInspiration
As larger businesses continue to gain popularity with the advent of social media advertising, local businesses struggle to get attention. Although platforms like TikTok and even Instagram sometimes allow local businesses to share their content, the reach of this content is oftentimes not widespread. Even worse, people will often see these products on social media and forget to follow through to check out their website when the time comes around, instead of reaching out to more convenient options like Amazon. Our goal with Go Local was to create a tool that not only helps local businesses overcome this hurdle but also benefits customers by showing them products from local businesses they may have never thought to buy from a local business in the first place. With Go Local, we wanted everyday customers of larger retail companies to take a step back to support their very own neighborhood.
๐ป What it does
When a user searches the Web to find a product that they wish to purchase, the Go Local extension immediately scrapes the web for similar products being sold by local business owners instead and displays these on the screen with a direct link to the products. This way, users do not have to go out of their way to support local businesses and are conveniently reminded of these shops from the comfort of their own homes, greatly increasing the attention that local businesses receive. Additionally, the extension uses the user's location to select local businesses in the near vicinity of the user, truly bolstering the goal of supporting local owners. Since we focussed our efforts on planning a strong design, we stuck to implementing a prototype with a more narrow scope, although our goal would be to ideally have this product scraping all of the webs to give the opportunity to as many local business owners as possible. While the chrome extension primarily targets the customer side, we felt that it was just as important to provide support for local business owners themselves in this process. We thus built a UI prototype that allows local business owners to create a profile, and provide more detailed information about their products. Our goal with this was then prioritized these business owners in the results of our extension. These business owners will then be able to see analytics such as the number of page visits, and the total number of searches of similar products. Although the extension would scrape the entire web, it would prioritize results from this connected UI to be displayed first to encourage local business owners to create profiles in one centralized location, making it easier to market their content.
๐จ How we built it
In order to build our prototype, we first started off with planning out a dashboard on Figma. We realized that having a clear and intuitive design would be an important part of communicating our goal, and thus we collaborated on finalizing a design first. After a rough mockup, we cleaned up the design on Figma by adding colors, themes, and images. We wanted it to be a standalone product that clearly displayed our vision for the local businesses owners' side of our product. As per the chrome extension, we started off by scraping Etsy using a Python script that we had built. We selected Etsy because it typically is known to contain products from a variety of small business owners. Our first goal was simply to get back products from Etsy related to a specific search result. We then moved on to include customization for getting the products made by vendors from a specific geographic area. To do so, we had to leverage the Geonames API when scraping Etsy. After we were able to pull the information we needed from the URL, we linked this Python script to the bare-bones Chrome Extension that we had created using the Flask framework. This allowed us to collect data from the current userโs Amazon search through the Javascript and then make a request to the web scraper. Once we figured out how to make this customized request, our last step was to design the front end of our extension. We followed a similar theme as our Figma prototype to ensure all pieces of our project were consistent.
๐ฅ๏ธ Github
Our Go Local team worked virtually to develop the chrome extension. Initially, it was difficult to communicate with each other about the various edits we were making to our code. Github was influential in our development as we used commits to better collaborate. During the process, we ran into merge conflicts which we were able to resolve by reading our partner's commit messages and understanding what their code does. By having detailed commit messages and remembering to continuously push and pull our work, we were able to most efficiently collaborate remotely. Additionally, with Github, we were able to create a detailed README where users can not only find out how to use the product, but also how to install it on their own devices. Furthermore, we were able to include pictures to better direct viewers about how to navigate our code. Overall, Github proved to be an engaging platform for both our collaboration and user outreach needs.
๐โโ๏ธ Challenges we ran into
The most significant challenge our team faced was during the programming phase. Our initial vision was to scrape all of the google search results to display local products to the user. We quickly realized with the given time frame this would likely be difficult. We chose to focus our first version of Go Local on providing users with products from a specific site like Etsy. By choosing this approach we were able to both provide users with local options and accomplish our goal of fostering local companies. Another challenge we faced was connecting the python server that scrapes Etsy with the chrome extension files. We parsed this dilemma into smaller problems and from there we were able to search the internet with more specific questions, leading us to form our solution. For example instead of searching for "How to connect Python to JavaScript?", we instead searched for "How to convert Python array to JSON?" and "How to use JSON results in JavaScript?".
๐ Accomplishments that we're proud of
Our team is most proud of the design and the execution of the first version of Go Local. During the brainstorming phase, we quickly realized the large vision we had for Go Local. It involved a large and interactive platform where consumers could reach out to Go Local users and vice versa. By breaking apart our procedure we were able to produce both a UI design and a coded prototype of Go Local! During the programming phase, we were met with difficulties related to connecting our web scraper with the chrome extension. It was through reaching out to mentors and working together to piece apart the problem that we were able to accomplish the Go Local prototype. Ultimately, we are most proud of our vision and how we worked together to finish Go Local!
๐ง What we learned
While working on Go Local, our team learned about what new problems local businesses have faced because of the COVID-19 pandemic. We learned about how local owners are met with staff shortages and forced to rely on funding from the U.S government's CARES Act. However, many local businesses quickly realized they were not eligible for some of the governmental aid relief and became even more financially fragile. Through the process of researching and creating Go Local, we learned about how to assist local businesses using technology. By having an online platform that reminds consumers about local businesses, Go Local brings customers to local owners. Overall, we learned that with the proper awareness presented about them online, local businesses are able to sustain themselves during this pandemic. We hope to continue improving upon Go Local to directly meet the needs of local businesses!
๐ก What's next for Go Local
In Go Local 1.0, the main feature includes the ability to browse solely products from local businesses on Etsy. Future versions of Go Local will include:
- Ability to get notified of local products when on any online shopping sites, not just Amazon.
- Ability to browse local businesses that aren't only on Etsy.
- Ability for businesses to create profiles and directly engage with Go Local users.
๐จ For more information about our vision, please visit our UI prototype! ๐จ
Built With
- beautiful-soup
- css
- figma
- flask
- geolocationapi
- github
- html
- ip2location
- javascript
- json
- python

Log in or sign up for Devpost to join the conversation.