Diagnosly

Archived project ยท 2024 โ€“ 2025

An AI health companion to make sense of your symptoms, your documents and your health history.

Describe how you feel in a few taps, and Diagnosly's AI explains what might be going on and what to do next, taking your health profile and medical documents into account.

How a check-up works

Instead of a blank chat box, Diagnosly asks the questions a doctor would ask, one at a time.

  1. How do you feel?

    Start a new check-up whenever something feels off.

  2. Since when?

    How long you have been feeling this way.

  3. How much?

    Rate the discomfort or pain from 0 to 10.

  4. Where?

    Select the body areas where you feel it.

  5. Describe it

    Your symptoms in your own words: the more detail, the better.

  6. Add documents

    Optionally attach test results or exams you already have.

  7. Check and send

    Review everything on one screen and edit anything before sending.

  8. Get your answer

    Possible explanations and next steps, then keep talking in a chat.

A pain scale you can feel

Each level has its own face, so choosing a number feels natural.

Everything in Diagnosly

A check-up, a conversation, your documents and your history, all in one place.

AI chat

Keep the conversation going

Every check-up continues as a chat, so you can ask follow-up questions about the answer.

  • Quick Chat for a fast question, no check-up needed
  • Attach document summaries to any conversation
  • Answers in the language of your choice
Documents

Your medical papers, summarized

Upload a blood test, a prescription or a scan report, and the AI turns it into a short summary you can reuse.

  • PDFs, photos and text documents
  • Rename and delete them anytime
  • Summaries feed into your next check-ups
Health profile

Context that makes answers better

Fill in your profile once, and every check-up takes it into account.

  • Age and gender
  • Allergies and past surgeries
  • Chronic illnesses and family history
  • A completion meter shows what is still missing
History

Every check-up, kept

Go back to previous check-ups and their conversations whenever you need them, for example before a doctor's appointment.

  • Browse and reopen past check-ups
  • Reread the full conversation of each one
  • A daily usage allowance, visible in the settings

Where your data goes

Your health data lives on your phone. Only the question you ask travels, and it goes through Criaphore's own server, never straight from the app to the AI provider.

On your phone

Diagnosly app

  • Profile, check-ups, chats and documents
  • Stored in an encrypted database
  • Encryption key kept in the Android Keystore
โ†’anonymous question
Criaphore server

Secure gateway

  • Only accepts the genuine app (Firebase App Check)
  • Applies the daily usage allowance
  • Holds the AI keys: none are inside the app
โ†’request
AI provider

OpenAI

  • The Diagnosly assistant reads the check-up and its context
  • GPT-4.1 mini writes the document summaries
  • The answer comes back the same way
Privacy

Private by design

  • No account needed to use the app
  • Encrypted storage on your phone
  • Anonymous questions to the AI
  • Crash reports only, with no personal information

Under the hood

An AI assistant from OpenAI does the thinking, a small backend on Google Cloud keeps it safe and affordable, and the app keeps everything personal on the phone.

  1. The app builds the question

    The check-up answers, the health profile, the summaries of the documents you picked, and a request to answer in your language.

    Phone
  2. The backend checks it

    Firebase App Check proves the request comes from the real app, and Firestore counts the device's daily allowance.

    Google Cloud
  3. The assistant works on it

    The request joins the check-up's own conversation thread, and the Diagnosly assistant runs on it.

    OpenAI
  4. The app waits for the answer

    It checks the run's progress every few seconds, then fetches the assistant's reply.

    Phone
  5. Saved, ready to continue

    The answer is stored in the encrypted database with the thread's ID, so the chat can pick up where it left off.

    Phone
The assistant

An AI agent with a memory

Diagnosly is built on the OpenAI Assistants API: one assistant with its own instructions, set up once on OpenAI's side and called by its ID.

Each check-up gets its own thread, which keeps the whole conversation. Follow-up questions build on everything said before, without the app resending the history.

Documents as context

Retrieval, the simple way

Each document is read once: images are sent inline, PDFs are uploaded as files, and GPT-4.1 mini writes a short summary that is stored on the phone.

When you start a check-up, you choose which documents matter, and only their summaries are added to the question. The AI gets the right context without a search index or the full files every time.

Google Cloud backend

A gateway, not a data store

A Firebase Cloud Function (2nd gen, on Cloud Run in Europe) relays every AI call. The OpenAI key lives in Secret Manager, never in the app.

App Check with Play Integrity blocks fake clients, and Firestore keeps a daily budget per device: 50 units, 1 per message and 3 per document.

Kotlin MultiplatformCompose MultiplatformDecomposeKoin KtorRoom + SQLCipherDataStoreOpenAI Assistants API GPT-4.1 miniFirebase Cloud FunctionsCloud Run Secret ManagerFirestoreFirebase App CheckCrashlytics
Not a doctor. Diagnosly gives general health information to help you understand your symptoms and prepare for a consultation. It does not replace professional medical advice, diagnosis or treatment, and it is not meant for emergencies: in an urgent situation, call your local emergency number.