Technical lead and API/Front-end developer

ThrillPiXx is the #1 platform to Find, Learn, and Explore hundreds of thrills around the world. My role was as the Technical Lead and to build the API for the mobile app. I used Ruby on Rails for the API and a Web interface for the admins. The API provides the following features:

  • Users: Creation/edition/deletion – Get profile – Search by username – Check if a username is available – Authentication/New password request
  • Followers: Follow/Unfollow a user – Accept/Reject a follower – Get list of followers
  • Invite a friend by email
  • Categories: Get list – Search categories by name – Follow/Unfollow a category
  • Thrills: Creation/edition/deletion – Get list – Rating – Get list of Top Thrill Seekers
  • Challenges: Create a challenge – Rate a challenge’s picture – Accept/reject a challenge – Get list
  • Bucket lists: Adding/Removing an item – Edition – Mark a bucket list item as done – Get list
  • Trips: Creation/edition/deletion – Follow/Unfollow a trip – Get list
  • Comments: Creation/deletion – Get list – React to a comment
  • Messages: Get list of conversations/messages  – Send/Delete a message
  • Notifications: Get list – Delete a notification – Set notification as read
  • Report an item
  • Search a location
  • Check if a picture is safe

Instead of using the usual suspects for storing the data, DataStax Enterprise is used. It is a challenge because Rails ActiveRecord can’t be used in that case. A lot of customizations had to be done to make it work.

AWS is used for storing images (S3), sending emails (SES) and push notifications (SNS), for the CDN (CloudFront), and video transcoding (ETS).

Google Vision API is used to detect inappropriate images uploaded by users.

Thrillpixx Home Page
Privacy Preferences

When you visit our website, it may store information through your browser from specific services, usually in the form of cookies. Here you can change your Privacy preferences. It is worth noting that blocking some types of cookies may impact your experience on our website and the services we are able to offer.

Our website uses cookies, mainly from 3rd party services. Define your Privacy Preferences and/or agree to our use of cookies.