Changelog
Stay updated with our latest improvements and technical milestones.
Version 2.0 — Official Release
El Portal V2 is live. A ground-up rebuild delivering a mobile-first experience, unified architecture, semantic design system, and a completely overhauled interaction model. Every layer of the stack has been touched.
All existing user data has been seamlessly migrated. No action required.
Trends Mobile, Performance & Polish
The Trends analytics dashboard has been optimized for mobile and polished for speed — lazy-loaded sections, single-pass computation, and a redesigned empty state.
- -Mobile trends page — Fully responsive layout with a floating pill time navigator, single-column chart grid, and week-only mood calendar with larger touch targets.
- -Performance — Skeleton loading during data fetch, lazy below-fold sections via
useInView, single-pass vitals computation, and a pre-built DOW map for O(1) lookups across all charts. - -Monochromatic palette — All charts and mood indicators unified under a portal-derived blue gradient, from deep navy to bright cyan.
- -Redesigned empty state with gradient overlay and progress bar. Reduced motion support. Mood calendar dots now scale by size based on mood intensity.
Trends — Analytics Dashboard
A full analytics dashboard for visualizing your Pulse data over time — mood trajectories, vitals, sleep, activities, emotions, and behavioral correlations across 5 time scales.
- -9 visualization sections — Mood trend chart, 6 vitals charts (sleep, energy, stress, performance, motivation, connectedness), mood calendar, sleep duration bars, activities and emotions pie charts, and consistency streaks.
- -5 time scales — Week, month, year, cycle, and version. Time navigator with previous/next navigation and dynamic period labels.
- -Correlation insights — "What makes you shine" and "What makes you down" cards that surface activities statistically linked to high or low mood days.
- -Previous-period comparison on all charts. Blurred sample data when insufficient check-ins. Keyboard hotkeys and full i18n across 5 locales.
Trends is a Pro-exclusive feature available to Lifetime members.
Feedback Page & White-Mode Emails
A new in-app feedback channel and a redesigned email template that works beautifully in light-mode email clients.
- -Feedback page — Submit feedback directly from the app with auto-filled name, email, and plan. Wrapped in the cinematic auth layout with a success animation.
- -White-mode email templates — Light background redesign for verification and auth emails. Inter font with responsive fallback and branded footer with social links.
Daily Pulse — Check-In System
Track your daily well-being through structured morning and evening check-ins. Daily Pulse captures mood, vitals, emotions, and activities to build a rich picture of your life over time.
- -Morning check-in — 4 steps: mood via the interactive MoodOrb (0–100), sleep quality, feelings (choose from 24 emotions across positive, neutral, and negative sentiments), and focus tags for the day.
- -Evening check-in — 8 steps: mood, productivity, stress, motivation, energy, and connectedness (all 0–100 vital sliders), plus feelings and activity tags.
- -MoodOrb — A 7-ring animated glass sphere using portal logo colors. Internal color masses drift and scale with mood. Eyes open progressively, mouth curves from frown to smile, and specular highlights shimmer.
- -PulseCard — Split morning/evening card with animated sky and night gradients, breathing sun and twinkling moon, and completion status badges.
- -Dashboard
PulseSignalindicators, mobilePulseFABthat auto-shows when a check-in is pending, and reminder settings in the Pulse tab.
Daily Pulse is a Pro-exclusive feature available to Lifetime members.
Archives WYSIWYG Editor & Checklists
The Archives have been rebuilt with a rich-text WYSIWYG editor and interactive checklists, replacing the raw Markdown workflow with a polished writing experience.
- -MDXEditor integration — Floating toolbar with bold, italic, headings, quotes, lists, links, and code blocks. Fully themed to match the El Portal glass design.
- -Interactive checklists — Type
- [ ]and it auto-converts into a toggleable checklist with dark-mode theming and accessible focus states. - -Component extraction — Archives page decomposed from a monolith into 8 focused components (ArchiveEditorView, EntriesSidebar, MantraBankView, LifeChecklistView, and more).
- -Proper Unicode typography across all 5 locales — curly quotes, en dashes, and ellipses replacing ASCII approximations.
Dashboard Day Inspector & Multi-Cycle Goals
The standalone History page has been merged into the Dashboard as an inline Day Inspector, and the Goals page now supports multi-cycle viewing with past-cycle intelligence.
- -Day Inspector — Click any data point on the performance chart to view and edit that day's habits inline. URL-synced state with
?view=week|30d|cycle&date=YYYY-MM-DDfor shareable views. - -Multi-cycle goals — Select multiple cycles via pill toggles to view goals across time. Past-cycle goals are read-only with carry-forward capability. Metric stats frozen at cycle boundaries to prevent retroactive score inflation.
- -Chart reactivity fix — Progress chart now updates instantly on habit toggle via synchronous optimistic scoring.
Architecture, Accessibility & Performance
A sweeping refactor pass decomposing monolithic pages, adding WCAG 2.1 AA compliance, and parallelizing data fetching across the app.
- -Lab page decomposition — Split into 6 focused components (VersionBar, CycleCard, CycleList, CycleGoalsPanel, HabitSelectorModal, VersionEditorModal) with version activate/edit/delete management.
- -Settings modal extraction — 1,259-line monolith split into 5 tab components (Account, General, Appearance, Pulse, Storage).
- -Accessibility audit — ARIA roles, labels, and keyboard navigation added to 12 components. Cycle editor uses
listbox/optionroles, forms usearia-invalid+aria-describedby. - -Performance —
Promise.allfor parallel data fetching, Google SDK moved toafterInteractive, react-markdown dynamically imported (~60KB saved). - -Identity system toggle — Restored in Settings with reactive UI hiding across Lab, Dashboard, Archives, and CycleEditor when disabled.
- -TypeScript strict mode enabled (removed
ignoreBuildErrors), Version modal redesigned with stepper, Raycast-style hover states on habit list.
Database Page Refactor & Unified Actions
The Database page has been rebuilt with consolidated actions, memoized lookups, and full type safety across all four tabs.
- -Unified entity actions — Duplicate, edit, and delete handlers consolidated into single reusable functions across versions, cycles, habits, and goals.
- -Performance — Memoized lookup maps (
versionMap,cycleMap,logIndex) for O(1) access, plususeCallback-wrapped handlers. - -New
addVersion()andaddCycle()service helpers. SegmentedToggle secondary variant with graphite theme.
Codebase Review — Type Safety, Hooks & Dead Code
A comprehensive codebase review pass fixing React hook violations, removing dead code, and eliminating unsafe types across all portal pages.
- -Critical hook fix — Resolved conditional
useMemoviolation on the dashboard where chart data was computed after an early return guard. - -Type safety — Extended Goal interface with missing
priorityandgoal_lineage_idfields, replacedanycasts, extractedLabPageDatainterface, and added null-safety guards throughout. - -Dead code removal — Cleaned up console.logs, stale localStorage refs, unused imports, and commented-out
unstable_cachefrom cinema page. - -Added missing
"use client"directives to 5 components. ExtractedparseSubtaskLineshelper to deduplicate regex logic. Fixed hardcoded English string with i18n key.
Mobile-First Experience
El Portal is no longer desktop-only. A full mobile experience has been built from the ground up with dedicated routes and native-feeling navigation.
- -Dedicated
/m/routes for habits, goals, and analytics — optimized for touch and small screens. - -New BottomTabBar navigation for fast context switching on mobile.
- -Responsive dialog system replacing desktop modals with mobile-friendly sheets.
- -Automatic mobile detection with screen-width and user-agent based redirect logic.
Internationalization — 5 Languages
El Portal now speaks your language. Full internationalization powered by next-intl with 670+ translation keys across every screen.
- -Supports English, Spanish, Chinese (Simplified), Portuguese, and French.
- -Language preference syncs between localStorage and your database settings — persists across devices.
- -670+ translation keys organized across 12 namespaces for complete UI coverage.
- -Added Noto Sans SC font for proper Chinese character rendering.
Password Reset Flow & Security Hardening
A complete forgot/reset password system and critical security improvements to the authentication layer.
- -Password reset flow — Forgot password link on login, secure token-based API endpoint, branded email with 1-hour expiring tokens, and a dedicated reset page with confirmation validation.
- -Security hardening — Removed hardcoded Supabase anon key fallback. Replaced signed URL tokens in email templates with public bucket URLs for static assets.
Security-first: no credentials are ever exposed in client-side code.
Tempo Redesign & Custom Components
A visual overhaul of the Tempo settings and a new custom Select component for a more polished interaction model.
- -Tempo UI redesign — Hero sprint length display as centerpiece, color-coded valid/invalid division indicators, inline day input and cycle stepper, and an animated timeline bar visualizing version division into cycles.
- -Custom Select component — Styled dropdown replacing native HTML selects across settings and history pages, with full accessibility support.
Drag-and-Drop & Unified Settings
Two major UX upgrades that eliminate friction in daily workflows.
- -Drag-and-drop reordering — Reorder habits and goals with smooth dnd-kit interactions. Ordering is persisted to the database instantly.
- -Unified Settings modal — Three separate modals (Account, Tempo, General) consolidated into one tabbed interface. Password changes, avatar uploads, and account deletion all in one place.
- -Secure account deletion — New API endpoint with session verification and FK-safe cascade deletion order.
Semantic Design Tokens & Dashboard Polish
A visual consistency pass across the entire app, replacing scattered hardcoded colors with a unified token system.
- -Semantic design tokens — CSS variable-based system (
bg-surface,text-fg,border-border) with automatic light/dark mode switching. - -Dashboard viewport fix — Dashboard no longer forces unnecessary scrolling.
- -Replaced monospace font with Inter on all charts and numeric indicators for visual consistency.
- -Chart tooltips now position above the data point to prevent triggering page scroll.
Auth Migration & Architecture Modernization
Infrastructure-level changes that make El Portal faster, more secure, and easier to evolve.
- -Local authentication — Migrated from n8n workflow automation to native Next.js API routes. Uses Supabase Admin SDK for server-side user creation and Nodemailer for branded verification emails.
- -Next.js 16 modernization — Migrated from
middleware.tstoproxy.tsfor modern request handling. - -Data model refinements — Beliefs fused with Mantras for simplified knowledge management. User settings consolidated into a single JSONB column.
- -Codebase cleanup: removed unused documentation, test files, and improved overall project organization.
Performance Heatmaps & Dual-Progression System V2
We've completely rewritten our core synchronization engine to reduce latency by 45% in high-concurrency environments while heavily upgrading the statistics visualization.
- -Implemented asymptotic habit consistency formula (`Progress % = 100 × (1 − e^(−0.061 × streak_days))`).
- -Upgraded weekly progress area plots and introduced GitHub-style day-of-week performance heatmaps.
- -Added support for offline persistence via IndexedDB ensuring day-logs are never lost.
Cinema Mode Enhancements
Visualizing your goals is a core mechanic of El Portal. Cinema Mode has been upgraded for better immersion and focus.
- -You can now edit the dynamic caption text overlaying the 5 persistent life slides: Me, Her, Purpose, Social, Material Life.
- -Smoother transitions between slides utilizing Framer Motion.
Existing custom images from Supabase Storage will remain unaffected.
The Archives: Advanced Search Syntax
Unlock the power of writing across My Routines, Mantra Archive, and Theory Notes.
Unleash the power of reflecting on your life and growth.
Deployment of Version 1
The initial release of El Portal.