What it does

CDaily is a web scraping app that scrapes Certificate of Deposit (CD) rates from 10 public banks and credit unions including but not limited to Capital One, Navy Federal Credit Union, etc. We’ve done the research and compiled a plethora of rates into one place, striving to help people with less capital make smarter investments. Users are able to freely traverse rates via a table, filtering by APY, term length, bank name, minimum deposit etc. They can also use our calculator to estimate their total profit. In addition, you can sign up for weekly notifications for the top weekly rates, as well as view them on our very own chrome extension!

How we built it

CDaily is a multilanguage application using libraries such as React.js and Tailwind CSS for the front-end side of the application. On the back end, we used Node and Puppeteer.js to load chrome pages, and then uses different parsing methods (regex/querySelectors) in order the create new JSON objects: for example: { "TermAmnt": 3, "TermType": "MONTH", "Deposit": 1000, "APY": "2.75%", "Bank": "Navy Federal Credit Union", "Url": "https://www.navyfederal.org/checking-savings/savings/savings-resources/certificate-rates.html" }, We also used the Google Chrome extension developer platform to create and submit for review a working extension for the site.

Finally, we used a PHP backend for subscribing to a weekly notification system.

Challenges we ran into

  • Connecting React and JavaScript to coexist, working in conjunction with PHP.
  • Creating a Chrome extension within a project with multiple root JSON files is difficult to navigate not being able to create a path from the JSON file to the extension page, because it was made in React instead of pure HTML.
  • Being able to actually publish an extension, as well get approval for advertisements takes more than 36 hours to actually get approved.
  • Debugging asynchronous programs is not supported by VSCode as far as we can tell.

Accomplishments that we're proud of

  • We're really proud of the UI, and how polished the entire site looks
  • We're proud of how functional the rates and calculator page is and think it's really intuitive/user friendly. -John: Going from a first-time JavaScript user to building a robust web scraping application

What we learned

  • John Dinkel is a first-time hackathon participant. He learned how to not only web scrape data using Puppeteer and Node.js, but he also learned JavaScript as a new language!

  • Evan Masiello, a first-time hackathon participant learned how to take JSON data and transform it into an iterable well formatted dataset in React.js. In addition, he learned how to create an email notification system using PHP.

  • Benjamin Johnson, a first-time hackathon participant learned how to create and submit a chrome extension for review. In addition, he developed a lot of the styles for pages including a confirmation email, and submission form confirmation.

  • Caleb Holland, a first-time hackathon participant continued to hone his sense of design by working on the front-end for the application using React.js and Tailwind CSS. His teammate Evan saw concept art that he was working on and said, "there's no way he could make that in 36-hours". In the end, Evan was so impressed that he needed to include his quote in my personal description.

What's next for CDaily

What's next for CDaily? More banks! As we continue to work on the app in the future, we will be adding support for more banks, as well as streamlining the data collection process, and improving the overall UI.

Built With

Share this project:

Updates