Skip to content
Work in progress. This site is a prototype. Programs, dates and company details are provisional and may change.

How this site is built

About this site

How this site is built

One hundred company websites, none of them hand-built. Content is decoupled from presentation so the people who know the content can change it directly.

Why it is built this way

Content changes without a code change

A company edits its spreadsheet. No developer, no ticket, no deploy request.

One schema, one source of truth

The company spreadsheets, the Registry, the validation and this site are all generated from schema/schema.json. Add a field there and every company spreadsheet gains the column, without losing what is already in it.

Publication is gated

A company only appears once program staff set its Status to Published in the Registry, which companies cannot edit.

One company cannot break another

Every company has its own spreadsheet, so nobody can overwrite another company by mistyping a name, and one broken spreadsheet only takes that one company off the site.

Failures are visible, not silent

Unshared spreadsheets, missing tabs, bad colour codes and projects naming roles that do not exist are all listed on the data status page.

Portable by design

The output is static HTML with no runtime dependencies. Hosting it under an existing site, or moving it into the university CMS, does not require rewriting it.

What a company controls

A company controls its own tagline, sector, mission, vision, strategy, brand colours, logo, org chart, board, roles and projects. Those choices change its directory card and its page — including the colour of the page itself.

What a company does not control is the layout, the navigation, the accessibility of the page or whether it is published at all, and its name, which is part of its web address. That keeps a hundred companies visually coherent without anyone policing them.

What happens when someone gets it wrong

The most common problems will be a spreadsheet that is not shared, a column heading someone renamed, or a project that names a role the company has not listed. None of them is silently dropped: the build lists each one on the data status page, naming the company and what it could not read, so the program team can fix it. A company whose spreadsheet cannot be read at all is left off the site until it can, and every other company carries on updating.

Current state of this prototype

This build read its content from the live registry and company spreadsheets, generated 8 Oct 2026, 3:21 pm Melbourne time.