ADMIN GUIDE · VERSION 1.0

Run First 90 with confidence.

Practical workflows for people-team admins, content owners, and technical operators.

Open API reference ↗
01
START HERE

Your first five minutes

  1. 1
    Open Team Studio.

    Confirm active journeys, average energy, completed moves, and 270/270 content coverage.

  2. 2
    Scan Journey health.

    Start with “Needs attention,” then “Watch.” Treat labels as prompts for a human check-in, never as performance ratings.

  3. 3
    Open participant view.

    Experience the same day and touchpoint participants see. This catches unclear content faster than a spreadsheet review.

  4. 4
    Verify privacy language.

    Journal text and coach conversations must stay absent from every team view and export.

02
JOURNEY HEALTH

Read signals, then talk to people

On track

Recent energy is stable and activity is current. No intervention needed.

Watch

Energy is trending lower or activity is several days old. Check context before acting.

Needs attention

Low recent energy or five inactive days. Offer a private, optional human check-in.

Do

Ask open questions: “What would make this week easier?”

Look for patterns across time, not one score.

Never

Infer health, diagnose burnout, or rank employees.

Ask participants to reveal journal or coach text.

03
PRIVACY BOUNDARY

Know what admins can see

VISIBLE
  • Program day and progress
  • Last activity
  • Consented mood pattern
  • Pause state
  • Role, city, and work mode
PRIVATE
  • Journal answers
  • AI coach questions
  • AI coach responses
  • Personal notes
  • Raw Telegram messages

Rule: use aggregate signals to decide when to offer support, never to make automated employment decisions.

04
270 TOUCHPOINTS

Understand the content model

Every role has 90 days with three touchpoints: Focus, Action, and Reflection. Content may target company context, city context, or work mode. The delivery engine always picks the most specific match and falls back to universal content.

ROLE×DAY×TOUCHPOINT+CONTEXT
  1. Keep one published universal fallback for every role, day, and touchpoint.
  2. Write one observable action that fits inside a real workday.
  3. Avoid company-specific facts unless the capsule is explicitly scoped.
  4. Preview participant language before publishing a change.
  5. Run `make check` after seed or domain changes.

Content-ready role: People Manager. The release includes 270 universal touchpoints plus nine enhanced Days 1–3 capsules for a manager staying in the same company and city.

Build Week release: the public Studio is intentionally read-only. Content is versioned in `app/seed.py`; the versioned API exposes reference and demo state for testing.

05
WEB · TELEGRAM · GPT‑5.6

Configure channels safely

OPENAI_API_KEY

Enables live GPT‑5.6 coaching. Without it, the demo uses a deterministic fallback.

TELEGRAM_BOT_TOKEN

Enables replies and timezone-aware delivery through the worker.

TELEGRAM_BOT_USERNAME

Publishes the safe `t.me` link in the reviewer guide.

TELEGRAM_WEBHOOK_SECRET

Protects the Telegram webhook path and secret-token header.

APP_BASE_URL

Sets the link returned by Telegram `/start`.

Invite participants

  1. 1
    Configure the bot.

    Set the bot token, username, webhook secret, and public application URL in the server environment.

  2. 2
    Register the webhook.

    Point Telegram to the versioned webhook URL and pass the same secret token in the webhook registration.

  3. 3
    Share the private-chat link.

    Send participants `https://t.me/<bot_username>`. They tap Start and answer six questions: name, role, company, city context, European city, and work mode.

  4. 4
    Verify Day 1.

    Ask a test participant to finish setup and run `/today`. Confirm that same-company and same-city managers receive the enhanced Day 1 content.

  5. 5
    Create a reviewer admin chat.

    Add the bot to a Telegram test group. Use `/admin`, `/metrics`, `/roles`, and `/preview 1` through `/preview 3`. Group mode never stores journal text.

Secret handling: set credentials only in server `.env`. Never paste secrets into source, screenshots, issues, or demo video.

06
DAILY OPERATIONS

Check, recover, escalate

Readinesscurl --fail https://first90-api.hub.lea-dev.site/health/ready
Container statusdocker compose ps
Recent logsdocker compose logs --since=15m web worker
Automated checksmake check
  1. If readiness fails, check PostgreSQL health before restarting the web container.
  2. If Telegram stops, verify webhook URL, secret, worker logs, and bot token.
  3. If GPT‑5.6 is unavailable, the fallback keeps coaching usable; inspect web logs before changing configuration.
  4. Use Reset demo only for fictional public demo records.