How2Lift

An AI-powered weightlifting atlas

The motivation

As a final project for school, we as students were tasked with making any project in a group. I gathered my friends and since working out is a passion of ours, we decided to create this application to help others.

Our team composition and roles:

Phases of Development

Phase 1 - Planning

We started with a brainstorming session, where we discussed the features we wanted to implement. We came up with a document (in Polish) outlining our ideas, tasks and technologies. At this point we also created a backlog on Trello.

Phase 2 - Design

Before designing the actual app, we picked a color scheme, fonts, and icons we would use in the app. We laid them all out in a system design page on Figma. Then we proceeded to create wireframes and prototypes to visualize the user experience.

Phase 3 - Development

After finalizing the design, we began the development phase, where we implemented the features outlined in our document. From then on, the development process consisted of picking tasks and assigning them to team members based on their strengths and expertise.

Phase 4 - Testing

In this phase, we conducted thorough testing of the application to ensure all features worked as intended and to identify any bugs that needed fixing.

Phase 5 - Presentation

With the application being complete, we prepared a presentation to showcase our work and demonstrate the features of the app.

Technologies Used

We used the following technologies to build the application:

Frontend

  • ReactReact Native
  • ExpoExpo
  • TypeScriptTypeScript
  • Tailwind CSSTailwind CSS (NativeWind)

Backend

  • Spring BootJava Spring Boot
  • PostgreSQLPostgreSQL
  • OpenAISpring AI + OpenAI
  • FFmpegFFmpeg

Deployment

  • Oracle Cloud VPSOracle Cloud VPS
  • NGINXNGINX

My involvement

As the lead developer, I was responsible for overseeing the development process and ensuring that the project stayed on track. I also took on the role of project manager, coordinating tasks and managing the team. In addition to my managerial duties, I also majorly contributed to the development of the application. I was responsible for the whole backend development, including API design and database management. A significant part of the frontend was also implemented by me. Finally, all of the hosting and deployment was handled by me.

Gallery

A short demonstration of the application

Another demonstration of the application

Links

Here are some links to the project: