Grace Lee · Selected product design workHong Kong · Updated June 2026
← Index
Case 05Hanlun e-Learning Center · HK DSE2025 – current

DSE prep, rebuilt around practice that adapts.

An e‑learning platform for Hong Kong's university-entrance exam: mock papers, study materials, and the studio's first deep integration of Gen‑AI into the design loop. Teachers used to rebuild the same papers over several days in PDF and Word; now they do it the same day, in the platform.

Hanlun cover
Fig. 01 — Student practice screen, exam seasonLive with DSE students & teachers
ClientHanlun e-Learning Center
RoleLead Designer
TeamDesign 1 · Eng 5 · Content 3
Reach18 secondary schools · up to ~3,000 students + teachers
StatusLive · in active iteration

§1 · Context

HK DSE is the public examination that decides where Hong Kong students go to university. High‑stakes, repetitive, and historically badly served by static PDFs. The brief: one platform serving three audiences — students practising, teachers authoring, admins overseeing.

§2 · Problem

Three audiences, three different definitions of “done.”Students need practice that adapts and clear feedback. Teachers need to build materials once and reuse them across a class. Admins need to see how classes are doing without micro‑managing. The hard part was one shared platform that served all three without watering any of them down.

§3 · Approach

Two parallel tracks: the product, and the way we built the product.

01
Student · practice that adapts

Mock papers and platform materials, sequenced by performance rather than by file order. The student screens hide all of that and just show the next thing worth trying.

02
Teacher · build once, reuse

Teachers can build, edit, and re-issue mock papers without an engineer in the loop. The authoring tools are where most of the AI help sits: starter drafts, suggestions, and review steps that let one teacher reach a whole class.

03
Admin · the whole school at a glance

Admins see the school, not the individual screens — class progress, prompts to step in, and clear reporting so leadership can act on what is actually happening.

04
AI in the design loop

The studio's first project to build Gen AI deep into how we design. We went from spec to working screens in days instead of weeks, and I still made the final call on every direction.

05
Cantonese-led, bilingual surfaces

DSE is sat in both Chinese and English, sometimes paper-by-paper. Student and teacher screens lead in Cantonese, with bilingual marking-scheme wording, tested with teachers across HK secondary schools.

From a teacher
“Before this I was rebuilding the same mock paper in Word every term. Now I author it once, the students sit it, and I can see straight away which students need help. I stopped working on weekends.”
DSE teacher, HK secondary school · captured during the rollout to teachers

§4 · Process

The working file, not the gallery. The first pass was student‑first and we abandoned it. Most of the process went into the flows that run the product: how a student sits a mock paper, how a teacher grades it and checks class progress, and how real paper sets, schools, teachers and students are managed behind it all.

The full loop · how one paper travels
● admin● student● teacher
01 · AdminPublish paper setreal DSE sets
02 · StudentSit the papertimed · handwritten
03 · StudentSubmitautosaved throughout
04 · StudentSelf-gradeagainst the scheme
05 · TeacherConfirm or adjustmarks per question
06 · TeacherComment & returnper question
07 · BothProgress updatesstudent + class view
↺ weak topics steer the next paper
Fig. 02 — The full loop · how the product works end to end
WF-01 · Student-first pass · v0.3 · Mar 2025
Abandoned · week 6
1 · Student home
sit
sit
next paper →⚙ settings
2 · Mock paper
answer here, like real exam paper
savesubmit → self-grade
3 · Results
what to study next
next paper →

↑ Teacher tools were hidden inside a settings tab.
We dropped this version in week 6.

Next version: design around the teacher first.
Fig. 03 — Early wireframe, rebuilt as a live artefact · the student-first version we abandoned
Flow · sitting a mock paper
01Pick a paperby year · subject
02Sit the papertimed · ruled canvas
03Submit
04Self-grade vs scheme
05What to study next

Step 04 took the most rounds to get right.

Fig. 04 — The mock-paper flow we kept refining
Structure · what the admin manages
ContentPaper setPaperQuestionsMarking scheme
PeopleSchoolTeacherClassStudent
PapersSchoolsTeachersStudents
published
draft
published

One admin portal manages both chains.

Fig. 05— Backend structure & the admin portal that manages it
Flow · teacher grading a paper
01Submissions queueby class
02Answer beside scheme
03Confirm or adjust marks
04Comment per question
05Return to studentfeeds progress

Self-grade runs first, so the teacher confirms instead of starting from zero.

Fig. 06 — Grading · confirm, not mark from scratch
Progress · what the teacher checks
Class 6B · Paper IIlast 5 papers
↑ 78
↓ 41
→ 63
weak topics:vectorsprobability

Answers one question: which students need help, and on what.

Fig. 07 — Class progress · scores, trend, weak topics

§5 · Ways of working

The other half of the process is how the team worked: AI multiplied the drafts, Storybook carried the handoff, and the repo carried the review.

Gen-AI in the design loop · spec to screensweeks → days
01 · DesignerWrite the specflow · states · constraints
02 · AIDraft variants3–4 directions in hours
03 · DesignerKill or keepjudgement stays here
04 · DesignerRefine the keeperin the design file
05 · TeamHand off to engspec + chosen surface

↺ 02 and 03 run several times a day. The AI multiplies drafts; it never picks the winner.

Fig. 08— Gen-AI design loop · drafts multiply, judgement doesn't move
Handoff · design lives in Storybook
ComponentsQuestionCardAnswerCanvasMarkSchemeProgressRowTopicChip
defaultwritingemptyoffline
Controlsdeviceipad · pencil-onlypalm rejectionon

Every state is a named story. Dev builds from stories, not screenshots.

Fig. 09 — Storybook · every component, every state, named
Git · the designer is in the repo
tokenscanvas statesfix palmmainmerge
PR #214 · answer-canvas: palm rejectioneng review✓ approveddesign review · me✓ approvedstorybook previewdeploy ↗merged

UI changes don't merge without design review.

Fig. 10 — Branch, PR, design review · how design ships with dev

§6 · Hard problems

Three problems shaped the student surface more than any layout decision. The third was the hardest.

Problem 1Maths has to look like maths

DSE maths is full of fractions, roots and vectors. Flatten them to plain text and the on‑screen paper stops looking like the one the student will sit.

What we did · Questions and marking schemes render true notation, so the screen matches the printed paper exactly.

x = (-b +/- sqrt(b^2 - 4ac)) / 2a
x =−b ± b² − 4ac2a
Fig. 11 — Flattened text vs true notation
Problem 2Students quit mid-paper

The bus comes, the tab closes, dinner is ready. A timed mock that loses progress punishes practice, and practice is the whole product.

What we did · Answers and the clock autosave. Coming back offers one clear choice: continue with the time left, or start clean. The attempt record shows which one happened.

Welcome backPaper II · 38:12 left · Q7 of 12
ContinueStart over
Fig. 12 — Resume · the clock keeps its place
Problem 3 · the hardestPaper 1 is handwritten

In the real exam, students write long answers by hand, so the canvas had to take handwriting. But handwriting on screens is messy: every device draws differently, and a resting palm draws too.

What we did · Tuned the canvas per device. On iPad, a pencil‑only setting means Apple Pencil draws and a resting palm never does. Other tablets get palm rejection on the canvas itself, and phones fall back to finger input. The goal: the same paper feel on every device a student actually owns.

✗ palm · ignored
iPad · Pencil-onlyTablet · palm rejectionPhone · finger
Fig. 13 — One canvas, tuned per device
§7 · Three audiences, one platform

Practice that adapts · ruled answer canvas · self-grade against the marking scheme

Mock paper · practice
Fig. 14Mock paper · practice
Ruled answer canvas
Fig. 15Ruled answer canvas
Submission · pending self-grade
Fig. 16Submission · pending self-grade
Self-grade · vs marking scheme
Fig. 17Self-grade · vs marking scheme
Self-grade · per-question score
Fig. 18Self-grade · per-question score
Feedback · what to study next
Fig. 19Feedback · what to study next

§8 · Reflection

I started Hanlun believing the student was the hardest audience to design for. I was wrong: we killed the student-first version in week six, because the platform lives or dies on the teacher's experience. The hardest work wasn't layout. It was maths that looks like maths, a paper you can quit and resume, and handwriting that behaves on every device. On AI, my take is simple: it made drafts faster, not decisions. My judgement calls got bigger, not fewer.

© 2026 Grace Lee · Hong Kong