The context
The EFTA Court, based in Luxembourg since 1994, rules on the application of the EEA Agreement for Iceland, Liechtenstein and Norway. Its website is not a brochure: it is the official publication channel through which judges, lawyers, academics and journalists access judgments, hearing dates and rules of procedure.
That status brings constraints you do not meet on an ordinary site. A published decision is cited in other decisions, sometimes for decades: its address can never change. The calendar carries procedural deadlines. And hearing broadcasts have to work on the day, with no second take.
What I built
Case-law database
a search engine over cases, sortable by relevance or date, with detailed search and direct access by case number.
Judicial calendar
a monthly view distinguishing deadlines, oral hearings, judgment deliveries and judicial vacations, with a full calendar view and dedicated search.
Live broadcasting
streaming of public hearings, with an explicit in-session / out-of-session state and conditions of use.
Procedure section
the Court's statute, rules of procedure, previous versions, and guidance for counsel and for advisory-opinion requests.
Press & publications
press releases, reports and downloadable institutional documents.
Institutional section
introduction, questions and answers, agreements, code of conduct, judges and staff, vacancies and traineeship programmes.
e-EFTACourt portal
the entry point for electronic lodging of procedural documents, plus authenticated staff access.
Architecture & technical decisions
The site is server-rendered, with no dependency on JavaScript execution to display content. On an institutional site this is not a performance choice but one of accessibility and longevity: the content must remain readable by a screen reader, a search engine and an archiving tool, today and in ten years.
The data model is built around the case as the central entity — official number, parties, procedure type, attached documents, calendar milestones. Everything else (search, calendar, press releases) is a view onto that repository rather than separately entered content, which prevents sections from diverging.
Decision URLs are stable by design: they derive from the official case number rather than a technical identifier or a title. A citation made today will still resolve after a redesign.
Search combines several axes — text, number, date, type — with relevance or chronological sorting, because a practitioner does not search like a researcher: one wants the most recent decision, the other the closest to their subject.
Technical challenges
Permanence of references. In law, a URL that changes breaks a citation. Public addresses are therefore treated as a contract, not an implementation detail.
A calendar with legal effect. Deadlines, hearings and judicial vacations are not ordinary events: their display must be exact and free of time-zone ambiguity.
Live with no second chance. A hearing is broadcast once. The interface explicitly handles the absence of a stream rather than leaving an empty player, and frames the permitted use of the footage.
Accessibility as an obligation. A European public institution must be usable by everyone: semantic structure, keyboard navigation, contrast and explicit labelling.
Partial multilingualism. The documentary corpus is in English, but some content addresses national audiences — the structure had to accept that asymmetry without forcing a full translation.
Editorial rigour. A back-office publishing official acts cannot risk an accidental publication: publication workflows are explicit and audited.