
001 / Harbor Index
2026 · Docklands Oral History Trust
A public archive of waterfront oral histories. Searchable, cited, and built so an editor can add a tape without calling anyone.
~/ssheng
S. Sheng — I design how information is structured, published, and remembered. Content systems, editorial websites, and the architecture people forget they asked for until it isn't there.
ssheng 0.6 — document shell. type help.
~/ssheng > whoami
S. Sheng
designer-engineer
I design how information is structured, published, and remembered. Content systems, editorial websites, and the architecture people forget they asked for until it isn't there.
A real shell. Try help, cat work, open notes.
Practice
001 / Information architecture
Content models, taxonomies, and the relations between them — before anyone opens Figma.
002 / Editorial websites
Magazines, archives, institutes. Sites that have to hold a voice, not a campaign.
003 / CMS systems
Sanity, studio structure, portable text, preview that doesn't lie.
004 / Agent-ready repos
AGENTS.md, typed fetch layers, tests an agent can actually run.
Selected work

2026 · Docklands Oral History Trust
A public archive of waterfront oral histories. Searchable, cited, and built so an editor can add a tape without calling anyone.

2025 · Northbound
A small literary magazine that needed to feel like paper and behave like a CMS. Issues, contributors, a shop that doesn't fight the reading.

2025 · Ash & Bracken Conservancy
A research CMS for a conservation nonprofit. Plots, species, field notes — structured so scientists can write and the public can read.

2024 · Independent
A reading list that remembers why you saved something. Not bookmarks. A commonplace book with a spine.
Notes
Principles
Every project invents a new information architecture if you let it. I don't. The schema, the page model, the fetch layer — committed, named, and boring on purpose.
Not a bag of sections. Not a page builder with sixteen slightly different heroes. A document with a spine: title, matter, modules that mean something, an ending.
A Studio that only the implementer understands is a support ticket with a login. Structure, preview, and language have to survive contact with the people who actually write.
Canonicals, sitemap, metadata, draft vs published — these are not a week-four task. If they aren't in the architecture, they will be missing on launch day. They always are.
A coding agent with no committed decisions will redesign your site on every prompt. Architecture is the rails. I lay them so the work stays inside a shape that lasts.
Preview, cache, auth, redirects, a real 404. If it only works on localhost it doesn't work. Ship the boring production path first, then the interesting work has somewhere to live.