Inspiration
Starting a new role is usually treated as an information problem: give someone a handbook, a checklist, and a calendar full of meetings. The harder problem is behavioral. A new manager must build trust, read the organization, make decisions, and preserve enough energy to learn — without being overwhelmed or feeling watched.
First 90 was built to turn that ambiguous transition into one useful move at a time.
What it does
First 90 creates a personalized 90-day transition journey for new and transitioning managers. Every day contains three short capsules:
- Focus — one idea to notice.
- Action — one concrete move to make.
- Reflection — one private prompt to learn from the day.
The complete People Manager journey contains 270 touchpoints across three phases: Listen & orient, Align & deliver, and Scale & sustain. Guidance adapts to whether the participant is joining a new company, changing city, and working from an office, hybrid, or remote environment.
Participants can use the responsive web journey or onboard through Telegram. They can complete capsules, record a voluntary 1–5 energy signal, keep private reflections, and ask the AI Transition Coach a practical question about the current moment.
People teams get a separate Team Studio with aggregate progress, engagement, content coverage, and support signals. Private journal entries and coach conversations never appear there.
How I built it
The project is a modular Python application with clear product boundaries:
- FastAPI serves the participant journey, Team Studio, reviewer guides, and versioned API.
- SQLAlchemy + PostgreSQL store profiles, capsules, progress, mood signals, and channel state.
- A separate delivery worker selects the active touchpoint and delivers it at timezone-aware local hours.
- Telegram Bot API provides six-step onboarding, daily capsules, mood input, pause controls, private journaling, and privacy-safe reviewer commands.
- Caddy + Docker Compose make the four-container deployment reproducible.
- Playwright, TypeScript, and FFmpeg power a deterministic demo-video pipeline that records the real deployed product.
Domain rules are independent of the web framework and OpenAI integration. Capsule selection chooses the most specific role, company, city, and work-mode match, then falls back to universal content. Completion is idempotent, and progress advances only when the active touchpoint is completed.
OpenAI integration
The Transition Coach uses the OpenAI Responses API with GPT-5.6 and low reasoning effort for a short, interactive coaching loop. The request includes the participant's role, program day, high-level transition context, work mode, current capsule, and current question.
It deliberately excludes private journal history. Requests use store=False and a hashed safety_identifier.
The public demo works without paid credentials through a clearly labeled deterministic fallback. Adding OPENAI_API_KEY enables live GPT-5.6 coaching without changing the product flow.
Codex accelerated the entire Build Week workflow: inspecting a mature private reference product, extracting business invariants, designing a new public architecture, rebuilding the product and English content from a blank repository, writing tests, preparing Docker deployment, and creating the automated demo-video pipeline.
Challenges
The main challenge was preserving personalization without turning workplace support into employee surveillance. The solution is a strict presenter boundary: participant views may access their own journal and coach history, while team endpoints serialize only aggregate progress, activity, and consented mood signals.
A second challenge was making the project fully testable by judges without external credentials or private setup. The open demo uses fictional European sample data, requires no login, includes a reset control, and keeps AI failure non-blocking through the deterministic fallback.
A third challenge was content depth. Instead of generating a shallow catalog for many roles, I completed one credible 90-day People Manager journey and added nine reviewed, illustrated Days 1–3 capsules for a same-company, same-city transition.
Accomplishments
- 90 complete days and 270 daily touchpoints.
- Real web and Telegram participant flows.
- GPT-5.6 coaching with a privacy-minimized request contract.
- Team Studio with no private-text leakage.
- 16 European city examples with IANA timezone scheduling.
- Original illustrations and selected learning resources for the first three days.
- Public, reproducible Docker deployment and repository.
- Automated tests for domain rules, APIs, privacy, English-only public content, Telegram, and deployment readiness.
- A deterministic, validated 2:42 demo video produced from the live application.
What I learned
AI is most useful in onboarding when it helps someone interpret a specific moment, not when it replaces a carefully designed journey. Stable domain rules, reviewed content, and explicit privacy boundaries should remain deterministic; GPT-5.6 adds value at the point where context and a human question require synthesis.
I also learned that judgeability is a product feature. Open access, fictional data, resettable state, reviewer instructions, and graceful fallbacks make the work verifiable rather than merely demonstrable.
What's next
Phase 1 remains free early access while the journey, delivery reliability, and privacy model are validated. Next steps are additional reviewed role journeys, organization-managed cohorts, richer content operations, multilingual delivery, and longitudinal outcome research.
Payments are deliberately Phase 2: hosted secure checkout, entitlements, idempotent webhooks, cancellation, and refunds — only after the free experience is proven.
Try it
Open the live demo, follow the reviewer guide, inspect Team Studio, or start @first90_OpenAI_Week_bot. The full source is public on GitHub.
Built With
- caddy
- codex
- docker
- fastapi
- ffmpeg
- gpt-5.6
- jinja
- openai-api
- playwright
- postgresql
- python
- sqlalchemy
- telegram-bot-api
- typescript
Log in or sign up for Devpost to join the conversation.