-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Readme: project ambitions and contribution info
- Loading branch information
Showing
1 changed file
with
106 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,23 +1,94 @@ | ||
# Bouncy Feet | ||
|
||
It's the DuoLingo for shuffle dance! | ||
A web app that assists you in learning to shuffle dance. Bouncy Feet shows you | ||
new moves and checks if you are doing it right. | ||
|
||
A web app that assists you in learning to shuffle dance. | ||
The app can be installed as a Progressive Web App or just used directly like a | ||
web page. It should work in all major browsers, on the phone or on laptops and | ||
workstations. You only need a camera which you can position in a way where your | ||
full body is clearly visible while you dance. | ||
|
||
1. Learn new moves through videos integrated in the app. | ||
2. Practice on your own. | ||
3. Record your dance with the app and it will mark errors. | ||
4. Share your recording with friends. | ||
## Why would I need an app for dancing? | ||
|
||
Let's be honest, dancing is best without interacting with your phone or laptop. | ||
Just play some music and go. The app is designed with this principle in mind and | ||
tries to support you without getting in your way. | ||
|
||
**Easy Review**: After a dance, you can review your video recording. Bouncy Feet | ||
enhances the recording with timestamps and body positions it detects on the | ||
beat. If you like the video, save and share it. Otherwise, delete the video and | ||
it is gone forever. (BouncyFeet is perfectly private and never uploads the | ||
video, everything is done on your device only.) | ||
|
||
**Browse a Collection of Moves**: An ever-growing list of shuffle moves are | ||
available in the app to inspire you. | ||
|
||
**Stay Motivated**: Incremental statistics counting how many steps you danced in | ||
your lifetime using the app motivates you to stay fit and active. | ||
|
||
**And more in the future**: | ||
- Attach video tutorials to moves in the collection. | ||
- Combine moves to choreographies. Learn them with an interactive audio guide. | ||
Share the choreography with friends to practice at home and next time you meet | ||
you will be able to dance it together in synchrony. | ||
- Easy video editing with filters and custom 3D models dancing next to you or | ||
instead of you. | ||
|
||
**But never forget**: Dancing is physical, not digital. An app will not replace | ||
your visit at the dance studio where you meet your friends and sweat alongside | ||
them. Bouncy Feet the app works best when you forget that it's even recording | ||
you while you dance. Bouncy Feet is designed to be useful to you while | ||
minimizing the screen time of you using it. | ||
|
||
## About the Project | ||
|
||
At its core, Bouncy Feet is an attempt of myself to create a product which | ||
people actually want to use. Including myself as user number one. | ||
|
||
In October 2023, I quit my fulltime job to work on my own terms. Bouncy Feet had | ||
not crossed my mind, yet. But after a few weeks this idea of a dance app came to | ||
me and I decided to start working on it for the majority of my time while doing | ||
other gigs on the side to keep my personal finances in balance. | ||
|
||
It is unclear where this project will end up. But right now, I am convinced the | ||
first version of the app will be free for everyone and without adds. It might | ||
make sense to add monetization later. But only if this ever turns from a fun | ||
project to something that needs to be profitable to put food on table for me and | ||
others. But that is a far dream and too unlikely at this moment to be worth | ||
thinking about too much. | ||
|
||
Regarding tech, the project uses [SvelteKit](https://kit.svelte.dev/) for | ||
everything UI, [MediaPipe](https://developers.google.com/mediapipe) with | ||
pre-trained models for basic pose detection, and Rust for the core business | ||
logic (dance detection). | ||
|
||
## Progress Status | ||
|
||
- 23 Dec 2023: Update README to better describe the project ambitions. The | ||
techstack with SvelteKit + Rust to create a PWA is mostly locked in now. | ||
- 20 Nov 2023: Started using [SvelteKit](https://kit.svelte.dev/). | ||
- 18 Nov 2023: Initialized repository under the name `bouncy-feet`. | ||
- Oct - Nov 2023: Tried out the core concepts in a | ||
[prototype](https://github.com/jakmeier/dance-app-poc-playground). | ||
|
||
# Open-Source Commitment | ||
|
||
I am a strong proponent of open-source software for two main reasons. | ||
|
||
1. I personally love it when I am able to look at the source code of software I | ||
use. It can be a great learning experience to look at real code and the | ||
process of how that code came to be. | ||
2. I admire the community aspect of successful open-source projects. People use | ||
it to learn and practice their favorite technologies beyond what would be | ||
possible at a day-to-day job. This is the perfect counterweight to big | ||
cooperations in the software space. | ||
|
||
With this mindset, I want this project to be as open and welcoming as possible. | ||
Even in the unlikely event where I want to monetize some form of Bouncy Feet, I | ||
would still want to keep all the source code free and open-source. I would want | ||
to monetize the content inside the app (think dance courses), if anything. But | ||
access to the software itself should always remain free. | ||
|
||
## License | ||
|
||
This project is developed under permissive licenses. You may freely reuse the | ||
|
@@ -32,11 +103,33 @@ unsuitable for your project, please open an issue. | |
|
||
## Contribution | ||
|
||
The current status is **source available** without explicit encouragement for | ||
external contributions. I am happy to answer pull requests and issues but please | ||
set your expectation right, there can be delays. | ||
The current status is **source available** without proper documentation that | ||
would be necessary to encourage a wider community to contribute. Hopefully, this | ||
will improve over time. But if the lack of documentation does not bother you, I | ||
am happy to answer pull requests and issues if you open them. | ||
|
||
If you are interested in helping out by implementing features, the first place | ||
to look is the list of [issues with contribution | ||
encouraged](https://github.com/jakmeier/bouncy-feet/issues?q=is%3Aissue+is%3Aopen+label%3A%22contribution+encouraged%22). | ||
These are typically long-term features which I know I want in the app eventually | ||
but I don't have the capacity to work on them right now. If you want to work on | ||
them, I will give my best to help you help me and make it a pleasant | ||
collaboration experience for both of us. | ||
|
||
But the list of issues is never complete and there are certainly other ways to | ||
contribute, too. If you are interested in getting involved but don't see an | ||
issue that suits you, please drop me a quick message at [email protected] and | ||
describe your level of experience with Rust/Svelte and let me know what kind of | ||
contribution interests you. | ||
|
||
I myself have decent experience using Rust and can also mentor you a bit on your | ||
journey learning it if that's what you are looking for. But with Svelte, I am | ||
very new and could probably use some mentoring by you. :P Or we can learn it | ||
side by side, you don't need to be professional with Svelte to contribute. | ||
|
||
Oh and there are certainly non-technical ways to contribute, too! If you want to | ||
help out with the dance content, or with translations, or something else, please | ||
drop me a message [email protected] and I am more than happy to discuss | ||
further. | ||
|
||
|
||
Hopefully, the project will mature to a point where external contribution is | ||
actively encouraged. But at this state of the project, there is not enough | ||
stable code in the repository to justify collaboration with strangers, which | ||
always comes with an overhead. |