Inspiration
While we were pitching ideas for the hackathon, we were simply thinking of common applications that could be rethought. Eventually, we came across the idea of integrating AI into a calculator, but we did not want it to be a wrapper of an LLM.
What is the goal
ReCalc is a web-based calculator that lets users decide how much help they need. If they need the direct answer to an expression, it can do that. If they want to only find the u-sub of an integral, it can do that. Additionally, the calculator supports tabs, allowing for users to keep track of several calculations. The calculator is intended to support algebra, calculus, and linear algebra.
How we built it
The backend of ReCalc is built using Python, while the frontend uses HTML, CSS, and JavaScript. The most commonly used Python library is SymPy as it can handle expressions and equations exceptionally, including calculus problems. The front end creates a string that is passed into the Python script, which is then parsed into a SymPy expression. This SymPy expression can be evaluated for and return an output, which is sent back out to the front end.
Challenges we ran into
- Most of us barely knew Python or web development, so most of the learning happened during the event. This led to a lot of time being spent trying to interpret documentation and how we were supposed to implement our ideas.
- The LLM was not reading the API key from the .env file. This delayed the progress of the LLM heavily since we could not access the API whatsoever.
- Creating a nice UI was and still is challenging. We initially wanted to use ReactPy, but it was too complicated to learn within the span of the event. Therefore, we had to go to standard HTML.
Accomplishments that we're proud of
- Getting correct algebraic results to display on the front end of the calculator.
- Connecting the front end to the back end.
- Learning a lot of Python and web development within 24 hours.
What we learned
- Plenty about Python libraries and syntax, specifically classes and the SymPy library.
- Implementation of back end and front end with Python and HTML/CSS/JS.
- Creating UIs in HTML/CSS/JS.
What's next for ReCalc
- Implementing the functionality of the Gemini API.
- Finishing the remaining functions.
- Creating the actual UI.
Log in or sign up for Devpost to join the conversation.