ARK-I · adaptive resource kernel, implementation

One model remembers. Six forget on purpose.

The WhatsApp assistant behind Sukoon Unlimited, an agetech startup for elderly people seeking guidance, companionship and community. A stateful main model holds every conversation and delegates each task to a short-lived sub-model that does one job and disappears.

10kactive Sukoon users
4kpaying members
~100people chatting daily
6stateless sub-models
01 — architecture

A kernel with six specialists

02 — one query, end to end

Seven hops, one reply

  1. User writes on WhatsApp

    The webhook hands the message to Flask.

  2. MainGPT reads the context

    The whole conversation is loaded from MongoDB.

  3. It picks a tool

    A function call names the sub-model it needs.

  4. Controller spins it up

    Fresh, stateless, scoped to this one query.

  5. Sub-model fetches and answers

    Calls its API, returns a structured result, and is gone.

  6. MainGPT writes the reply

    Results are merged into one answer in the user's thread.

  7. Sent back on WhatsApp

    History is saved; Slack hears about anything odd.

example threadillustrative
Can I talk to a yoga expert tomorrow evening?
tool → ExpertsGPT
tool → SchedulesGPT
[reply naming an available expert and open slots]
Book the 6 pm one.
tool → SchedulesGPT · booked
03 — the design choice

Why only one model keeps state

stateful · long-lived

MainGPT

Owns the conversation. One place reads and writes history, so context never forks across models. Runs on gpt-4o.

stateless · one query

Sub-models

Get a small prompt and a schema, call one API, return. Short prompts keep them cheap; adding a skill means adding one module.

pythonflaskgunicornopenai function calling · gpt-4omongodbwhatsapp webhooksslackpm2