Frontend Developer — HadjiSchool LMS
Type: Contract / Part-time / Full-time (flexible) Location: Remote Start: Immediate
About the Project
HadjiSchool is a Learning Management System where students browse courses, purchase or enroll for free, and learn through video lessons organized into modules. The platform tracks progress, supports multiple video providers (YouTube, Vimeo, Loom), and handles payments through Stripe. Content is managed in Sanity CMS, authentication through Clerk. The core infrastructure works end-to-end — we need a frontend developer to own and polish the student-facing experience.
What You'll Work On
UX Polish — Establish a consistent visual system (typography, color, spacing) across the catalog, course pages, and lesson player. Replace generic loading states with proper skeleton loaders, empty states, and error handling
Lesson Experience — Build a lesson sidebar with progress checkmarks, current lesson highlight, and next/previous navigation. Mobile-responsive with collapsible drawer on small screens
Course Landing Pages — Add learning outcomes, curriculum accordion with module/lesson structure, instructor bio, and clear enrollment CTAs with price/free badges
Progress Dashboard — Cards showing percentage complete, "resume last lesson" shortcuts, and enrolled course overview
Responsive Design — Mobile-first lesson layout for video, notes, resources, and mark-complete actions
Accessibility — Focus indicators, color contrast, keyboard navigation for lesson lists and enrollment flows
Tech Stack
Frontend: Next.js 15 (App Router, Server Components), React 18, TypeScript
Styling: Tailwind CSS + shadcn/ui, dark mode support
CMS: Sanity (courses, modules, lessons, instructors — headless)
Auth: Clerk (sign up, sign in, session management)
Payments: Stripe (checkout, webhooks, course access)
Icons: Lucide Icons
What We're Looking For
Must Have
Production Next.js experience with the App Router and Server Components
Strong UI/UX sensibility — you can take a page that works but feels rough and make it feel polished, without a designer handing you every detail
Experience with Tailwind CSS + shadcn/ui (or Radix UI / Headless UI) including dark mode
Experience integrating a headless CMS — fetching content, handling loading states, empty states, missing data
Responsive design — especially for content-heavy pages with video, text, and navigation
Can explain decisions in plain language to a non-technical PM
Strong Plus
Built a learning platform, course site, or content-heavy product where users spend extended time
Experience with multi-step user flows (browse → enroll → learn → complete)
Worked with Stripe checkout or similar payment integration on the frontend
Accessibility experience — ARIA labels, keyboard navigation, focus management
Experience with Sanity CMS specifically
The Hiring Process
Brief conversation — We'll chat about your experience (DM)
Paid code review — 2–3 hour task on the actual codebase, paid at your rate
Paid trial period — 2–4 weeks of real work before committing long-term
We don't do free tests. Every hour you spend on our code is compensated.
Compensation
Flexible — hourly, monthly, or per-milestone. Share your expected rate and we'll discuss.
How to Apply
Your GitHub profile or 1–2 live projects (especially anything with strong UX, learning platforms, or content-heavy sites)
Your availability (hours/week), timezone, and expected rate
No cover letter needed. We care about what you've built and how you communicate.