ridwaanhall.com
This site: a portfolio and blog on Next.js 16 with an admin, Markdown versions of every page and a CV generated from the About page.
- Status
- Status: Development In ProgressBeing built right now. Features land often and things may still change.
- Kind
- Portfolio
- Started
- Mar 2025
- Updated
- Sep 2025

About it
The problem
A developer portfolio goes stale as soon as it is hard to edit, and a CV kept separately is always one change behind. I also wanted the site to be readable by AI agents, not just people.
The approach
I built this site on Next.js 16 with React 19, TypeScript and Tailwind CSS v4. Content lives in Supabase Postgres through Drizzle, with media in Supabase Storage and sign-in through Auth.js.
- A declarative admin with per-screen permissions, drafts and scheduled publishing.
- A Markdown version of every page, plus llms.txt for language models.
- A CV at /cv.pdf generated from the same data as the About page, laid out for applicant tracking systems.
- A dashboard with live WakaTime and GitHub data.
The result
ridwaanhall.com is the single source of truth for my work: one edit updates the page, its Markdown twin and the CV together. The design uses eight greys and no accent colour, so the work itself carries the colour.
What it does6
Declarative Admin
Markdown Twins
Generated CV
Live Dashboard
Comments and Guestbook
Grayscale Design
More work

Rone Arena API
A public FastAPI for Mobile Legends hero data, analytics and player tools, with a web playground and SDKs.

BeliMadu.com
An online honey shop on Next.js 16 and Cloudflare Workers, with a WhatsApp-checkout cart and a Vitest suite.

Arena Academy
A Next.js 16 app for Mobile Legends players: hero stats, counters and builds, pro-league standings, a draft assistant and free OBS broadcast overlays.
Comments0
Signed-in readers can comment.