Inspiration

We all love Ebay auctions. They're a great way to save money if used correctly. However, more often than not, trying to get a good deal on an item could backfire severely. After spending hours finding listings to snipe, you could still end up losing the auction. This wastes time and opportunities as some cheaper listings could have ended while you were sitting on the lost auction. In fact, I remember wasting hours bidding on laptops doing this.

What it does

Most users buy non unique items. They don't care which listing they win as long as it's the correct product and it's the lowest price possible. Why should a user have to put a ton of effort into bidding?

Syrup solves this problem. Rather than finding another listing and rebidding, Syrup lets you create a bidding queue of similar listings. With this bidding queue, Syrup automatically finds the lowest priced item in the list and bids for you (not exceeding your maximum of course). When you've been outbid, Syrup goes through the list for the best possible deal and bids on that item instead.

How we built it

We built Syrup using the Ebay API, MongoDB Atlas, Google Cloud App Engine, Flask, and JavaScript. We use Ebay's OAuth to generate user tokens and store them onto a MongoDB Atlas server. We use these tokens to communicate in a separate thread in our Python Flask server hosted on Google Cloud App Engine. This thread pulls in new data from Ebay, sorts the queue, and decides whether to bid on an item.

We're using the Sandbox environment which unfortunately means we have to use some mock data for testing. We can't use a Production environment since Ebay Buy APIs are only available to developers in the Sandbox.

Challenges we ran into

  • Race conditions
  • Bad libraries
  • CORS

Accomplishments that we're proud of

  • Locks
  • Rewriting libraries
  • Fixing CORS

What we learned

We had limited experience building Chrome extensions so that was a major hurdle. It was also our first time using Flask in a larger scale application than what we normally use Flask for.

What's next for Syrup

In the future, many new features can be developed for Syrup including a profile page for each user, a history of past purchase, data analysis of purchases and queues for the user to learn about their buying habits, and more.

Share this project:

Updates