SAT LMS
How I made a learning platform behave like a personalized tutor
I used diagnostic-first UX, prescribed paths, and next-action UI to turn scattered course material into a guided learning journey.
Hi, I am Lohith!
seasoned in end-to-end web design.
Shipped 4 products in 6 months - ~3x my pre-AI pace.Built with DesignForge - a 6-phase AI + human methodology.



Shipped. Not just designed.
I used diagnostic-first UX, prescribed paths, and next-action UI to turn scattered course material into a guided learning journey.
I built a component system and automation pipeline that turns raw course content into production-ready learning experiences in minutes.
I reorganized messaging, proof, and action paths so visitors could understand the offering faster and move forward with more confidence.
I designed Neuron end-to-end - user flows, interactions, design system, and every screen - so learners could drill official questions in a structured flow instead of stitching practice together across platforms.
Process: the engine behind the speed
I had already seen the trap: when product logic, UX flow, UI polish, code, data, and production constraints are solved together, the work gets noisy.
So I split the build into layers: experience first, interface next, production last.
Before build, I wrote down the business rules, screens, journeys, component behavior, wireframes, screen flow, backend contracts, and success criteria. That made missing states and unclear handoffs visible before code could hide them.
What this prevented: AI inventing product logic mid-build.
Before build, I wrote down the business rules, screens, journeys, component behavior, wireframes, screen flow, backend contracts, and success criteria. That made missing states and unclear handoffs visible before code could hide them.
What this prevented: AI inventing product logic mid-build.
| Journey | Component flow |
|---|---|
| J1CF Remedial | M1 -> R6 -> R1 -> R4 -> R3 |
| J2Process Skill Remedial | Same path, different trigger |
| J6Skipped Remedial | R1 dismissed -> M2 pending |
| J7Course Return | M3 -> M4 -> M6 |
I converted the specification into a student journey and component dependency map, so the feature could be judged as a flow instead of isolated screens.
What this prevented: Screens that looked right alone but failed in sequence.
--- ## 8. Sandbox File Structure pages/sandbox/remedials/ |-- PageHome.jsx # Copy, replace API with mock data |-- PageHome.css # Copy |-- ActivityPage.jsx # Add remedial callback handling |-- ActivityPage.css |-- components/ | |-- activity/ | | |-- ActivityPageShell.jsx | | |-- ActivityPageShell.css | | `-- index.js | |-- course/ | | |-- ActivityLineItem.jsx | | |-- ActivityLineItem.css | | |-- UnitBlock.jsx | | `-- UnitBlock.css `-- mock-data/remedials.js
## 9. Routing Setup Add to `App.jsx`: ``` // Course home sandbox <Route path="/sandbox/remedials/:courseCode" element={<RemedialsSandboxHome />} /> // Activity page sandbox <Route path="/sandbox/remedials/:courseCode/activity/:activityId" element= {<RemedialsSandboxActivity />} />
I set up a disconnected sandbox with mock data and clean constraints so the product could be assembled, broken, tested, and improved away from production pressure.
What this prevented: Production constraints deciding the UX too early.
### Q4: How do R6 Notice and R1 Modal integrate with Activity Results?
Affected Components: R6 Notice, R1 Modal, M1 Results Screen
The Issue:
Options:
| Option | Description |
|---|---|
| (A) ActivityPage wrapper | ActivityPage receives completion event, renders custom results wrapper with R6, then R1 modal |
| (B) Overlay approach | Let spark-maximus show default results, then overlay R6/R1 on top |
| (C) Callback injection | Pass a render callback to spark-maximus to inject R6 into results |
### Fields Required in Remedial Children
| Field | Type | Required | Description | Used For |
|---|---|---|---|---|
contentId | number | Yes | Unique ID of the remedial | Navigation |
contentType | string | Yes | Must be REMEDIAL | Card styling |
contentName | string | Yes | Display name | Card title |
correlationId | string | Yes | UUID for Neuron iframe | Launching remedial |
estimatedDurationMinutes | number | Yes | Expected completion time | Time badge |
progressStatus | string | Yes | NOT_STARTED / INPROGRESS / COMPLETED | Status badge |
motherActivityName | string | Check | Parent activity name | Description copy |
How Frontend Uses This
Inside the sandbox, I used a rough working build to find missing states, unclear interactions, weak hierarchy, and backend gaps before any visual polish started.
What this prevented: Polishing while core data contracts were still unclear.
Once the rough build exposed the real UX behavior, I moved into interface design and documented hierarchy, states, and treatment through distinct design options.
What this prevented: Pretty UI detached from behavior.
I dropped the polished components back into the sandbox and tested them as one complete flow, so polish had to survive the journey end to end.
What this prevented: Polished components that failed together.
| R1 | RemedialCreatedModal | src/components/remedials/ |
| R3 | CompletionFeedback | src/components/remedials/ |
| R6 | ResultsNotice | src/components/remedials/ |
| Audit | Token deviation report | release-ready |
With the full flow validated, I moved to production with migration notes, system checks, backend contracts, and token-deviation reports, so intent did not get flattened in handoff.
What this prevented: Product logic and design intent getting lost in production migration.
4 production apps. 6 months. Same designer, spec to shipped.
The spec carried the logic.
The journey carried the flow.
The rough build exposed the UX.
Beyond the headline work.
Product systems, web builds, and brand collateral - the wider body of work behind how I think, design, and ship.
Product Systems
7+ tools & systems
Shaping messy product logic into clear decisions, usable flows, and shipped interfaces.
Web Services
150+ pages built
Marketing sites, landing pages, blogs, explainers, and conversion journeys built end to end.
Visual Systems
Campaigns, logos & video collateral
Campaign, logo, and content systems built for visual recall.
Precision and Creativity
Five disciplines I work across, and the kit that earns its place under each. Hover a circle — the rest will follow.
What they say?
Design is collaborative. From mentors to teammates, words that remind me — "I've made an impact!"