Inspiration
The inspiration for Apogee came from the idea that students are constantly learning things, but most of that growth never gets written down anywhere useful. A lot of people do not have big internships, polished projects, or formal credentials yet, but they still have real evidence that they are improving. We wanted to build something that captures those smaller learning moments and turns them into something more useful.
What it does
Apogee lets a user enter a small learning win, like fixing a bug, understanding a new tool, or finishing part of a project. The app uses Gemini to extract structured skill evidence from that win, including a title, summary, skills learned, and a next step. The user can save that evidence note, view their saved notes in a Skill Graph, and generate a Growth Snapshot with resume bullets, interview talking points, next actions, and a portfolio blurb.
How we built it
We built Apogee as a full-stack web app. The frontend is React, TypeScript, and Vite. The backend is FastAPI. Gemini is used for structured JSON output, so the AI response is not just a random paragraph; it comes back in fields the app can actually use. Saved evidence notes are stored in SQLite, which lets the app keep user entries after refreshing. The Skill Graph is built on the frontend from the saved notes by connecting each evidence note to the skills it demonstrates.
Challenges we ran into
The biggest challenge was figuring out what the product should actually be. At first, it was closer to a simple micro-win logger, but that did not feel strong enough. We had to keep narrowing the idea until it became a real evidence system with saving, visualization, and reporting. The Skill Graph was also tricky because it needed to look useful without becoming too cluttered. Another challenge was making the AI output feel grounded and not like generic AI-generated text.
Accomplishments that we're proud of
We are proud that Apogee became a complete working system, not just a mockup. The app can take in a user reflection, extract structured skill evidence, save it to a database, visualize it in a graph, and generate a useful report from the saved data. We are also proud of how much the product improved from the original idea. It ended up feeling like something a student could actually use to track their growth over time.
What we learned
We learned a lot about turning a broad prompt into a focused product. We also learned how useful structured AI output can be when it is connected to real app data instead of just displayed once and forgotten. On the technical side, we learned more about connecting a React frontend to a FastAPI backend, saving data with SQLite, managing frontend state, and building a custom graph from saved records.
What's next for Apogee
Next, we would add user accounts, cloud storage, edit and delete options for evidence notes, and better long-term progress tracking. We would also like to add export options so students can turn their Growth Snapshot into a PDF, portfolio section, or LinkedIn-ready summary. Another strong next step would be GitHub integration, so technical project work could automatically become part of the user’s evidence history.
Built With
- css
- fastapi
- gemini-api
- git/github
- html
- javascript
- pydantic
- python
- react
- sqlite
- typescript
- vite
Log in or sign up for Devpost to join the conversation.