Connected surfaces
Home, Work, Book, and Admin were designed as one evaluation-to-action flow.

A personal portfolio rebuilt as a small product system: positioning, Work, gated access, booking, admin publishing, and reusable case-study patterns.
Home, Work, Book, and Admin were designed as one evaluation-to-action flow.
Public, locked, and private work can coexist without forcing every project into the same access model.
Project metadata can live in Supabase while richer stories use a typed React template.
The site needed to do more than display polished screens. Recruiters needed a fast read on product judgement, scope, craft, and implementation maturity. Potential clients needed to understand whether the same clarity could help their own product or personal brand.
I treated the portfolio like a conversion product: help the right person understand how I think, inspect proof, and move naturally into a conversation.
The hero uses the site's actual mark, CTA label, navigation language, and design tokens to show how the portfolio makes its point before a project is opened.
Product design for complex systems
AI helps me explore faster. Principles, data, and judgement keep the work grounded.
Book a meetingThe architecture follows the reader's decision path. The homepage establishes point of view. Work carries the proof. Case studies explain decisions. Booking turns interest into a concrete next step. Admin keeps the system alive after launch.
That structure kept the design restrained. Each surface needed a clear job, so the visual system uses typography, spacing, subtle motion, and interface details instead of decorative noise.
The architecture connects evaluation, proof, trust, and action instead of treating pages as isolated destinations.
Positioning, proof, and entry points
Case-study browsing and gated-work context
Reusable story template and evidence
Meeting intent, slots, details, confirmation
Projects, posts, books, bookings, settings
Recruiters and clients both need proof, so Work became the place where story, evidence, and process come together.
Tradeoff: The homepage can stay focused on positioning instead of carrying every detail.
Sensitive projects still need a visible signal. Locked cards show category and value while keeping the full story controlled.
Tradeoff: The unlock path adds operational complexity, so the UI has to explain the reason clearly.
A conversation is the best next step for recruiters, collaborators, and clients. The CTA is direct because the surrounding content earns it.
Tradeoff: The booking flow has to keep enough context so it feels connected to the portfolio, not bolted on.
The project cards reuse the same cover treatment, tags, locked state, and surface language as the public Work page, but the example is static and carries no navigation.
Selected work
Portfolio as product
Positioning, Work system, booking, admin, and reusable case-study patterns.
Category and value stay visible; full details require manual approval.
NDA work, visible with controlled access.
The booking example reuses the real progress component and CTA pattern while stripping out live slot fetching, form state, and submission behavior.
You are requesting portfolio access, including Sensitive healthcare product. Access is approved manually after your intro.
Choose a day
Afternoon
The admin example borrows the protected area's form, table, chip, and sidebar language without exposing routes, actions, uploads, or authentication behavior.
Projects
Visibility, order, case-study body
Long-form thinking and tags
Meeting status and unlock approval
Operational copy and site controls
A direct homepage story with a clear point of view, restrained motion, and one primary action.
A project model that supports public, locked, and private visibility across card and list views.
A meeting flow that carries unlock context, slot selection, visitor details, and confirmation.
Protected admin screens for projects, posts, books, bookings, requests, settings, and integrations.
A typed React structure for richer project stories, with MDX fallback for simpler cases.
The public site uses App Router server components for data-backed pages, with client components reserved for interaction-heavy surfaces.
Projects, posts, books, bookings, profiles, invoices, and requests share generated TypeScript types and row-level security policies.
The Work route reads project metadata from Supabase, then uses a local registry for fully designed React case studies when a project needs more craft.
Locked work, admin writes, service-role jobs, uploads, booking, and webhook actions stay behind explicit server-side checks.
The result is a portfolio that shows the work and demonstrates the way I work. Strategy, content design, interaction design, implementation judgement, and operational thinking all sit inside one connected experience.
It also gives future projects a cleaner path: each new case can reuse the same narrative spine while changing the evidence, visuals, constraints, and decisions.
I can help shape the strategy, structure the story, design the experience, and implement a polished web system that makes the work easier to evaluate.