Full-stack developer & indie maker

Majuran Murugananthan

I design and ship web products end to end, from the data model on the edge to the last pixel.

  • Full-stack developer
  • Indie maker
  • TypeScript
  • React
  • Next.js
  • Astro
  • Cloudflare Workers
  • SQLite
  • Minimalist
  • Typography

Selected work

Two products I designed and built end to end.

Liberook — preview

Liberook

A speed-reading web app and digital library

A no-framework reading app on the edge: a Wordle-style daily reading challenge with RSVP speed reading, one-by-one comprehension questions, signed anti-cheat tokens and scoped leaderboards. Installable as a PWA.

  • Cloudflare Workers
  • D1 / SQLite
  • Vanilla JS
  • PWA
Visit Liberook
LedgerHub — preview

LedgerHub

Accountants & business advisors for ambitious UK companies

Marketing site for a London-based accountancy practice: bookkeeping, VAT, payroll, year-end accounts and tax planning for limited companies and growing UK businesses. Built for speed and SEO.

  • Next.js
  • React
  • TypeScript
Visit LedgerHub

Text as material

Layout, computed by hand

The paragraph below is line-broken, measured and justified by the pretext engine, not the browser. Drag the handle to change the column width and watch it reflow, line by line, with no DOM measurement.

Text is a material, not a given. Every line break, every measured width, every column is a decision. This paragraph is not flowed by the browser. Its lines were broken, measured and justified by hand, in pure arithmetic, before a single pixel was painted.

About

I build web products end to end: the data model, the edge runtime, and the typography. Two run in production today: Liberook, a framework-free reading app on the edge, and LedgerHub, a site for a London accountancy practice.

Now
Liberook · LedgerHub
Stack
TypeScript · Cloudflare · React / Next · Astro
Approach
Minimal, fast, owned end to end
Open to
Collaboration & freelance work

Let's work together

Have a project or a problem worth solving? I read every message.

Get in touch