Inspiration
After a year as a member in a robotics team, I realized how important a FRC expert mentor is for a team. Coming from a team without a lot of funds, we were not able to afford professional mentors, which means there were tons of moments that my team felt genuinely lost. Personally, I found reading other teams' technical binders a good way to learn, however, when I was completely a newbie at the beginning of the season, the jargons in the binders just kept pushing me away, and the process of searching up words fragmentally was just tedious. To remove the friction of robotics learning, I came up with the idea of this web-app.
What it does
- Analyze Technical Binders You can upload a technical binder. The AI reads it and pulls out all the FRC related jargons (ex. churros, box tubes, polycarbonate, acrylic, etc).
- Get Simple Explanations: Click on any word the AI finds, and it gives you a simple explanation, tells you the advantages and disadvantages of using, it also show you its alternatives, its image, where you can purchase it, as well as other people's discussions related with it on Chief Delphi (FRC reddit).
- Notebook: For each technical term, there is a "Save to the notebook" button below. It saves the term you look up into a notebook, so you have your own dictionary to study from later.
How I built it
The project has two main parts:
- The Frontend: I used Next.js (which is based on React) to build it. I used TypeScript to write the code, which helps prevent bugs, and Tailwind CSS to make it look nice without writing a ton of CSS.
- The Backend: With Python using a framework called FastAPI, which is super fast.
- AI Part: Powered by the Google Gemini API. I used a powerful version to understand the pictures and text, and a faster version to give you the explanations quickly. Everything is saved in a SQLite database.
To put it online, I used Vercel for the website and Render for the backend. I used GitHub to save all our code and to automatically update the live site when I made changes.
Challenges I ran into
The biggest challenge came with the analyzing of the images. Ideally, despite assisting users reading through technical texts, GearUp should also guide users through mechanical design photos by labeling different components used in the design (ex. star wheels, pulley, etc.) However, it turned out that simply relying on Google Gemini won't reach my goal. It keeps repeating the same label, and labels often overlap or mislabel.
Accomplishments that I proud of
I am genuinely proud of the Text Analysing function as it came out just as I expected. And the fact that this is my first time turning my own idea into a real-life web-app just makes me feel satisfied.
What I learned
- The importance of writing a Product Requirement Document: It allows me to communicate with the code compiler more effectively by breaking a big project into relatively smaller tasks, and setting up checkpoints.
- How to implement APIs: I've known the concept of APIs for a while, but it was my first time actually implementing one.
- How to deploy a website: Got to be introduced to Vercel, though I did not deploy the app successfully. :)
- The importance of doing technical research: Knowing the technical limitations (such as AI image analysing ability) will make the process more certain and smoother.
What's next for GearUp
- Deploy it to make it an actual website.
- Figuring out a better way to do robot visual analysis.
- Adding translators to help people having difficulties with English.
- Adapting it into our new-member training workflow.
Built With
- fastapi
- git
- github
- google-gemini-api
- next.js
- python
- react
- render
- sqlalchemy
- sqlite
- tailwind-css
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.