
The EmoDTx apps, and what lies behind them
Apps for patients and their psychiatrists: mental health followed between visits.
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









What was done
01
EmoDTx on iPhone
Passive tracking of mood, activity and routine, the PHQ-9 questionnaire, and the weekly insight.
React Native · Swift
02
EmoDTx on Android
The same features, with passive tracking through the front camera.
React Native · Kotlin
03
EmoDTx on Mac and Windows
The mood dashboard on desktop, with its installer and automatic updates.
Electron · React
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
05
The study apps
Data collection for the clinical studies, on mobile, desktop and the web; one codebase serves several studies.
React · Electron
06
Data processing
Every day, the signals from each platform turned into usable series.
Python · pandas
07
The data lake
Data from the apps and the studies, organized, queryable, and free of test accounts.
Amazon S3 · Athena
08
The markers
Building digital markers of depression, and the severity index practitioners read.
Python · scikit-learn
09
Weekly insights
Every week, one plain sentence for the patient about their mood, activity or routine.
Python
10
The API
The server behind every app: accounts, questionnaires, data, notifications.
Python · Flask · SQLAlchemy
11
Background tasks
Daily data processing, scheduled reminders and notifications.
Python
12
Emails
Account, reminder and report emails, in French and English.
Maizzle · Amazon SES
13
The websites
The product site, the help center and the release notes for each platform.
Next.js · Docusaurus
14
Infrastructure
All the hosting described in code, with separate environments.
AWS · Terraform
15
Releases
Every version tested, signed and released automatically: App Store, Google Play, Mac, Windows and the web.
GitHub Actions · fastlane
16
Error tracking
Errors and usage tracked on every platform, with alerts.
Sentry · Grafana
17
Quality
Automated tests on iOS and Android, end to end, and architecture rules checked on every change.
Jest · Detox · pytest
18
Languages
French, English and German, depending on the app.
i18next
How it works
Scroll: the drawing follows.
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.
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.
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.
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.
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.
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.
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.
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.
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