Skip to content
← Back to projects

June 2024 prototype · since ended

Echo

Built at Psyckitchen

A friendly companion built to remember what you told it last time, so each chat could pick up where the last one ended.

Echo was a June 2024 prototype and has since ended. It was never a clinical or diagnostic service. This page describes it from the code in two private repositories, dated 8 to 14 June 2024. The illustration was drawn for this site and is not Psyckitchen's logo. The demo further down is scripted and calls no AI service.

What Echo is

Echo was designed as a companion for everyday stress, low moods and the things that are hard to say out loud. It was written to talk like a warm friend with a counselling background. It was meant to keep its replies short, ask one question at a time and check that it had understood before it moved on.

What set it apart was memory. A chatbot without memory starts every conversation from nothing. Echo was built to keep a short profile of each person and a log of their past conversations, so it could ask how Thursday went without being told about Thursday again.

Its persona was written to listen for several turns before it offered anything. When the time came, it was to name a few evidence-based techniques, such as cognitive restructuring from CBT, and let the person choose one to practise together.

How it worked

Every message went through the same three steps on a small Flask server.

  1. 1

    Chat

    A message reaches the server, which looks up who is talking.

  2. 2

    Memory store

    MongoDB returns the person's profile and up to their last 100 messages.

  3. 3

    GPT-4o

    Echo's persona, the profile, the history and the new message go to GPT-4o together. Both sides of the exchange are saved for next time.

The wearable panel, redrawn with an original illustration

The wearable-display idea

The Next.js test page had two panels. One was a chat box for checking what went in and what came out. The other was a 300 by 300 pixel cream square with a brand image in the middle, standing in for the screen of a wearable device.

The repositories hold no device code, so the wearable stayed an idea.

Two days with Echo

Press play to watch a made-up conversation across two evenings. On the second evening, Echo brings up what it learnt on the first.

Scripted demo, not the real Echo

Every line is written in advance. Nothing you do here is sent anywhere.

Press play to start the first evening.

What Echo keeps

Nothing yet.

The prototype kept a profile and up to the last 100 messages, and sent both to GPT-4o with each new message. These notes are a simplified picture of that.

Behind the build

I built Echo while I was AI Product and LLM Prompt Specialist at Psyckitchen. This section comes only from the git history of the two repositories, which are private. The prototype commits in both are mine, made between 8 and 14 June 2024.

When
8 to 14 June 2024
Backend
Flask and MongoDB
Model
GPT-4o, OpenAI API
Hosting
Azure App Service
  • Python
  • Flask
  • MongoDB
  • OpenAI API
  • GPT-4o
  • Gunicorn
  • Azure App Service
  • Next.js 14
  • React
  • Tailwind CSS

The Next.js 14 test page came first, on 8 and 9 June. It had the wearable panel and the chat box. The chat box was wired to call OpenAI through a simple relay route, with a note in the code to swap that for the Echo backend later.

The backend followed from 11 June. It was a Flask app that kept a profile document for each person in MongoDB. The profile had room for a preferred name, current mental and physical health, hobbies and coping strategies, personal and medical history and a 5P formulation, along with notes on work, study and lifestyle. Every message exchanged with Echo was stored next to it.

The commit on 14 June added the conversation history to each request, which is what lets Echo pick up where it left off. At that stage the chat still fell back to a single test user when no name was set, so splitting memory by person would have been the next step.

It was deployed to Azure App Service and started by Gunicorn, with a Dockerfile alongside. Several early commits added, removed and renamed Azure's deployment workflow while I got the app to start. Echo's personality lived in a system prompt written in Chinese, kept in its own file so it could change without touching the code.

Responsible AI

  • Echo was a June 2024 prototype. This page does not describe a clinical service, and a chatbot is no replacement for a doctor, psychologist or counsellor.
  • Its persona was also written to work gentle screening questions in the style of DSM-5 into the chat, in a way that would not feel like a diagnosis. A real service would only screen openly, with the person's consent and under clinical oversight.
  • Language models can sound sure of themselves and still be wrong. Anything about health that a chatbot says needs a qualified person to check it.
  • Memory makes a companion feel personal, and it also means holding sensitive information. A real service would need consent, clear limits on what it keeps, and a way for people to see and delete their own records.

Disclaimer

Echo was a prototype, not a clinical or diagnostic service, and it has since ended. Its questions, including the DSM-5-style screening questions, were never a diagnosis or a substitute for professional care. Neither I nor Psyckitchen accept any responsibility for decisions made on the basis of its questions or replies. If you are worried about your mental health, please talk to a GP, psychologist or counsellor.

Need to talk to someone now?

In Australia, call Lifeline on 13 11 14, any time of the day or night. To talk in Mandarin or another language, call TIS National on 131 450 and ask them to connect you to Lifeline. In an emergency, call 000. Outside Australia, call your local emergency number or a local crisis line.

Call Lifeline Australia on 13 11 14