- Advanced Filtering - It'd be great to mix and match filters like category, genre, and platform with bi-directional sorting.
- Trends and Related - Suggest apps to users based on recent popularity and clustering of user behavior.
- Developer Features - e.g. Analytics or messaging other developers.
- Integrations - e.g. Twitch.
- Custom Video Player - Add VR-tailored controls because you can assume users are using an HMD.
- VR Developer Meetups - This would be pretty sweet.
- Many more things I could suggest...
Performance and Scaling
The first bottlenecks will likely be the homepage and the apps browser. As the number of apps grow, beyond simple query optimization, I'll want to cache as much as possible using a combination of page and fragment caching. It looks like there's already an asynchronous solution in place to insert download counts after DOM-ready so that's good. Performance monitoring with New Relic is in place via a Heroku Add-on. The slowest page is probably the apps browser (old path is /category/all). It probably wouldn't be necessary for a long time, but sharding the database would be necessary eventually. For search, I would upgrade to Elasticsearch at some point since it's free, easy-to-manage, and scales to millions+ of apps.
No tests yet but generally I like to use Rspec for unit testing of models and Cucumber for integration testing for websites. Continuous integration can be added later as necesssary. For the integration tests, I'd make sure first and foremost that the developers can always upload and users can always download. I may even want to test for maximum completion times on those flows.
Code is hosted on Github and deployed to Heroku. Deployments incur zero downtime. I start with Heroku because it's fast and free--however, later I would suggest migrating to a PaaS solution like Engineyard or something custom (hybrid cloud?). It seems like the product would need to be agile so we should delay using bare metal.