ai4pg · transparencia-redesign
The ai4pg landing page — previously a scattered desk of Mac-style chrome windows — has been rebuilt as a kicker-numbered editorial publication mapped from transparencia-design.vercel.app, with ai4pg's existing dark cloth + gold-foil palette kept as the canonical surface. A custom pencil-sketch hero illustration (a generic neoclassical civic rotunda) sits seamlessly on the page — graphite on warm paper in light mode, baked into a transparent foil-cream alpha plate for dark mode.
What changed. The landing page now reads like an editorial publication on the design of allocation mechanisms — numbered kickers, serif H1/H2 with foil-italic emphasis, stat columns, browser-frame visuals around live content, a 4-up research-thread grid, a notes ToC, team list, supporters grid, and a closing contact bar. The chaos/order Window gallery is retired in favour of a linear, scrollable section flow. The dev server runs on :3050 (not the default :3000) so other agents using agent-browser aren't blocked.
═ SECTION ═ ornament.
#F0CA6E). No filter or blend-mode tricks at runtime — the asset is correct on its own.
#F9F2E3 is the new --cloth in light mode, so the illustration rectangle dissolves into the page — same recipe transparencia.tech uses.The first illustration generated was a faithful pencil sketch of Low Memorial Library at Columbia — venue of the AI4PG 2026 workshop. It looked great but anchored the entire landing to a single location and risked reading as “AI4PG is mostly about Columbia.” It's been preserved at public/illustrations/columbia-low-library.webp for the workshop detail page (/events/columbia-2026), where being location-specific is the whole point. The landing now uses an unbranded neoclassical civic rotunda — a generic “temple of the commons” — that allegorises public-goods deliberation without anchoring to any real institution.
First attempt rendered the same graphite-on-paper PNG in both themes and used filter: invert + sepia + hue-rotate + mix-blend-mode: lighten to convert it to cream-on-cloth for dark mode. It half-worked — there was a visible darker rectangle where the inverted paper didn't quite blend into the cloth. Final approach: bake a dedicated dark-mode asset at design time with ImageMagick (negate → use as alpha → colour with foil #F0CA6E), produce civic-rotunda-foil.webp alongside the original, and swap by theme via plain display: none CSS. No runtime filter hacks; both assets are correct on their own. (preview of the foil-cream variant on dark cloth.)
:3050, not :3000Per the brief — multiple agents currently use agent-browser with the default port, so the redesign instance runs on :3050 via npx next dev -p 3050. No collisions, no contention.
The user flagged that the sibling repo ../transparencia-web-v2 had been previously edited by accident. Before touching anything I ran git stash there. The stash entry is named WIP on main: 64ff261 Add live DOF heatmap + Congress composition embeds, split diputados/senadores — recoverable via git stash pop in that repo. No further edits made to that repo.
Every TransparencIA token has a direct counterpart in ai4pg's existing palette, kept verbatim:
| Role | Transparencia | ai4pg dark | ai4pg light |
|---|---|---|---|
| Paper (page bg) | #f4f1ec | #1D332C | #F9F2E3 |
| UI chrome (cloth-2) | #efebe3 | #223B33 | #F2EBD9 |
| Body ink | #1a202c | #F2E4B8 | #141413 |
| Secondary ink | #475569 | #C8B88A | #4F4E47 |
| Brand accent | #0f3bd6 cobalt | #E8B73A foil | #1A1A19 ink |
| Brand haze | #dbe4f7 | rgba(232,183,58,.16) | rgba(20,20,19,.06) |
| Second accent | #e07a3c terracotta | #D88A52 copper | #C24E2C copper |
| Rule / dividers | #cbd5e1 | rgba(232,183,58,.18) | rgba(20,20,19,.10) |
Type stays on ai4pg's existing register: EB Garamond for serif H1/H2/body, Cormorant Garamond Italic for inline emphasis (analogous to transparencia's italic-cobalt), IBM Plex Mono for kickers, captions, stat labels and the timeline ruler.
Kickernumbered section label (00 — A research initiative) in foil mono caps.
EditorialTitleserif H1/H2 with optional italic foil emphasis (“Mechanism design for public goods.”).
EditorialSection12-col copy-left + visual-right layout with reverse, used by Workshop + Grants sections.
EditorialPillstatus chip (UPCOMING / IN REBUTTAL).
BrowserFramechrome dots + URL bar + grid-paper interior, wrapping live workshop and grants content.
StatColumnicon + serif number + foil mono label + caption (5-up stats bar).
HeroCompositionillustration + foil halo + accent squares + plus marks + month timeline + numbered tick labels.
PlusMarkSVG registration cross with staggered blink animation.
SidebarTagsvertical mono tags down the left margin (MECHANISMS / PUBLIC GOODS / ALLOCATION).
MonthTimelinemono ruler JAN…DEC with a foil marker on JUN (workshop month).
LiveDotpulsing foil dot + label, used as the “In rebuttal · 2026” indicator.
MenuBarrewritten as a flat editorial nav: foil chip + wordmark + numbered section links + edition line + theme toggle.
Read thread → link.
#F0CA6E (an aged-foil cream); composite with cwebp at quality 88. Lines float; no plate.
transparencia-design.vercel.app: imaginary neoclassical rotunda, 12 Ionic columns, low dome, three shallow steps, bench + empty plinth, drifting birds, light cross-hatching, paper tint #FAF9F5, no people, no text, generous negative space. AI returned with paper #F9F2E3 — which became the new --cloth for light mode.
public/illustrations/columbia-low-library.webp. It's the natural illustration for the Columbia 2026 workshop detail page where the venue specificity is the point — just not for the landing, where it would over-anchor.ai4pg/src/app/globals.cssrewrote the design-token block (cloth / cloth-2 / cloth-3 / foil / foil-haze / copper / rule), added grid-paper utility, motif keyframes (hero-blink, hero-pulse-dots, hero-square, hero-breathe, pulse-dot), illustration theme-swap rules. Light-mode --cloth = #F9F2E3 to match the warm paper of the pencil sketch.
src/app/page.tsxrewrote the landing as a server component with kicker-numbered editorial sections (Hero / Stats / 01 Workshop / 02 Grants / 03 Research / 04 Notes / 05 Team / 06 Supporters / Contact / Footer). Dropped the Gallery + ChaosOrderToggle layout entirely.
src/components/MenuBar.tsxrewritten as the flat editorial nav described above.
src/components/Motifs.tsxnew file. All the motif primitives (PlusMark / Kicker / EditorialTitle / BrowserFrame / StatColumn / SidebarTags / AccentSquares / MonthTimeline / EditorialSection / LiveDot / EditorialPill).
src/components/HeroComposition.tsxnew file. The hero composition wraps the rotunda asset + halo + accent squares + plus marks + month timeline + numbered tick labels. Two image variants stacked, theme-swapped via CSS.
public/illustrations/civic-rotunda.webp228 KB · 1600×1600 · graphite on warm sepia paper. Light-mode hero.
public/illustrations/civic-rotunda-foil.webp443 KB · 1200×1200 · transparent background, foil-cream linework. Dark-mode hero.
public/illustrations/columbia-low-library.webp298 KB · reserved for the Columbia workshop detail page; not wired in yet.
/Users/david/Projects/ai4pg
Dev servercd ai4pg && npx next dev -p 3050 — then http://localhost:3050
Image generationCodex CLI, codex exec --enable image_generation, ChatGPT-account auth, no OPENAI_API_KEY needed. Prompts saved at /tmp/ai4pg-imagegen/prompt-hero.txt + prompt.txt.
Foil-cream variantmagick rotunda.webp -colorspace gray -negate -level 10%,55% rotunda-alpha.png && magick -size 1600x1600 xc:"#F0CA6E" rotunda-alpha.png -alpha off -compose copy_opacity -composite rotunda-foil.png && cwebp -q 88 -alpha_q 90 rotunda-foil.png -o civic-rotunda-foil.webp
Live referencetransparencia.tech · transparencia-design.vercel.app
Screenshotsassets/*.png · split per pi-eval rules (≤ 1500 px tall, pngquant compressed).