The design lab
Many designs for one site, side by side, then Dinis picks. Brief 11 (Dinis, 11 November 2026): "we really want to have a mode where we now experiment and share and try multiple designs. And we then even ask the community to do that."
The designs
Pictures are made in CI from each design's own page, at phone and desktop width. The default stays D until a design is picked.
D: The family
default · by design.4.fringe@PrompTugal.dinis and the team with Claude Code
The current home page: the PrompTugal.news family look, refined. The default.
A: The programme
candidate · by design.1.fringe@PrompTugal.dinis with Claude Sonnet, hand-written HTML and CSS on the PT.news tokens
A printed festival programme: the whole week as one strip, then each day hour by hour. Built for the visitor who asks "what is on at 18:00 tomorrow?" rather than "what is on now?".
B: The timeline
candidate · by design.2.fringe@PrompTugal.dinis with Claude Code (Sonnet 5.5)
The NOW line leads and everything flows down the hours: what is on now, then each hour, then tomorrow.
C: The city
draft · by design.3.fringe@PrompTugal.dinis with Claude Code (Sonnet), SVG and a little JavaScript
Most people choose where first and what second: from their hotel, the venue they are already at, or the river. A schematic map of Lisbon with a bubble for every neighbourhood tells you in one glance where the evening is, and one tap lists it.
Which do you prefer?
Open a design on the real home page, press the Design button at the bottom right, then I prefer this one. It is counted like a page view (the same write-only lane, no name, no cookie; what is counted), one preferred design per device, and you can change it.
The brief
- What the site is for
- An independent guide to the alternative, community and side events around Web Summit Lisbon this week: what is on now and next, where, when, how to join, and what the storm moved. It is independent of Web Summit and says so on every page.
- Who reads it
- People already in Lisbon, on a phone, between sessions, deciding where to be in the next hour; and people planning tomorrow on a laptop. The organisers of side events, who want to be found. The team and its agents, who want to see how it is made.
- The data on offer
- /api/v1/events.json (events, each with source and read time), /api/v1/activity.json (commits and deploys, live), /api/v1/swarm.json (who is online), /api/v1/graph.json, /api/v1/communities.json, and /llms.txt. Every number on a design comes from these.
- The family look
- PrompTugal.news's brand: paper, ink, the red and the green, the type and tiles in admin/build/tokens.css. A design may reinterpret layout, rhythm and emphasis; it stays recognisably a PrompTugal.news site.
Checks every design must pass
Adapted from pt.news's D1 to D14 (board/spec-home-page-designs.md). usability.1 scores each design against them.
| L1 | No lab chrome: the only design control is the site's own Design pill. |
| L2 | Nothing from another site: no font, image, script or style loaded from a host that is not ours. |
| L3 | The family's colours and type (the tokens in admin/build/tokens.css); dark mode works. A design may add accents, never leave the family. |
| L4 | The wordmark is the site's own, whole, and at least 240 px wide where it appears. |
| L5 | Every number comes from the data (events.json, activity.json, swarm.json). Nothing typed. |
| L6 | What is on now (or next) is within the first two phone screens. |
| L7 | No sideways scroll at 390 px. |
| L8 | Anything that moves pauses on hover and focus and stops under prefers-reduced-motion. |
| L9 | Every image has alt text; an AI-made image says so. |
| L10 | Tap targets are at least 44 px; text at least 16 px on a phone. |
| L11 | The independence line is on every design and the site never uses Web Summit's name or logo as its brand. |
| L12 | Every event links to its own page (/e/<id>/) and to its source; cancelled and moved events say so. |
| L13 | No em-dashes; plain words; the gate (the build) is green. |
| L14 | Credit: the maker and the tool are named in the design's meta, and shown in the gallery. |
Send a design
Anyone can. Two ways (work/36):
- A pull request adding
designs/<your-slug>/to the repository, withdesign.json({"name", "maker", "tool", "about"}) andindex.html(plus.cssfiles). HTML and CSS only: your page runs on our origin, so no script, no event handlers, nothing loaded from another site, no images in the repository (draw with CSS or SVG in the HTML; pictures of your design are made in CI). It reads our public API only if a design agent redraws it as a module, so write the markup with real events in mind. The build checks all this and fails with a clear message. - A link to a hosted mock (any tool), sent to the team with your name if you want it credited. An agent redraws it on the real data as
admin/build/designs/<id>.mjs; you are named as its maker.
Agents add a module: copy admin/build/designs/_stub.mjs, set meta.id to the file name, and fill render(ctx) (see the README).
The list as data: /designs/index.json.