Gemini-powered Workout Tracking App

Create tailored workout routines using Gemini

What it does

Allows users to record workout routines, track completion of these routines, and edit these routines. Gemini is used to offer an alternative way to create workout routines, where a user can request what kind of workout they want, and Gemini will generate one. Gemini is grounded in the user’s completed workout routine history, so can provide workout routines that are tailored to the user’s level of experience. Additionally, it can also act like a coach, and suggest workout routines which up the intensity of previously completed workout routines if the user asks it.

The app itself does not call Gemini, this is done by the backend API which supports the app. This API manages the data consumed by the app, such as the workouts associated with each user. The app makes a call to one of the API’s endpoints which invokes a call to Gemini. LangChain is used to call Gemini. LangChain calls Gemini using the Google Cloud Python SDK. LangChain is used to additionally implement Prompt Engineering, RAG, and Function Calling. Gemini is made aware of the user’s request, user workout history, exercises supported by the backend API, the request format of the backend API’s create workout endpoint, and a tool to actually call this endpoint. The outcome is that Gemini enters a new workout into the backend database for this user, and then the Android app refreshes its data from the backend API, which then contains this generated workout.

Built with

  • Android
  • Imagen 2

Team

By

Thorin

From

UK