Marine Snow

Marine Snow is a vertical social network + music streaming platform for music connoisseurs
Mobile App Development
Staff Augmentation
Marine Snow
Description

Marine Snow is a vertical social network + music streaming platform for music connoisseurs. It allows discovering indie music not through track lists and playlists, but in a game-like manner with content unlocking (both music and social network elements (posts like on reddit, audio chat rooms)). Subscriptions have access to the app, in-app activity unlocks content.

Project Background
  • Marine Snow founder had a lot of features in mind for his iOS mobile application to implement. Client’s team was composed of a CTO, 2 part-time back-end engineers, a designer and a product owner all working part-time.
  • The team was eager to experiment with the app's functionality to find the best way of engaging users with an emphasis on gamification.
  • Initially, the client was trying to implement an audio communication feature that would allow users to create and/or enter an audio room, record audio messages, upload them, and listen to messages that other users have recorded. The UI should have responded in real-time as new users interacted within the room — entering or leaving it, creating or deleting messages, etc. Users should have been able to record and listen to audio messages whenever they choose.

Objectives
  • Create new infrastructure to handle audio rooms and large quantities of users
  • Implement functionality that allows recording of and listening to audio messages
  • Implement UX for iOS App according to product documents and design specs
  • Test different UI solutions for better user experience
  • Implement gamification features with rich audiovisual component to increase user engagement with the app
  • Integrate in-app analytics to understand user behavior

Tech Stack

React Native + native Swift modules + Unity for game-dev elements only for iOS, Python + Django, AWS, Jenkins, Terraform, Kubernetes, Grafana, Mixpannel for Analytics

Key features
  1. Implemented many features from scratch:
    • Reddit-like in-app user posts tab
    • Round Table
    • Achievements Page
    • Ecosystem
    • Comments
    • New Profiles
    • Native iOS player integration
  2. Profound UI solutions:
    • Advance animations
    • App Redesign
    • Custom views similar to apple watch dashboard
  3. Gamification features for:
    • Home Page
    • Rewards system
  4. Integrate in-app analytics
  5. Setup of Project Infrastructure
    • Subnets with Internet Gateways for security and stability
    • Load Balancer Application
    • WireGuard VPN tunnel
    • Jenkins - CI/CD
    • Terraform - “Infrastructure as code” 
    • Grafana for application metrics monitoring

Key Solutions
  • Implemented many features from scratch
    • Reddit-like in-app user posts tab
    • Round Table - FIFO-like audio messages chat rooms themed by topic. We used SendBird for chat.
    • Achievements Page - Freeform-like Canvas feature to promote user’s in-app achievements (Orbs) in front of other users
    • Ecosystem - dynamic leaderboard page with Marquee of the most active users
    • Comments feature for posts and music with preview of Reddit links
    • Re-invented Profile feature by adding avatars collection, added musical compositions and adding possibility to review other Profiles
    • Native iOS player integration, that also allowed to use the app in the lock mode

  • Profound UI solutions:
    • Advance animations based on React Native reanimate library for Round Table and Canvas features
    • Many rounds of redesign campaigns of the app
    • Developed custom views similar to apple watch dashboard and animated backgrounds with native iOS code.

  • Gamification features for:
    • Home Page in Advent calendar style with musical rewards and user levels
    • Rewards system for comments, posts creation, likes, and adding music

  • Integrate in-app analytics to understand user behavior:
    • We’ve integrated Mixpannel to understand how user behaves in application, collecting metrics and testing hypothesis

  • Setup of project infrastructure:
    • Our DevOps has set up 8 subnets (4 for production and 4 for development - each set of 2 public + 2 private) with Internet Gateways (to communicate with the internet) for project servers to improve fault tolerance and security of the infrastructure.
    • We’ve set up a Load Balancer Application to increase servers survivability and availability that also monitors the health of its registered targets and ensures that it routes traffic only to healthy targets.
    • To control inbound and outbound traffic this infrastructure uses security groups.
    • WireGuard VPN is used as a VPN tunnel to get into the internal network of project infrastructure including Amazon RDS database.
    • To provide continuous integration functionality and remove human participation in many tasks we’ve used Jenkins for CI/CD and Terraform for the “Infrastructure as code”.
    • Kubernetes has been used for contained applications deployment automation, scaling, and coordination in a cluster. We’ve chosen Grafana for application metrics monitoring.

Marine Snow
Results
  • Marine Snow mobile application released on time with 5-star rating in AppStore
  • Stable and secure project infrastructure allows application to handle many simultaneous users

Anytime we've required a new or different resource, they have responded with excellent options very quickly

Max Tamahori, Engineering Lead at Marine Snow