An app for making calls, receiving calls, sending SMS
Client had a requirement for software development. They wanted a development team that had experience working on SaaS products. They needed the app to incorporate Twilio API's for making calls, receiving calls, sending SMS, etc. They wanted us to integrate the system with Zapier as part of a workflow which is similar to a marketing automation system.
The client needed a messaging component too where all texts, emails, etc. could come into for easy response. A simplified kanban style CRM to move contacts from one stage to another.
They wanted to develop programs for:
- Web-based Admin of registered uploaders, selected revenue model, price, etc.
- Video transcoding system to prepare uploaded videos for HLS streaming (through Amazon) Analytics system
For the End-users they needed programs so that the users could:
- Sign up / log in with a unique id (email, username and password, and phone number) and/or Facebook
- Reset a forgotten password
- Record/upload from a library a video taken directly from their iPhone in both portrait and landscape mode and in full resolution
- Be promoted to add certain metadata to the video like the title, description, and keywords
- Play, pause and scrub the video
- See the views of the videos
- Create and edit their profiles
- View others’ profiles
Required Admin User Features:
- View of a list of all incoming videos via a web portal and a dashboard of statistics
- View of a list of all users and their upload statistics - # of videos submitted, # of views by video, the price for each video, revenues earned, and by which revenue model
- View by the uploader to see a list of payments by revenue model and video title.
- Ability to delete video and metadata
- Ability to delete the user and all videos
- Ability to select curated videos that appear at top of the feed
Features we delivered:
- Uploading Videos and share them as Free or Paid.
- Unlimited Live- streaming sessions can be created.
- Earning per your video / live-streaming
- Creating your social network
Challenges we faced: Converting live streaming to video after the session ends and storing it in s3 bucket without compromising the video’s quality.
The solution we provided: A setup with Nginx streaming server, where we saved a copy of live stream on disk and then streamed it to user in various formats using FFmpeg.
OS app | Swift | Node API | S3 with Cloudfront media | Nginx web server | FFmpeg Tool | Php (CodeIgniter) | GVI (Google Video Intelligence) service | HaishinKit | Crashlytics | Facebook SDK | Firebase | In-App Purchase