Desktop Recommended

EMA Forge's Builder and Data Dashboard are designed for larger screens. Please visit this page on a desktop or laptop computer to design your study.

Read the Documentation
EMA Forge
Untitled studyDraft
Saved in this browser
•••

Overview

Set up your study identity, participant experience, and data output.

Study Identity
Visual Theme
Applied to buttons, sliders, and interactive elements in the generated study.
Session Greetings
Customize the large header text displayed when a participant opens a session. Add more sessions in the Schedule tab.
Session Safety
Controls protecting data integrity during field use. Both are on by default — turn off only if your study design requires it.
Lock completed sessions A participant can only complete each (ID, day, session) combination once. Prevents accidental re-submissions. Researchers can override with ?force=1.
Enable crash recovery If a participant's session is interrupted (crash, closed tab), they can resume by re-opening the same link. Already-completed phases' data survives; the current phase restarts.
Data Output
Each submission downloads a .csv with one row per question. Easy to concatenate across participants. Task signal data (e.g. ePAT) downloads alongside as a separate .json.
Optional. Receiver must return readable JSON with {"status":"success"} after saving data. Its URL is visible in the exported study. If absent or unconfirmed, participants can save a local copy.
Setup guide
Onboarding Flow
Set up the introduction and approved consent text participants see before their first session.
Enable Onboarding Module
Ask participant to input their daily schedule availability
Highlight text and use the formatting bar to style your document. No HTML required.
0Survey items
0Physiology tasks
0Measure issues
Editing session
Survey behavior Randomization and back navigation
Randomize survey items within each page
Allow participants to go back within surveys Off by default. Back is never available for physiology measures.
Survey items and physiological tasks share the same participant flow.
Study Duration
Derived from the number of time windows.
Response Window
Controls how long a prompt link stays valid.
Link goes dead this many minutes after the prompt fires.
Extra time to finish after link expiry when the session was started on time.
Days of Week
Daily Sessions
Each session gets one prompt at a random time in its window. Add questions or a physiological task, then drag or use the arrows to set the order.
Measurement Settings
Add tasks and PPG capture to a session in Schedule. Adjust task settings here when your protocol needs it.
Review & Deploy

Take the study from this browser to a working participant link with confirmed data storage.

1
Create a Cloudflare host for a new studyEach new study gets its own Worker and private R2 bucket. Skip this step if you already have a host for this study.
  1. Download your prepared study. Deploy the Worker only when creating a new host.
  2. Give this study a unique Worker name. Cloudflare creates its own R2 bucket. Replace the sample ADMIN_TOKEN with your own 32+ character token.
  3. Paste the workers.dev address below. Then open Study Admin and install the downloaded HTML.
About the admin token and optional SMS

Cloudflare may show dots or stars for the sample ADMIN_TOKEN. That is an example value, not a token EMA Forge knows. Save the token you choose; you will use it to sign in to Study Admin. Twilio can be connected later and is not required to install a study.

Suggested Worker name ema-forge-study
Create new study host ↗
Update an existing Worker’s code

Download the single-file Worker update. In Cloudflare, open your existing Worker → Edit code, replace its code with the downloaded file, and select Deploy. Keep the same STUDY_DATA binding, admin secret, and URL. Then install the prepared study file in its existing Study Admin. Repeat the code update for each Worker using the new feature.

Updating this study? Download the prepared HTML and install it in the same Study Admin. If the update adds Worker features, use Update an existing Worker’s code above first. The create-host button starts a separate deployment. EMA Forge never sees your Cloudflare login, admin token, study file, or participant responses.
2
Install and confirm the live studyPaste the deployed Worker URL, install the study, then verify storage.
Paste the address Cloudflare shows—either your-study.workers.dev or the complete URL works. EMA Forge adds HTTPS and saves it in this browser.
Paste the workers.dev address Cloudflare gives you. EMA Forge adds https:// automatically.
Having trouble signing in?

Use the exact ADMIN_TOKEN you set during deployment. If it fails, replace the Cloudflare secret under Worker → Settings → Variables and Secrets; you do not need to start over.

Use a different host or approved data endpoint
Independent receiverFor GitHub Pages, an institutional endpoint, or another HTTPS host.
This is the same receiver configured under Study. It must save the record before returning a success receipt.
Receiver instructions ↗
Use the advanced export options for a single HTML file or static-hosting bundle. The reference receiver uses private R2 and refuses duplicate overwrites.
3
Create participant linksUse opaque study IDs—not names, emails, or medical-record numbers.
Cloudflare messaging guide
Participant Preview

Study Readiness