Inspiration
As a recent graduate, when viewing numerous job postings and repeatedly seeing valued skills that I did not have, my feeling of competence began to slide into doubt. ANTicipated aims to strengthen job seekers' confidence by rewarding them as they actively learn valuable skills relevant to their field of interest.
What it does
ANTicipated compiles free learning resources on valuable skills in a specific field to prepare job seekers for their dream job with help from an AI AssistANT that generates a Learning Recap.
How we built it
ANTicipated began as a design in Figma. Once, the main features of the application were decided upon the UI was developed using React with Vite. Then, the site was connected to Firebase for storage and the user sign-in and setup was developed. The site was deployed to Vercel through Github and I learned how to store API keys securely. Next, the logic for creating the user's daily learning journey was created by compiling web resources and YouTube videos. Finally, the learning recap was generated using Google's Built-In AI Summarizer.
Challenges we ran into
The main challenge I encountered was time. Other than this, obtaining the text from the site's stored in learning journey via web scraper was a bit frustrating. This was my first time building a web scraper and I quickly learned that while SPAs (Single Page Applications) are good for various reasons they are not very effective for web scraping. I also wanted a fun design for the user's learning journey, since this is the highlight of the application, and did so by drawing SVGs and in doing so realized how little I understand React's rendering logic.
Accomplishments that we're proud of
I am very happy with the learning journey! By creating the learning journey, I learned how to programmatically draw SVG paths with little ants ‘walking’ along the path. I programmatically perform search queries using Google and YouTube’s APIs. The results were generation of a personalized learning journey that encourages users to watch videos or visit web pages containing information relevant to their dream job.
What we learned
Managing state effectively is very important. While I had read about lifting state for React applications this was my first React project to require the need to lift state. Lifting state enables the child to call a parent’s function and pass information to the parent. By lifting state this maintains the unidirectional data flow.
What's next for ANTicipated
I hope to complete the few unfinished elements: progress circle (top of page), skills (ability to add/update/delete), and handling user sign-up and data management better. I also want to build a Chrome extension for this application that tracks time on the same pages in the learning journey, send summaries of the page's contents to the application for the learning recap, and enable users to take notes that would be included in the learning recap summarization.

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