Inspiration
For the past three years, I have been logging my workouts in a google spreadsheet on my phone. While this has worked well for my needs, I wanted something that was easier to use and that I could truly make my own. Alex Bolinger joined me on this journey and thus Lyftr was born.
What it does
Once users register for an account, Lyftr allows them to enter basic information about their lifting sessions in a simple web form and submit it to their account. Once their database is populated with workouts, users are able to see stats and analysis on their homepage. A large line graph shows overall workout activity, while other sections include simple summary statistics and a detailed list of recent sessions.
How we built it
We set out to challenge ourselves by choosing to make a full-stack web app with:
- PostgresQL (CockroachDB) Database
- Express
- React
- Node.js Otherwise known as the "PERN" stack!
Challenges we ran into
The backend and database was fairly easy to set up, given my personal experience in Node / Express APIs and SQL databases. React, however, provided us with plenty of confusion to go around, as you would expect to be the case with our limited experience. There are many ways to go down the wrong rabbit hole with React, and sometimes even when you have many different possible solutions, the hardest part is just picking which one to use. In the end however, we were able to get together a competent frontend to demonstrate the functionality of our application.
Accomplishments that we're proud of
In no particular order:
- Working hard
- Learning a lot
- Building the backend very quickly
- Persisting through React pitfalls and misunderstandings
- Building something that we actually want to finish and use
What we learned
React and frontend development in general is somewhat of an art and something that can have a steep learning curve. At the same time, it doesn't have to be as complicated as we can sometimes make it. Open source libraries, components, and templates can vastly simplify the process and give you a much better chance at success. This is something to always keep in mind when doing any project. Embrace the open source community, and don't forget to contribute back to it!
Though this is my fourth hackathon of this format, it has truly taken me this long to realize that sleeping on the first night is definitely the way to go. The rest and rejuvenation from that night of sleep can power you through the biggest day (Saturday) and give you the best chance at success. Its too bad it took me missing my last opportunity to actually try this strategy to realize it would probably work best for me.
What's next for Lyftr
When we first discussed this project, there were a few unique features we wanted to implement:
- Spotify integration to view workout songs and what users are currently listening to
- A "heatmap" or "streaks" to encourage people to stay consistent with their workouts
- Gym buddy finder where users enter their gym and their workout schedule and get paired with close matches for them
These are all features we would love to incorporate as we continue to improve Lyftr and work towards the goal of integrating it into our lives and the perhaps even the lives of others!
Built With
- cockroachdb
- express.js
- javascript
- materialui
- node.js
- postgresql
- react
- sql
- typescript
Log in or sign up for Devpost to join the conversation.