
Product engineer · 2026
AI Open Studio
A self-learning platform for AI engineering, and anything else you want to learn.
My largest independent product. It started as a 12-week AI engineering curriculum and grew into a learning workspace: dynamic roadmaps for any subject, a prompt engine, AI-assisted documents and live research rooms with shared notes, drawing and video.
What it does
- A 12-week, 72-topic AI engineering curriculum with lessons, code, Mermaid diagrams, flashcards, streaks and study logs
- Dynamic roadmaps for any subject, organised as weeks, phases, modules or chapters
- Prompt Engine: one learning intent becomes 30 prompts across 10 categories plus a ready-to-import roadmap
- BlockNote documents with sharing, collaborators, email invites, PDF export and an AI edit and review assistant
- Research rooms with 8-character codes, shared notes, AI chat, captures, drawing, reactions, camera, mic and screen share
- Planner with recurring tasks and goals linked to roadmaps
- Mermaid studio with SVG export and a sketch canvas
How it works
- 01
Describe what to learn
The Prompt Engine sends one request to Mistral and validates the JSON: prompt count, categories and a roadmap.
- 02
Import the roadmap
Sections and topics are created with UUIDs next to the original curriculum, which keeps its stable IDs untouched.
- 03
Study and write
Each topic has lessons, code, diagrams and flashcards. Documents get an assistant that proposes append, prepend or rewrite operations.
- 04
Research together
Rooms share CRDT state for notes and drawings, persist AI chat to Postgres and connect camera and screen through peer-to-peer WebRTC.
Architecture
Next.js 16 App Router, React 19 and seven Zustand stores with local persistence and Supabase sync.
Supabase email OTP and Google OAuth, guarded callbacks, a proxy for route protection and PostgreSQL row-level security.
A custom Supabase–Yjs provider: 50 ms update batching, merged broadcasts, full state for joiners and awareness relay over Presence.
Native RTCPeerConnection mesh with Supabase signalling for offer, answer and ICE, track replacement for screen share and admission control.
Mistral for the Prompt Engine, the document assistant (structured edits and streamed review) and research chat.
Engineering decisions
Model edits are operations
The assistant can only append, prepend or rewrite. Rewrites need confirmation and five undo snapshots are kept.
Missed events repair themselves
Research chat persists every message, broadcasts it and polls every five seconds with ID de-duplication.
Sanitised rendering
Every model or user HTML path goes through DOMPurify before rendering.
Testing & evaluation
- JSON contract checks on every Prompt Engine response before import
- Balanced-brace parsing for structured document edits, with explicit failure instead of partial writes
Stack
Honest limits
Standard documents are last-writer-wins, not CRDT. Peer media has no TURN or SFU, so it suits small rooms.