<R/>

Crafting digital experiences

<R/>Rofiq.Full-Stack Product Engineer
AboutServicesWorkBlogRésuméContact
AboutServicesWorkBlogRésuméContact
Let's talk

One project slot open

Got something worth building? Let's make it real.

Start a project
<R/>Rofiq RahmanFull-Stack Product Engineer

Full-stack product engineering for teams that want the thing shipped, measured and maintainable.

Explore

AboutServicesWorkBlogRésuméContact

More

RésuméPrivacy policyUses — tools, hardware and setupRSS feed

Connect

© 2026 Rofiq Rahman. Crafted with Next.js.

Back to top
Back to all projects

Frontend · case study

Lumen Learn — course platform front end

A course catalogue and lesson player for an online school, built on Next.js with server rendering, bilingual content and structured data that put courses into Google's rich results.

View live product View source
Course platform with a lesson player, syllabus list and enrolment statistics

Technology

  • Next.js
  • TypeScript
  • React
  • Tailwind CSS
  • shadcn/ui
  • Redux Toolkit
Role
Frontend developer
Client
Lumen Learn
Year
2025
Category
Frontend

The problem

Lumen's course pages were client-rendered. Google indexed an empty shell, so the school was paying for every visitor through ads. They also needed Bangla and English side by side without maintaining two sites.

What I built

  • Server-rendered course pages with ISR, so a syllabus edit is live in sixty seconds without a rebuild.
  • Course and FAQPage structured data on every course, which is what put them into rich results.
  • Bilingual routing with a shared content model — one course record, two locales, no duplicated pages.
  • A lesson player that remembers your position per device and degrades to audio-only on a slow connection.
  • A syllabus that renders fully on the server, so the table of contents is in the HTML for crawlers.

Decisions worth explaining

Server components for content, client components for the player. The split is boring and that is the point: the heavy interactive code loads only on the one screen that needs it.

Translation keys live with the content, not in a giant JSON file. Editors change Bangla copy in the CMS without a deploy.

Results

  • Organic sessions to course pages up 3.4× in five months.
  • Four courses appearing in Google rich results within six weeks.
  • Lesson start time on 3G down from 8.2 s to 2.4 s.
“Organic traffic to our course pages is up three and a half times. Rofiq explained the structured-data work in terms our marketing lead could follow, which is why it got prioritised at all.”
TWTobias WendtCTO · Lumen Learn

Need a similar product?

Let's build something useful.

Tell me about the challenge and I'll reply with a practical next step.

Start a conversation
Next projectRelay — team inbox and live chat