Back to Projects
CogniNote — SaaS Platform for Therapists

CogniNote — SaaS Platform for Therapists

Full-stack development of an AI-powered clinical note-taking and therapeutic follow-up SaaS

Oct 2025 - Dec 2025 2 months

Tech Stack

Vue.jsFastAPIAzurePostgreSQLCI/CDSTTREST APIRAGLLMSaaS

Context & mission

CogniCorp is a Montreal-based company specializing in technology solutions for psychology and well-being. During a 3-month freelance mission, I worked in a duo with a friend to build CogniNote from scratch — a SaaS platform for intelligent clinical note-taking and patient follow-up, designed for psychologists and therapists.

The need: modernize clinical note-taking, automate session report writing with AI, and improve patient follow-up between appointments.

Overview

CogniNote is a dual-interface platform with a therapist interface (consultations, notes, patient management) and a patient interface (between-session follow-up, homework, daily chatbot).

Therapist dashboard — stats, recent sessions, clients and activity timeline

flowchart LR
    T[🧑‍⚕️ Therapist] --> FT[Therapist Interface<br/>Vue.js]
    P[🧑 Patient] --> FP[Patient Interface<br/>Vue.js]
    FT --> API[⚡ REST API<br/>FastAPI]
    FP --> API
    API --> STT[🎙️ STT &<br/>Diarization]
    API --> LLM[🤖 LLM<br/>Summaries & Chat]
    API --> RAG[📚 RAG<br/>Recommendations]
    API --> SA[📊 Sentiment<br/>Analysis]
    API --> DB[(PostgreSQL)]
    API --> VDB[(Vector Store)]

Therapist interface — Intelligent consultation

Session recording is at the heart of CogniNote. Two modes are available:

During the session, the therapist has access to:

Recording page — timer, audio spectrum, live transcription, client/template selection

flowchart LR
    Mic[🎙️ Mic / Tab Audio] --> STT[STT + Speaker<br/>Diarization]
    STT --> Trans[📝 Transcription]
    Trans --> Template[📋 Selected<br/>Template]
    Template --> LLM[🤖 LLM]
    LLM --> Summary[📄 Structured<br/>Summary]
    Summary --> Dims[📊 Well-being<br/>Dimensions]
    Dims --> Reco[💡 Recommendations]

Session summaries & template system

At the end of each session, a structured summary is automatically generated by the LLM from the transcription. Several predefined formats are available:

FormatDescription
SOAPSubjective, Objective, Assessment, Plan
DAPData, Assessment, Plan
BIRPBehavior, Intervention, Response, Plan
Free FormCustom free-form format

The system includes a custom template editor with a block-based interface (drag & drop sections). Under the hood, each template generates a markdown prompt that guides the LLM in structuring the summary.

Additional features:

SOAP session report — structured sections, well-being dimensions and video recommendation

Sentiment analysis & 8 well-being dimensions

Each transcription is automatically analyzed across 8 well-being dimensions:

  1. Emotional
  2. Behavioral
  3. Physical
  4. Social
  5. Environmental
  6. Professional
  7. Spiritual
  8. Financial

Results are visualized through progress bars and a radar chart (Chart.js), allowing the therapist to track patient progress across sessions.

flowchart LR
    T[📝 Transcription] --> SA[🔍 Sentiment<br/>Analysis]
    SA --> Score[📊 Scoring<br/>8 Dimensions]
    Score --> Viz[📈 Visualization<br/>Radar + Bars]
    Score --> Reco[💡 Personalized<br/>Recommendations]

RAG system & resource recommendations

CogniNote integrates a library of videos, audio and exercises from professionals, tagged by well-being dimension. The recommendation system is powered by a RAG pipeline:

Therapeutic video library tagged by well-being dimension

Patient interface — Between-session follow-up

The patient has their own dedicated space:

The goal is to maintain patient engagement between sessions and provide the therapist with continuous data on their patient’s well-being.

Technical architecture & infrastructure

flowchart TB
    subgraph Frontend
        VUE[Vue.js + Tailwind CSS]
        CHART[Chart.js]
    end
    subgraph Backend
        FAST[FastAPI + Python]
        REST[REST API]
    end
    subgraph AI Services
        STT_S[🎙️ STT + Diarization]
        LLM_S[🤖 LLM]
        RAG_S[📚 RAG]
        SENT[📊 Sentiment Analysis]
    end
    subgraph Data
        PG[(PostgreSQL)]
        VEC[(Vector Store)]
    end
    subgraph Infra
        AZ[☁️ Azure]
        CI[CI/CD Pipelines]
    end

    VUE --> REST
    REST --> FAST
    FAST --> STT_S
    FAST --> LLM_S
    FAST --> RAG_S
    FAST --> SENT
    FAST --> PG
    RAG_S --> VEC
    AZ --> FAST
    CI --> AZ
LayerTechnologies
FrontendVue.js, Tailwind CSS, Chart.js
BackendFastAPI, Python, REST API
DatabasePostgreSQL
VectorizationEmbeddings + vector store (RAG)
AI / MLLLM (summaries, chatbot), STT (transcription, speaker diarization), sentiment analysis
InfrastructureAzure (hosting, deployment)
CI/CDAutomated pipelines
TestingUnit + end-to-end
SecurityHIPAA/GDPR, electronic signature, email verification
SaaSMulti-tenant, organizations, team management, subscription plans

SaaS subscription plans — Freemium, Standard, Professional, Enterprise

My role & contributions

Takeaways & learnings

View All Projects