After getting the core timeline and billing foundations in place, Day 3 was about tightening the experience — especially around authentication, UI consistency, and the little things that make the product feel alive instead of stitched together.
A lot of this day was less about “new features” and more about removing friction.
🔐 Fixing Auth Friction (The Invisible Work That Matters Most)
Auth is one of those areas where small issues feel huge to users.
Today’s focus:
- Prevent users from getting stuck on submit buttons
- Avoid registration hanging during email verification
- Ensure protected routes behave properly
Key fixes:
- Deferred sending verification emails to avoid blocking registration
- Fixed edge cases where submit buttons could get stuck
- Properly gated app shell routes behind login
👉 Result:
Auth now feels instant, not fragile.
✉️ Email Verification That Actually Feels Designed
Instead of treating email verification as an afterthought, I gave it proper UI attention.
Updates:
- Introduced a Sky-600 branded email canvas
- Designed a clean outer container for verification emails
- Updated logo usage for consistency
This is one of those subtle trust builders:
If your emails look polished, your product feels more legitimate.
🎨 UI Standardisation (Design System in Motion)
Things started drifting visually, so I pulled everything back into alignment.
Improvements:
- Standardised primary CTAs with Sky styling
- Aligned sidebar layout and GitHub connect controls
- Refined UI surfaces across the workspace
Also introduced:
- A reusable Lucide icon system for notes-style UI
👉 Result:
The app now feels like a system, not a collection of pages.
⚡ Timeline & Interaction Upgrades
The timeline is the heart of GraceSoft Story, so I focused on making it faster and more interactive.
Enhancements:
- Added lazy-loaded fragments
- Introduced optimistic UI for label interactions
- Implemented mobile-first filters with preserved query state
👉 Result:
Snappier interactions and better mobile usability.
🧱 Refactoring Toward Reusability
Some earlier pages were getting messy, so I started consolidating patterns.
Refactors:
- Converted story pages into a reusable notes-style shell
- Cleaned up UI state handling across views
👉 Result:
Easier to scale features without duplicating logic.
📊 Chapter & Dev Workflow Improvements
Not everything is user-facing — some of the biggest wins were internal.
Additions:
- “Changes” section in the chapter inspector
- Research doc for GitHub sync improvements
- TODO maintenance tracker
👉 Result:
Better visibility into both product and dev workflow.
🧠 Takeaway
Day 3 wasn’t about flashy features.
It was about:
- Removing friction
- Making interactions feel reliable
- Bringing consistency across the product
This is the kind of work users don’t notice explicitly —
but they feel it immediately.
🚀 What’s Next
With auth and UI stabilised, next steps are likely:
- Deepening GitHub sync reliability
- Expanding chapter intelligence
- Continuing to refine the story experience
Top comments (0)