← All case studies
Case Study / Qualitative Research

Market Research App with Screen Recording - iOS & Android

Native Android and iOS apps that turn a research participant's phone into the fieldwork tool: text, photo, video, screen-recording and poll assignments, captured on the spot and uploaded in the background.

Market Research App with Screen Recording - iOS & Android screens showing project assignments, video tasks and question flow
Project Overview & Specs
Platform
Native Android (Java) and native iOS (Swift)
Client
Kix Data Limited, London
Compatibility
minSdk 26 · targetSdk 34
Localisation
36 in-app languages
Android codebase
83 Java files, ~16K lines

01 / The Challenge

Qualitative fieldwork only works if the participant actually finishes

Kix runs invitation-only research studies where participants complete remote tasks over days, in their own homes, on their own phones. The hard part is not showing a question, it is everything around it: a participant filming a three-minute video on patchy mobile data, a study that branches based on the last answer, a consent form that has to be read and signed before any data is collected, and a global panel that does not all read English. Every one of those is a point where someone abandons the study and the research loses a data point.

Video and screen-recording answers are large files, and a failed upload on mobile data means a lost response and a participant who will not re-record

Studies branch, the next question depends on the last answer, so the app could not ship a fixed, pre-loaded question list

Some tasks require capturing what happens on the participant's own screen, with narration, which each platform only permits through its own tightly restricted screen-capture APIs

Consent is a compliance requirement, not a checkbox: participants must read a release form and sign it before contributing

Panels are recruited worldwide, so the interface had to be readable by participants who do not speak English

02 / Here is What We Did

Fully native on both platforms, built around the upload rather than around the form

We built Kix natively on each platform, in Java on Android and Swift on iOS, so we could get directly at the screen capture, media recording and background execution APIs that a cross-platform layer makes awkward. Both apps talk to the same Kix API, and the design decision that shaped the rest was treating media upload as its own long-running job rather than something a screen waits on.

Uploads are handed to WorkManager, so a participant can leave the screen, lock the phone or lose signal mid-video and the answer still lands.

STEP 01

Onboarding, Consent & Language

Built OTP email sign-in, participant profile and photo setup, a language picker covering 36 locales applied before the first screen, and a consent flow that renders the release form PDF in-app and captures a real drawn signature.

STEP 02

Assignments & Branching Questions

Wired project lists into a per-project assignment view grouped by Today, Tomorrow and Remaining, then a question engine driven by a next-question endpoint so branching studies resolve server-side and answers can be edited after submission.

STEP 03

Capture & Resilient Upload

Added photo, video and screen-recording capture, the last through a foreground MediaProjection service with a floating timer and mic capture, then moved every media upload onto WorkManager with a streaming request body that reports real byte-level progress into a notification.

03 / Features

Five task types, one participant flow

01

Five assignment types in one flow, open text, photo, video, screen recording and polls, each with its own capture screen but a shared submit-and-continue rhythm so the study never feels like five different apps.

02

Screen-recording tasks run through a foreground MediaProjection service with a draggable floating timer overlay and microphone capture, letting participants narrate what they are doing on their own screen.

03

Background uploads via WorkManager with a custom streaming request body, so video answers survive a locked screen or a backgrounded app and report true byte-level progress in a notification rather than a fake spinner.

04

Server-driven branching: each answer calls a next-question endpoint that returns the following question and its type, so multi-branch studies are reconfigured by researchers without an app release.

05

In-app consent, the release form PDF is rendered through a bundled PDF viewer module and signed with a real drawn signature that uploads as an image, keeping the compliance step inside the study.

06

Assignments grouped into Today, Tomorrow and Remaining, so a participant in a multi-day diary study sees what is due now rather than a flat backlog.

07

36 selectable in-app languages with Play App Bundle language splits, so a global panel reads the study in its own language without inflating the download.

08

Answer editing after submission, network-loss detection with a blocking dialog, and Firebase Crashlytics and Analytics for stability and drop-off visibility across the study.

04 / Technologies

A fully native stack on both platforms, chosen for media capture

Android
Java
iOS
Swift
Retrofit
OkHttp
Gson
WorkManager
Screen Cap
Recorder
Foreground
Glide
Crashlytics
Analytics
Gradle

05 / Results & Impact

Shipped as a production research instrument

5
Assignment types: text, photo, video, screen recording, poll
36
In-app languages with App Bundle language splits
23
REST endpoints behind one Retrofit service layer
17
Android activities and 8 fragments across the participant journey
iOS & Android
Live on App Store and Google Play for invited research panels
Android 8.0+ / iOS 14+
Reaches the devices real panels actually use
Offline-tolerant
Uploads resume through background managers instead of failing silently
App StoreGoogle Play

Kix helps you take part in exclusive market research studies that shape the future of products, services, and brands, complete engaging remote tasks anytime, anywhere.

Kix Data Limited
Have something similar in mind?

Let's build the app your fieldwork actually depends on.

Tell us what your users have to capture and where they'll be standing when they capture it, and we'll bring the engineering to make it land every time.

Start a project