Back to projects

Tools

This Portfolio

Designed and built from scratch

Next.js 14TypeScriptTailwind CSSFramer MotionRadix UIMarkdown

Role

Designer & Developer

Duration

2025 - Present

Date

2025 - Present

Type

Personal Site

By the Numbers

67 generated

Routes

30

Blog Posts

Live

Status

Overview

The site you're reading: Next.js 14 (App Router) with strict TypeScript, a custom design-token and motion system, Tailwind + global CSS tokens, Framer Motion and Radix UI primitives, and a data-driven content architecture where every page renders from src/data files, and the blog runs on a gray-matter + remark markdown pipeline with 30 posts. The contact API route is typed and SMTP/Resend-ready, pages statically generate with a sitemap, and the whole thing passes strict lint and type-check gates. Designed and built from scratch.

Tech Stack

Next.js 14TypeScriptTailwind CSSFramer MotionRadix UIMarkdown

Inside the Project

What it does, how it works, and what it ships.

dataset

Data-Driven Content

Every page renders from typed data files (projects, experience, research, skills), so content updates never touch components.

palette

Design System, Not Ad-Hoc Styling

Custom design tokens (type scale, accents, surfaces) and shared motion tokens keep every page consistent.

  • Markdown blog pipeline with 30 posts
  • Typed contact API (Nodemailer / Resend ready)
  • Static generation with sitemap.xml

Outcomes

The portfolio you are looking at, running as statically generated pages.

web

67

Static Pages

article

30

Markdown Posts

public

Live

at ihmorol.me

Interested in this project?

Reach out for source code walkthroughs or collaboration.