We are looking for an experienced Android developer to create a pedometer-style application that would encourage users to achieve specific activity goals by issuing shopping vouchers as an incentive.
In simplest terms, the app should be able to track user's movements (such as walking, running, cycling), derive several different types of data from these movements (distance covered, total time spent moving etc.), store this data locally and then regularly sync with the central database. Once a user has achieved specific goal (burn X calories in N days, for example), the app would issue a shopping voucher (this would be just a randomized string fetched from the central database).
Some additional features and requirements:
- Daily user notifications about current progress and the amount of activity required to reach the next goal
- Ability to distinguish among different types of activity (i.e. walking vs. running) and to ignore any movements that aren’t likely to be caused by physical activity (like driving a car)
- Tracking must be done in the background (i.e. run as an Android service), but the app should also have a foreground interface. Special attention must be paid to battery consumption
- Interface should have a mini news feed that would allow administrators to publish text-based news and articles (these should appear on the app's home page)
- Users should be able to login with their Facebook, Twitter and Google accounts, but would also be able to create a custom account for the app
- Easy sharing of current progress and achieved goals on all major social networks
An ideal developer would have:
- Substantial experience in Android development
- Knowledge of an appropriate server-side scripting language (ideally PHP or Python) and MySQL database platform
- Excellent writing communication skills
- A portfolio showing previous work, ideally including an example that is in the same or similar niche
Detailed project specification would be provided upon signing the contract, but the developer is expected to make justified decisions on his own during development (expect for important issues, in which case we should be consulted).