Loop

USA / joinloop.com

The Loop App connects to the Wi-Fi display and allows you to seamlessly share video, photos & video chat with your friends and family

iOS | IoT | Android | Backend

“Loop makes a new argument for the connected home display”

“The retro-looking display has a few modern surprises”

“The 9 coolest gadgets from this year’s CES”

The scope of the project

iOS APP DEVELOPMENT

The biggest challenge was media uploads. The user should be able to upload any amount of media files to any amount of channels – this consumes an enormous amount of memory and bandwidth.

At the same time, we had to make sure that the app is still responsible while the upload is progressing.

DISPLAY DEVELOPMENT (Android)

The Loop Display doesn’t have a touchscreen – the user manages it manually with special knobs. So the whole navigation we were developing had to match this device’s characteristic.

We decided to create our own custom architecture dedicated to the Loop Display App.

BACKEND DEVELOPMENT

The main challenges were:
1. Providing API for multiple client apps – the iOS App and Display App were supposed to have different features.

2. Optimizing media uploads
Uploading content was the core feature of the platform, this is why it needed to be scalable and ready for many parallel media uploads.

Key features

How we did it

The solutions we used for the Display App Development

The biggest challenge arose from the fact that the Loop Display doesn’t have a touchscreen and the user manages it manually with special knobs. Consequently, the entire navigation had to be usable solely through these means.

This is why we chose to create our own custom architecture, specifically for Loop Display. 

We developed the Display app for Android platform.

Languages

Java, Kotlin

Database

SQLite

Networking

Retrofit

REACTIVE PROGRAMMING

RxJava

Video calls

Tokbox

PUSH NOTIFICATIONS

Pushy

ANALYTICS

MixPanel

CONTINUOUS INTEGRATION

Bitrise

TECHNOLOGY

Bluetooth Low Energy (a display set-up feature)

The solutions we used for the iOS App Development

Media uploads were one of the biggest challenges. Users need to be able to upload any amount of media files across numerous channels, all while the app remained responsive and uploads progressed smoothly.

We decided to use highly efficient tools like Realm or Texture which covered the database notifications and UI respectively. Additionally, we had to become experts in threading and invent our own Queue of Queues, which is an excellent data structure for this use case.

Languages

Swift

ARCHITECTURE

MVVM + Coordinators

DATABASE

Realm Mobile Database

NETWORKING

Moya

REACTIVE PROGRAMMING

RxSwift

LAYOUT SDK

Texture (AsyncDisplayKit)

VIDEO CALLS

Tokbox

PUSH NOTIFICATIONS

PushKit, CallKit

ANALYTICS

MixPanel, Instabug

CONTINUOUS INTEGRATION

BuddyBuild

The solutions we used for backend in the iOS & Display App

Optimizing media uploads was one of our main challenges. We developed a client direct upload flow using AWS services like S3, Lambda, and Elastic Transcoder.

LANGUAGES & FRAMEWORK

Ruby, NodeJS, Ruby On Rails

DEPLOYMENT

Heroku

DATABASE

PostgreSQL

FILE STORAGE

Amazon S3

MEDIA PROCESSING

AWS Lambda, AWS Elastic Transcoder

PUSH NOTIFICATIONS

iOS APNs, Pushy

BACKGROUND PROCESSING

Redis, Sidekiq

How it works

Testimonial

Team

Product Owner

Sital Mistry

iOS Developers

Marcin Jackowski
Łukasz Mróz

Android Developers (Display)

Mateusz Budzar
Paulina Szklarska

Backend Developer

Jakub Janus

QA Specialist

Michał Szydłowski

Account Manager

Patric Friday

Scrum Master

Gosia Wosińska

Need a successful team?

Estimate project
See other projects
Droids On Roids Pixel