portfolio · tran le · README direction · wireframes for build
tranle.dev — the whole site is a repo.
A portfolio that looks like a github README. File-tree on the left, markdown doc on the right. Clicking a file in the tree swaps the doc. The whole thing is recruiter-scannable in 8 seconds and rewards a closer read. Moss-green accent on cream paper. Mono + sans. No gradients.
Audience
Recruiters · engineers
Vibe
Engineer's notebook, but warm
Frame count
4 wireframes + specs
Build target
Next.js or Vite + MD
The big idea
The site IS a repo. Markdown files (about, projects, now, contact) are real .md files in the repo and render through MDX. The file tree on the left is the table of contents. The URL reflects the open file (/projects/milestone). This makes the site "clearly an engineer" without being cosplay — it's an actual structure devs use.
What this is NOT
Not a terminal. Not a fake IDE. Not a code editor cosplay. The chrome is minimal — a subtle file tree and a clean markdown reader. The novelty is the structure, not the UI gimmicks. Treat it as a high-quality docs site for one person.
01
Routes & file map
required
The URL reflects the file open in the right pane. Linkable, shareable, bookmarkable. Browser back/forward works. The tree on the left stays the same across all routes; only the right pane changes.
I'm a full-stack engineer who treats "design" and "ship" as the same job. I like the part where you go from a fuzzy idea to a working product, and I'm comfortable owning the whole loop — wireframes, schema, API, UI, deploy, iterate.
Right now I'm deepest in typescript / react / node, picking up supabase on milestone (see below). → more in about.md
## featured projects
milestone hero screenshot
📌 milestone ● in progress
typescriptreactnodesupabasedesign-led
Full-stack side project taken from design to development. Case study walks through the schema decisions, the supabase auth model, and the things I'd do differently.
🌱 may 2026 — six weeks into milestone. learning supabase RLS the hard way.
🌧 reading: [book placeholder] · planted tomatoes & squash · finn is currently asleep on my notes.
## offline
things I make with my hands when I'm not making things with pixels:
pottery
throwing bowls
embroidery
stitching
PNW garden
spring '26
finn 🐕
my dog
## contact
# contact.ymlemail: hello@tranle.devgithub: github.com/trnlelinkedin: linkedin.com/in/tranleresume: resume.pdflocation: seattle, wastatus: open to interesting conversations
ⓘ deployed on vercelview source ↗last commit: 2d agomade with care · 2026
Layout grid
Sidebar: 280px fixed, full height, sticky.
Doc: max-width 820px, padding 40px 56px.
Section gap: 40px between h2's. h1 has a bottom rule, h2's have a bottom rule.
Scroll: independent — sidebar & doc each scroll on their own.
Why this works for recruiters
Status badges at top = scannable like a github repo.
TOC = jump straight to projects.
"last commit" badge = the site looks alive.
Resume.pdf is a literal file in the tree — they don't have to hunt.
03
Project view — milestone.md
required
What renders when the user clicks milestone.md in the tree. Reuses the same chrome; the right pane becomes a case study layout with a meta header, TL;DR, screenshots, and a CTA to the existing case study site.
same tree — active = milestone.md
case-study meta — 4 cells in a strip
TL;DR (green callout)
big hero screenshot
"read the full case study" CTA
⌗tranle.dev/projects/milestone
trnle / projects / milestone.md
# milestone
a full-stack side project, taken from design to ship. typescript · react · node · supabase.
rolesolo · design + dev
timelineapr — present, 2026
stackTS · React · Node · Supabase
status● in progress
TL;DR
One-paragraph summary of what milestone is, who it's for, and why it's interesting. End on the most concrete outcome (shipped feature, metric, lesson learned).
## what it is
2–3 paragraphs on the problem, the audience, and what makes the project worth looking at. Reference the public case study for the deep design dive.
hero screenshot — milestone app, current state
fig 1 · the dashboard, may 2026
## my role
Solo — design + engineering, end to end. What I owned: schema, API, UI, auth flow, deploy. What I'd hand off if I could: an icon set, marketing copy, the QA grind.
## three decisions worth talking about
decision 01[schema decision]why I picked X over Y, the tradeoff, what I'd do next timedata
decision 02supabase auth + RLSthe model I landed on after fighting RLS for a weekauth
decision 03[ui decision]a UX call that took a few roundsui
## the design case study
The full design walkthrough — wireframes, decisions, and screenshots — lives at trnle.github.io/milestone-public ↗. This page is the engineering companion.
Meta strip: 4 cells — role · timeline · stack · status. Status uses a colored dot.
TL;DR: green callout, always 1 paragraph max.
Body sections: alternate prose and figures. Figures = 16:9, captions in mono.
Decisions list: 3 items, structured like commits. This is the "show your thinking" moment.
Links callout: grey callout (matching TL;DR shape) with live / repo / case study links.
Footer: prev/next file links for keyboard navigation.
04
About view — about.md
nice to have
The "about me" deep cut. Same chrome; the right pane is mostly prose with a couple of personal touches (pet photo, hobbies). This is where personality lives.
⌗tranle.dev/about
trnle / about.md
# about
the longer version. who I am, how I work, what I'm into.
## tl;dr
Full-stack engineer in the PNW. I design and ship products end-to-end. Currently building milestone. Comfortable with TS / React / Node, learning supabase.
## how I work
Three or four short paragraphs on the work style:
I treat design and engineering as one job.
I write the wireframe, the schema, the tests, the copy.
I'd rather ship a small, opinionated thing than a big committee-shaped thing.
I take notes by hand and code in the morning.
## outside the screen
The hands-on stuff: pottery, embroidery, sewing, the garden, snowboarding when the PNW lets me.
trnle / projects / milestone.md · status: ● open to chat
Headings get a # prefix
The literal # and ## characters before headings are decorative — they render in --ink-4 (muted). This is the most recognizable "I'm a markdown doc" signal and the strongest visual moment in the design.
08
Components
required
Eight components do most of the work. Each is small, composable, and reusable across files.
linksprefer → link text with an arrow over bare URLs
about.md · the deep cut
~500 words. The "longer story" version. Personality lives here.
# about
## tl;dr — 1 paragraph
## how I work — 4 bullets, voice-y
## outside the screen — pottery, garden, snowboard, finn
## what I'm reading — current + recent list
## say hi — 1 line CTA
tonewarmer than README. small jokes ok. no caps lock.
finnmention finn (the dog). this is mandatory.
images3 squares — pottery, garden, finn
milestone.md · the case study companion
Engineering-side companion to the existing design case study at trnle.github.io/milestone-public.
# milestone
meta strip · TL;DR · what it is · my role ·
three decisions worth talking about ·
the design case study (link out) · links