Praxis
From dreams to tasks, with science and AI

Context
Praxis connects dreams to tasks across five levels. Visual maps, progress tracking and methods such as WOOP and if-then plans help organize concrete next steps.
The challenge
Presenting the same tree as a 2D map, list and 3D constellation requires consistent hierarchy and progress. Collaborative editing must respect permissions and prevent invalid node relationships.
The architecture
React Flow renders the map and on-demand Three.js presents the constellation. Supabase provides authentication, PostgreSQL with RLS and Realtime synchronization. The product includes an optional AI coach, Stripe subscriptions and PWA installation.
Architecture flow
One tree
- Five levels, from dream to task
- PostgreSQL with RLS
Synchronisation
- Supabase Realtime
- One channel per map
Three views
- 2D map — React Flow
- List
- 3D constellation — Three.js
Engineering decisions
Three views, one tree
Map, list and constellation share data and progress calculations. Automatic layout organizes the hierarchy while manual positions preserve user adjustments.
Real-time collaboration
Shared maps use per-map Realtime channels and PostgreSQL access policies. Parent changes are validated to prevent cycles and connections between incompatible levels.
On-demand 3D constellation
Dreams are distributed across a Fibonacci sphere and their descendants within oriented cones. Shaders display progress through the fill of each body.