The EmoDTx apps, and what lies behind them

Apps for patients and their psychiatrists: mental health followed between visits.

  • iOS
  • Android
  • macOS
  • Windows
  • Web

Emobot follows patients’ mood between two consultations, passively, on their phone, and gives it to their psychiatrist to read: spotting a relapse earlier, in the time between two appointments. The EmoDTx app estimates mood from the voice on iPhone and from facial expressions on Android, during ordinary use of the phone, adds activity and routine, and offers the patient the PHQ-9 questionnaire and a summary in plain sentences every week; on a web portal, the practitioner follows their patients and their trends.

As a co-founder of Emobot, I designed and built its apps: EmoDTx on iPhone, Android, Mac and Windows, the psychiatrists’ portal, the collection apps of six clinical studies, and the platform that runs it all, from the API to the releases. About a thousand patients and a hundred practitioners use them, in three languages.

The result

The app’s welcome screen on iPhone, in French: welcome to EmoDTx, your daily companion for a healthier mind, with an illustration.
The welcome, on iPhone. Screenshot of the development build
Past summaries on iPhone, in French: one sentence a week on mood, with demo data.
The summaries of past weeks. Screenshot of the development build, demo data
A week’s summary on iPhone, in French: one sentence, then mood rising above its usual range on its curve, with demo data.
A week’s summary, with the mood curve. Screenshot of the development build, demo data
Trends on iPhone, in French: mood over a month, rising above its usual range, with demo data.
Trends: mood over a month. Screenshot of the development build, demo data
Home of the practitioners’ portal: the welcome, sign-in, sign-up and three sample cards from a patient record (mood, steps, PHQ-9).
The practitioners’ portal home. Screenshot of the demo mode
Practitioners’ portal: the list of active patients, each with their PHQ-9, mood, physical activity and routine as two-week curves, with invented data.
Patients and their trends. Screenshot of the demo mode, invented data
Home page of emobothealth.com: the headline, two buttons and three sample cards from a patient record (mood, steps, PHQ-9).
The emobothealth.com home page. Screenshot of the public website

What was done

  1. 01

    EmoDTx on iPhone

    Passive tracking of mood, activity and routine, the PHQ-9 questionnaire, and the weekly insight.

    React Native · Swift

  2. 02

    EmoDTx on Android

    The same features, with passive tracking through the front camera.

    React Native · Kotlin

  3. 03

    EmoDTx on Mac and Windows

    The mood dashboard on desktop, with its installer and automatic updates.

    Electron · React

  4. 04

    The practitioners’ portal

    The practice’s sign-up, patient invitations, by name or anonymous, the patient list with their signals and trends, each patient’s page and treatments, teams and their roles, the subscription.

    React · Vite

  5. 05

    The study apps

    Data collection for the clinical studies, on mobile, desktop and the web; one codebase serves several studies.

    React · Electron

  6. 06

    Data processing

    Every day, the signals from each platform turned into usable series.

    Python · pandas

  7. 07

    The data lake

    Data from the apps and the studies, organized, queryable, and free of test accounts.

    Amazon S3 · Athena

  8. 08

    The markers

    Building digital markers of depression, and the severity index practitioners read.

    Python · scikit-learn

  9. 09

    Weekly insights

    Every week, one plain sentence for the patient about their mood, activity or routine.

    Python

  10. 10

    The API

    The server behind every app: accounts, questionnaires, data, notifications.

    Python · Flask · SQLAlchemy

  11. 11

    Background tasks

    Daily data processing, scheduled reminders and notifications.

    Python

  12. 12

    Emails

    Account, reminder and report emails, in French and English.

    Maizzle · Amazon SES

  13. 13

    The websites

    The product site, the help center and the release notes for each platform.

    Next.js · Docusaurus

  14. 14

    Infrastructure

    All the hosting described in code, with separate environments.

    AWS · Terraform

  15. 15

    Releases

    Every version tested, signed and released automatically: App Store, Google Play, Mac, Windows and the web.

    GitHub Actions · fastlane

  16. 16

    Error tracking

    Errors and usage tracked on every platform, with alerts.

    Sentry · Grafana

  17. 17

    Quality

    Automated tests on iOS and Android, end to end, and architecture rules checked on every change.

    Jest · Detox · pytest

  18. 18

    Languages

    French, English and German, depending on the app.

    i18next

Isometric drawing of an iPhone and an Android phone standing in front of a laptop, each with a mood curve on screen. By step: waves near the iPhone’s microphone; the Android phone’s front-camera field; on the iPhone, the week’s summary, a calendar and a curve; the practitioners’ portal on the laptop’s screen; a stack of six study folders; a basin of data with a marker’s curve rising out of it; a server, a page and an email; then everything set on a plate, AWS, with a tracking screen.

How it works

  1. Scroll: the drawing follows.

  2. 01 / 09

    Join your practitioner

    The patient enters their practitioner’s invitation code, or scans its QR code, checks their details and creates their account. Each permission is explained before it is asked for, and their data is shared with the practitioner only if they choose to. In French and English, on iPhone, Android, Mac and Windows.

  3. 02 / 09

    On iPhone, listen to the voice

    During everyday use of the phone, the app estimates mood from the voice: how one speaks, never what is said, and the sound never leaves the phone. It reads activity from Apple Health, steps, distance, floors and walking speed, and counts outings and time spent away from home. A switch pauses the tracking.

  4. 03 / 09

    On Android, read the face

    The app reads facial expressions through the front camera, in the background, while the phone is unlocked, and only the patient’s. It also counts their steps, their outings and their use of the phone. There too, the tracking pauses in one tap, from every screen.

  5. 04 / 09

    Read your week

    Every Monday, a summary in plain sentences: a change, a habit, a trend, a harder or a calmer week. Trends read over two weeks, a month or three months, against one’s usual range. The PHQ-9 questionnaire comes back every week; if its score is worrying, the app suggests talking to the practitioner and books the appointment in one tap.

  6. 05 / 09

    Follow your patients

    A web portal for psychiatrists, with nothing to install. The practitioner sets up their practice in five steps and invites patients, by name or anonymously, by code, QR or email. Their list shows them with their signals and trends; each patient’s page reads mood, activity, routine and PHQ-9 over seven, thirty or ninety days, sums up their state in one sentence and marks their treatments on the curves.

  7. 06 / 09

    Collect for research

    Collection apps for six clinical studies, on phone, desktop and the web, built on one code base adapted to each study. Among them, EMC1, EMC2FR and EMC2-BD, sponsored by Emobot, and MOODELING, sponsored by GHU Paris, in which the Emobot app is used.

  8. 07 / 09

    From data to markers

    Every day, the signals from every platform are gathered and turned into readable series. Digital markers of depression are built from them, and the severity index that psychiatrists read.

  9. 08 / 09

    One platform behind every app

    Accounts, questionnaires, each week’s summary and reminders, served to every app; account and reminder emails, in French and English; the site, the online help and each platform’s release notes; and a problem reported from the app, with a screenshot.

  10. 09 / 09

    Versions that publish themselves

    Each version is tested, then published on its own to the App Store, Google Play, Mac and Windows, and the app offers the update when it arrives. Errors and usage are tracked on every platform, with alerts.

Specifications

Role
Co-founder and head of product; development of the apps, the API and the infrastructure
Built with
TypeScript · React Native · Swift · Kotlin · React · Next.js · Electron · Python · Flask · MySQL · Terraform · GitHub Actions
Platforms
iOS · Android · macOS · Windows · Web
Users
≈ 1,000 patients · ≈ 100 practitioners
Scale
6 clinical studies · 5 platforms · 4 passive signals · 3 languages
Status
in production