The Quant App Finally Started Feeling Like a Real Product
There is a frustrating stage in building software where the product is technically impressive and visually disappointing.
That was Quant.
Practice existed.
Review existed.
Analytics existed.
Tests had architecture.
Recommendations existed.
Evidence existed.
The app could remember useful things and calculate useful things.
And somehow the whole thing still felt like an internal dashboard I had built for myself.
Too much text.
Too many panels.
Too little hierarchy.
Too many places that technically worked but did not feel intentional.
The product needed to feel like the thing underneath it deserved.
The old problem was not ugliness
The UI was not catastrophically bad.
The problem was that it communicated the wrong thing.
It felt like:
Here is everything the system knows.
I wanted:
Here is what matters right now.
That difference became the entire redesign.
A student opening Quant should not have to reverse-engineer the product before beginning practice.
Home became a command centre, then needed restraint
My first instinct was to make Home impressive.
Today's focus.
Accuracy.
Momentum.
Mastery.
Activity.
Review.
Trends.
Evidence.
Achievements.
Everything.
It looked powerful.
It also started turning into a cockpit.
Most of the time I open a study app because I want to study.
I do not need a flight briefing.
So Home evolved again.
The important signals stayed.
The hierarchy improved.
The app could still feel rich without demanding that every metric compete for attention.
Having information and showing information are different product decisions.
Practice became a control deck instead of a form
The old practice configuration felt too much like settings.
Choose topic.
Difficulty.
Count.
Timing.
Useful.
Not inviting.
The redesign preserved the control while creating obvious entry points.
Warm-up.
Focus block.
Deep practice.
Today's Focus.
Custom practice.
Focused drills.
Syllabus exploration.
The advanced controls still exist.
They just stopped standing between the learner and the first question.
That is what "premium" started meaning to me.
Not more decoration.
Less unnecessary resistance.
The solving screen needed to disappear
While solving, the question should win.
Not the navigation.
Not the analytics.
Not the brand.
Not the card shadows.
So I rebuilt the solve experience around Focus Mode.
Cleaner hierarchy.
Stronger question area.
More deliberate answer states.
Stable actions.
Visible progress.
Keyboard controls on desktop.
Pace information when relevant.
Explanations that appear after the answer without turning the screen into a wall.
The app still contains a lot of system underneath.
The solving surface tries not to remind the learner of that constantly.
Keyboard controls made the web app feel faster
1–4 for options.
B for bookmark.
Enter to submit or continue.
Escape to exit.
Nothing revolutionary.
But repeated practice on a laptop feels much more deliberate when small mouse movements disappear.
The product starts feeling like a tool.
Not just a responsive website.
Review finally looked like repair
The old mental model was:
Here are things you got wrong.
The redesigned version is more explicit.
What is due?
What pattern is showing up?
What mistake deserves attention?
What formula keeps returning?
What is bookmarked?
What can I close today?
The review surface should not be a museum of failure.
It should be a workshop.
Analytics needed pictures
I spent a lot of time making analytics more honest.
Then I realised I had made them visually exhausting.
Text can be accurate and still be difficult to use.
So the app gained a much stronger visual layer.
Mastery radar.
Performance trends.
Speed-versus-accuracy plots.
Mistake bars.
Activity heatmaps.
Evidence maps across the syllabus.
These visuals are based on measured data rather than decorative placeholder shapes.
Low-data states remain visible.
That matters because beautiful charts are easy to trust.
The mastery radar was the obvious trap
Radar charts look expensive.
You can make any product feel sophisticated with one.
So the rule became simple:
If a syllabus domain does not have enough measured evidence, the chart does not get to invent a dramatic polygon.
The visual should reflect what the model knows.
Not what would make the screenshot fuller.
The app needed motion, but not noise
Static interfaces can feel lifeless.
Over-animated interfaces feel exhausting.
So I started using restrained motion.
Charts draw in.
Cards lift slightly.
Progress moves.
Achievements can celebrate briefly.
But important meaning does not depend on animation.
Reduced-motion preferences are respected.
Nothing should bounce forever because I completed a question.
The animation should confirm something.
Then get out of the way.
Achievements became their own destination
At one point achievements were buried inside Analytics.
That did not make sense.
Analytics asks:
What is happening in my performance?
Achievements ask:
What meaningful milestones have I reached?
Those are related.
They are not the same job.
So achievements became a proper destination with real milestone progress.
Home only keeps a compact preview.
That cleaned up both surfaces.
Tests needed to look serious before they were complete
The test architecture had become substantial.
The verified assessment content was not.
The worst possible design would be pretending otherwise.
A giant Start Mock button leading into incomplete or invented material would make the product look more finished while making it less trustworthy.
So Tests had to communicate direction without pretending unavailable assessments already existed.
The answer was not fake data.
It was clearer states.
Mobile changed the hierarchy again
Desktop has space.
Mobile exposes every bad prioritisation decision.
Wide analytics become cramped.
Long equations wrap strangely.
Controls become tiny.
Tables become terrible.
Responsive design stopped meaning:
Make desktop smaller.
It became:
What does this workflow need when the screen changes the way the learner interacts?
The app still has too much in places
This redesign did not solve everything.
Home can still become crowded.
Analytics still has too many models available on one long surface.
Some secondary destinations probably should not compete for primary mobile navigation.
Repeated polish passes have also created layered styling that will need consolidation.
A polished interface can still have messy CSS underneath.
I would rather know that now.
Premium stopped meaning gradients
I like gradients.
I like depth.
I like good typography.
I like charts.
None of that is enough.
The product started feeling expensive when:
The hierarchy became clearer.
The next action became easier.
Empty states became honest.
The solving experience became quieter.
Review became purposeful.
Visuals corresponded to real evidence.
Motion became restrained.
Mobile stopped feeling like an afterthought.
That is much harder than choosing a nice background.
There is still a family resemblance
Verbal and Quant should feel related.
They should not feel cloned.
Quant has more numerical indicators, timing, mastery views, equations and graphs.
Verbal has different learning rhythms.
That is good.
A product family does not need every product wearing the same shirt.
It needs shared standards.
Clarity.
Honesty.
Responsiveness.
Evidence.
Calm.
The personality can change with the subject.
The most useful visual change was probably invisible
The biggest improvement was deciding that the interface should stop competing with the learning task.
That affected almost everything.
What appears first.
What becomes secondary.
How much text is visible.
Where the next action sits.
When a chart deserves space.
When a feature should stay hidden until enough evidence exists.
The product finally started feeling like a real product when I stopped trying to make every capability visible at once.
That sounds obvious.
It took me a lot of CSS to learn it.
It still isn't finished
The visuals are stronger.
That does not solve content depth.
It does not solve every sync issue.
It does not prove every mock.
It does not finish mobile.
A beautiful product can still be wrong.
So visual polish did its job.
Now the product needs the boring things again.
Content.
Reliability.
Real evidence.
Testing.
At least when I open Quant now, it looks like something I would actually want to use.
That feels like a milestone.
Not because it became prettier.
Because the interface finally started respecting what the product is for.