From d43efa8983800b28d87dcfb8ee9e9245950ce647 Mon Sep 17 00:00:00 2001 From: Rihana Date: Tue, 1 Sep 2026 21:58:29 +1000 Subject: [PATCH 01/28] Add the four home page redesign candidates with their chooser Four standalone prototype pages for the new corpuskit.org home - two creative briefs (the reading room, research in working order), each built independently by two builders - plus the chooser index, the approved brand identity document, the briefs and the builder ground rules. Serve design/home-candidates/ statically to compare them. design/ is excluded from deno fmt so the prototypes stay byte-stable. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01FGCckNuKKVbyZ7yvFUYp98 --- deno.json | 1 + design/home-candidates/brand-codex.md | 290 ++++ design/home-candidates/brief-claude-r4.md | 79 + design/home-candidates/brief-codex-r4.md | 181 ++ design/home-candidates/builder-constraints.md | 53 + .../claudebrief-claudebuild.html | 1021 +++++++++++ .../claudebrief-codexbuild.html | 958 +++++++++++ .../codexbrief-claudebuild.html | 1291 ++++++++++++++ .../codexbrief-codexbuild.html | 1486 +++++++++++++++++ design/home-candidates/index.html | 54 + 10 files changed, 5414 insertions(+) create mode 100644 design/home-candidates/brand-codex.md create mode 100644 design/home-candidates/brief-claude-r4.md create mode 100644 design/home-candidates/brief-codex-r4.md create mode 100644 design/home-candidates/builder-constraints.md create mode 100644 design/home-candidates/claudebrief-claudebuild.html create mode 100644 design/home-candidates/claudebrief-codexbuild.html create mode 100644 design/home-candidates/codexbrief-claudebuild.html create mode 100644 design/home-candidates/codexbrief-codexbuild.html create mode 100644 design/home-candidates/index.html diff --git a/deno.json b/deno.json index 856748d..8ae5e1e 100644 --- a/deno.json +++ b/deno.json @@ -38,6 +38,7 @@ "semiColons": false, "exclude": [ "content/", + "design/", "docs/", "README.md", "CLAUDE.md", diff --git a/design/home-candidates/brand-codex.md b/design/home-candidates/brand-codex.md new file mode 100644 index 0000000..3805c13 --- /dev/null +++ b/design/home-candidates/brand-codex.md @@ -0,0 +1,290 @@ +# CorpusKit brand identity + +## What CorpusKit is + +CorpusKit is an open source research portal. It gives people several ways to work with a research collection: browse it, search it, ask questions, check the evidence and explore relationships. + +The answers are designed to be checked. Citations open the source material, search results show the passages that matched, and confidence is stated in plain language. When the collection does not support an answer, the portal can say so. + +The full project is published under the Apache 2.0 licence. An organisation can inspect the code, run it on its own infrastructure, change it and contribute improvements. + +### Explore + +Explore is a portal's home page. It shows a question box, questions drawn from the collection, topic rows, regional entry points and recently added resources, so a person can start with a question or browse. + +### Search + +Every page has a search field in the header. Results show ranked resources and the passages that matched, with topic and document-kind filters, relevance scores, weak-match labels and hybrid, semantic and keyword modes. + +A search produces a short cited answer by default. The reader can hide that answer and use the results alone, switch between all retrieved resources and the ones cited, summarise a set of results, or watch the search for changes. + +### Ask + +Ask is a continuing conversation with the research collection. Answers stream as they are produced and include numbered citations, sources, follow-up questions and quality signals for relevance, groundedness and context. + +Confidence is shown as high, moderate, low or unscored. Low-confidence answers tell the reader to use them as a lead and check the sources. Deep research breaks a broad question into smaller questions before answering. Sessions can be saved, renamed, deleted and exported. + +### Library + +The Library is the full catalogue. People can search it, sort it, filter it and switch between grid and list views. + +Resources are presented as research items rather than filenames. A resource can have a clear title, summary, key takeaways, notable quotes and key facts. Its page can show the original file or webpage, extracted text, a transcript where one exists, related resources and a cited conversation limited to that document. + +### Knowledge map + +The knowledge map shows the shape of the collection. The entity view shows things in the research and the relationships between them. The concept view shows topics and document kinds that occur together. + +People can search the map, filter it, inspect a connection and open the resources behind it. The map reflects the entities, relationships and categories configured for that portal. + +### Tools + +Tools gives approved external research tools read-only access through MCP. A portal-scoped key can search the collection, request a cited answer, retrieve a document and browse the catalogue. Administrators create and revoke these keys without exposing the credential used by the underlying content service. + +### Manage + +Manage is where an administrator looks after one portal. It covers content, website sources, collection health, resource summaries, taxonomy, knowledge-map strategy, behaviour, appearance, usage and knowledge gaps. + +Administrators can add files, text and webpages, schedule website synchronisation, hold resources as drafts, find failed or poor-quality ingests and analyse the collection to update its topics, document kinds, suggested questions and map structure. + +## Who it serves + +### People using a portal + +Researchers come for different reasons: to get a cited answer to a question, to find a specific report, to browse what a collection holds, or to see what work already exists on a topic and how it connects. + +### People looking after a collection + +Content stewards and portal administrators add and update material, check whether it was processed properly, manage drafts, maintain the taxonomy and knowledge map, review common questions and keep the portal’s identity current. + +### People running CorpusKit + +An organisation’s technical team can inspect the repository, run CorpusKit, connect its own research collection, configure authentication and domains, and maintain the deployment. The application code is open under Apache 2.0 and the project includes its build, test and deployment configuration. Content storage and retrieval run on a connected knowledge service, which the deployment needs an account with. + +### People contributing + +Developers, designers, researchers and documentation writers can study the same code that runs the portals, report problems and contribute changes. Contributors should be able to tell what exists now, what remains unfinished and how a change will be checked. + +## Positioning + +CorpusKit is an open source research portal for finding, questioning and working with a research collection while keeping every answer connected to evidence. + +Connect a collection and CorpusKit provides a branded portal with search, cited answers, a browsable Library and a knowledge map. Each organisation can shape the portal around its own domain and run the project itself. The code is available under Apache 2.0. + +## Values + +### Openness + +The code is published under Apache 2.0, and the evidence behind an answer is available for inspection. + +### Rigour + +CorpusKit keeps claims tied to citations, matched passages and visible quality signals. + +### Candour + +It shows weak matches, low confidence and missing evidence instead of smoothing them over. + +### Autonomy + +Organisations can run the project themselves and shape each portal around their own collection. + +### Stewardship + +CorpusKit treats a research portal as maintained organisational infrastructure, not a one-off search tool. + +## Personality + +- **Open, not guarded** + CorpusKit shows sources, confidence, current limits and code. It does not hide important workings behind brand language + +- **Clear, not salesy** + It says what a feature does, what it needs and what happened. It speaks to people as users, operators or contributors + +- **Assured, not showy** + It lets the product behaviour demonstrate the capability + +- **Exact, not absolute** + It names the source, passage, score and current state without pretending that research always gives one final answer + +- **Helpful, not controlling** + It gives people several ways to work, and gives organisations room to run, adapt and contribute to the project + +## Voice and tone + +CorpusKit speaks like a well-maintained open source project and a careful research tool. It explains what works, shows how to check it and gives the reader a useful next step. + +### Voice rules + +- Start with what the product can do +- Use working features as examples +- State that CorpusKit is open source plainly, with the Apache 2.0 licence when the detail matters +- Say inspect, run, change, self-host and contribute when those are the actions available +- Do not use open source as a claim of moral superiority +- Do not suggest that open source means every connected service or every piece of research is free of separate terms +- Use plain verbs such as find, ask, compare, open, save, check, run and contribute +- Keep the source, passage or confidence close to the claim it qualifies +- Name gaps, failures and unfinished work directly +- Use product language in the portal and precise technical language in developer documentation +- Refer to CorpusKit or the portal as the system doing the work, not a model or retrieval engine +- Invite contribution where it is useful, with enough detail for someone to act + +### Tone by situation + +- **The project home** says what CorpusKit does, links to the repository and gives a short route to running it +- **The portal** helps people explore without assuming that every question has an answer +- **Answers** are specific and conditional, with citations and confidence close by +- **Warnings** are calm and clear about what needs checking +- **Administration** names the action, scope, progress and consequence +- **Developer documentation** states prerequisites, commands, boundaries and known problems directly +- **Contribution guidance** is welcoming, specific and honest about the standard changes need to meet +- **Errors** say which action failed, what remains available and what the person can try next + +### Do and do not examples + +| Context | Do | Do not | +|---|---|---| +| Project headline | An open source research portal | Research intelligence for enterprise leaders | +| Project introduction | Search the collection, ask cited questions and open the passages behind each answer. | CorpusKit provides advanced knowledge infrastructure for modern organisations. | +| Running the project | The code is available under Apache 2.0. Clone it, connect a collection and run the portal yourself. | Contact us to learn how CorpusKit can transform your organisation. | +| Answer copy | The retrieved sources only partly support this answer - check the citations before relying on it. | The answer is ready for use. | +| Interface label | Cited answer | AI answer | +| Empty state | No direct evidence found | No results | + +## Vocabulary + +### The project + +- **CorpusKit** is the open source project and the product that runs the portals +- **Open source** means the application code is published under a licence that allows people to inspect, run, change and redistribute it +- **Apache 2.0** is the project’s software licence. Name it when someone needs the exact terms +- **Self-host** means running the CorpusKit application on infrastructure chosen and managed by the organisation; the connected knowledge service is separate +- **Repository** is the source code, documentation, tests and project configuration +- **Maintainer** is someone responsible for reviewing and caring for the project +- **Contributor** is anyone who improves the code, design, documentation, testing or other project material +- **Fork** is a copy of the repository that someone can develop or run independently. Use the term in developer contexts, not as a general product benefit + +Do not use **free** as a substitute for open source. The licence covers the CorpusKit code; infrastructure, connected services and the research material can have their own costs and terms. + +### Portals and organisations + +- **Organisation** is the group responsible for a portal and its research +- **Portal** is one organisation-specific research experience, with its own identity, collection, configuration and domain +- **Tenant** is an internal architecture term. Use organisation or portal in public and user-facing writing +- **Manage** is the administration area for one portal + +### Content + +- **Research collection** is the complete body of content connected to a portal +- **Collection** is the shorter form once research collection has been established +- **Corpus** is used only where it adds precision in research, administration or technical documentation +- **Library** is the browsable catalogue of resources +- **Resource** is one item in the Library, such as a report, webpage, video or other document +- **Research source** is a resource used to support an answer or finding. Use the full term where source could be confused with source code +- **Passage** is the specific part of a research source matched to a search or citation +- **Topic** is a subject category used to organise and filter the collection +- **Document kind** distinguishes forms such as report, plan, submission or framework + +Collection is not the name of a saved object or current product feature. Do not use **Collections** as a navigation label until that feature exists. + +### Answers and quality + +- **Cited answer** is an answer with numbered references to supporting research sources +- **Citation** is the numbered link between a claim and its research source +- **Confidence** is the plain-language statement of how well the retrieved sources support an answer +- **Answer quality** covers the three checks used today: relevance, groundedness and context +- **Matched passage** is the excerpt that made a resource relevant to a search +- **Weak match** is a search result below the stated relevance threshold +- **No direct evidence found** is the response when the collection cannot support an answer +- **Deep research** is the Ask mode that maps a question into focused sub-questions before answering + +### Research work + +- **Session** is a saved Ask conversation +- **Watched search** is a saved search that is checked for changed results + +### Structure and access + +- **Knowledge map** is the user-facing view of entities, relationships, topics and overlaps +- **Knowledge graph** is used in technical and management contexts +- **MCP connector** is the technical access point for approved external research tools +- **Access key** is a portal-scoped, revocable credential for the MCP connector +- **Knowledge box** is a technical connection shown to administrators. It is not how CorpusKit explains its value to portal users +- **Enrichment** is an administrator term for generated resource information. User-facing writing should name the title, summary, key takeaways or notable quotes instead +- **Merchandising** is an internal implementation term, not a description for portal users + +### Words and phrases to avoid + +Do not use: + +- AI demo +- AI answer +- chatbot +- copilot +- RAG +- Agentic RAG +- vector search +- vector database +- model-powered +- intelligent platform +- enterprise solution +- knowledge revolution +- reimagined +- unlock +- supercharge +- seamless +- magic +- definitive answer +- authoritative answer +- single source of truth +- hallucination +- content dump +- actionable insights +- vendor lock-in +- free forever +- community edition + +Technical documentation can name the underlying technologies when needed. They do not lead the project description or portal copy. + +## Proof points + +These claims are supported by the code in the repository: + +- CorpusKit is published under the Apache 2.0 licence +- The repository contains the application, shared types, retrieval integration, tests, build tasks and deployment configuration +- The project can be run outside the hosted service, with documented local setup and container configuration +- One deployment serves multiple organisation-specific portals from configuration rather than separate application branches +- A portal can have its own name, organisation, tagline, logo, images, typography, text size, density, shape and appearance settings +- Each portal can have its own topics, suggested questions, entity types and relationship types +- Administrators can analyse a connected collection to derive topics, document kinds, suggested questions and knowledge-map dimensions +- Search supports hybrid, semantic and keyword modes, topic and document-kind filters, calibrated relevance scores, matched passages and weak-match labels +- Search provides a streamed cited answer by default and can switch to results only +- People can switch between all retrieved resources and those cited in the answer +- People can summarise a set of results and watch a search for daily changes +- Ask streams answers and provides numbered citations, cited sources and follow-up questions +- Answer quality reports relevance, groundedness and context, with high, moderate, low or unscored confidence +- Low-confidence answers tell the reader to treat the result as a lead and check the cited sources +- Ask can refuse when the collection provides no direct evidence +- Deep research maps a question into focused sub-questions before answering +- Ask sessions can be saved, renamed, deleted and exported +- Library resources can be searched, sorted and filtered, with grid and list views +- Resource pages support PDFs, webpages, videos, audio, images, office documents and extracted text when the connected material provides them +- A resource can have a generated title, summary, key takeaways and notable quotes +- The current enrichment schema does not contain a separate hook field, so a generated hook is not a current product claim +- People can ask a cited question against one document instead of the whole collection +- The knowledge map provides an entity graph and a concept map, with relationships, topic overlaps, search, filters and linked resources +- Administrators can add files, text and webpages, register website sources and run or schedule source synchronisation +- Collection-health checks identify failed resources, bot-challenge pages and resources with very little extracted text +- Resources can be held as drafts and excluded from public retrieval until published +- Manage includes resource summaries, taxonomy, knowledge-map strategy, portal behaviour, appearance, usage insights and knowledge-gap reporting +- The MCP connector is read-only and limited to one portal +- MCP access keys are issued separately, shown once, revocable and managed by an administrator +- MCP clients can search the collection, request a cited answer, retrieve one document and browse the catalogue +- Production administration supports Microsoft sign-in and an administrator role +- Production application state is stored in SQLite-backed durable storage +- Retrieval and generation sit behind a typed product interface, while the portal uses CorpusKit’s own vocabulary + +## The brand idea + +### Put your organisation's research to work + +CorpusKit lets a person move through a research collection in several useful ways: find a report, ask a question, follow a connection, compare sources and keep exploring. Citations, matched passages and plain-language confidence make that work trustworthy because the reader can check what they find. The project follows the same approach by keeping its code open to inspection and change. diff --git a/design/home-candidates/brief-claude-r4.md b/design/home-candidates/brief-claude-r4.md new file mode 100644 index 0000000..bd15506 --- /dev/null +++ b/design/home-candidates/brief-claude-r4.md @@ -0,0 +1,79 @@ +# Creative brief – the CorpusKit home page + +You are building the home page for CorpusKit in one pass. This brief sets direction; the decisions are yours. Wherever I offer a possibility, treat it as raw material to take or discard, not an instruction. The one document you must treat as law is the brand identity, `brand-codex.md` – read it whole before you open an editor. Every line in it survived heavy owner review, and every line of copy on this page comes from you, written in that voice. The brand idea it all hangs off: put your organisation's research to work. + +## What this page is + +CorpusKit is an open source research portal – search, cited answers, a browsable library, a knowledge map, all built so the reader can check what they find. This page is the project's front door, and the person at the door is not a buyer. They might use a portal someone runs, they might be the engineer deciding whether their organisation should run it, they might want to contribute. This is an open source project's home, not a pitch. + +Hold in your head how tailwindcss.com or wordpress.org meet you: they show the thing working, tell you what it is, and let you get on with your day. Nobody follows you around the page. That is the posture. There is no hard sell anywhere on this page – not softened sell, not sell dressed as friendliness. The confidence of the page is that the product, shown honestly, is enough. + +## The direction: the reading room + +Picture a good library reading room on a weekday morning. Daylight on long tables. Papers out and being worked on, not behind glass. Everything within reach, everything checkable, and nobody selling anything, because a reading room has nothing to sell – it simply works, and it has clearly been looked after for a long time. That is the page. A working room, not a hushed one: the brand idea is research put to work, so the papers are open and marked up, not filed away. + +The name should need no decoding, and if a choice on the page would feel wrong in that room – a flashing sign, a sales banner, a wall painted to grab attention – it is wrong on the page. + +### Colour + +Head towards paper and ink. Grounds in a warm white – paper that has seen daylight, not the blue-white of a hospital corridor. Text in a deep near-black ink that feels written rather than printed by a machine. Then one working accent, used the way a careful reader uses a pen: to mark what matters, and for nothing else. If the accent shows up somewhere a reader's pen wouldn't, it is decoration, and it goes. + +For the accent's territory, reason from the world of marking and checking evidence – the blue of good pen ink and of a citation you can follow has an honesty to it, and so does the ochre of an archival folder or a fine highlighter used sparingly. Choose the hue yourself, for a reason you could say out loud. Two territories are closed: the current site's forest green, orange and lime, in any weight, and the purple-into-indigo gradient haze that every AI product currently hides in. CorpusKit's brand is candour; a gradient haze is the visual opposite of candour. + +### Typography + +This page will mostly be read, so choose type the way a serious journal chooses it – for reading. The tell of the tier we are aiming at is type that looks set, by someone who reads, rather than styled from a template. Headlines need a face with real character that stays calm at large sizes – large and quiet, never large and shouting. That could be a serif with genuine bookish authority or a humanist sans with warmth; the choice is yours, but be able to say why the face belongs in the reading room. Body type should read like excellent documentation: unremarkable in the best sense, effortless at length. + +Monospace is honest exactly where real code appears – this project genuinely asks people to clone and run it, and a line of code shown as code builds trust. The old site wore monospace as costume, in uppercase label lines; decorative mono is a tell of the site we are leaving behind, so keep mono strictly on duty. + +## The feeling + +The reader should leave thinking: this is careful work, I can see exactly what it does, I could run this, and nobody tried to sell it to me. Trust arrived through evidence, not claims – the same way the product itself earns it. + +The page must never feel like being marketed at. Never like an AI product launch, never like a pitch deck with scroll effects, never like a toy or a demo reel. The moment a reader feels a hand on their back steering them towards a button, we have lost them – these are people who read licences for a living. + +## What the page must do + +These are jobs, not sections. How you group, order and count them is yours. + +**Make the capability felt, evidence first.** The centre of the page is what CorpusKit can actually do, shown doing it: search that reveals the passages that matched, answers that carry numbered citations and plain-language confidence, a library of real research items, a knowledge map with shape and relationships. Shown means shown – the reader should see the product behave, not read adjectives about it. The proof points section of the brand document is your claim ledger: if a capability is not in it, the page does not claim it. + +And show the candour, because it is the whole point. This product labels weak matches, tells you when confidence is low and to check the sources, and can say the collection holds no direct evidence for an answer. Every other product hides those moments; for CorpusKit they are the proof of the idea, and shown plainly they are worth more than any headline. If you want a candidate for the page's most memorable beat, the instant an answer proves itself – a claim opening into the passage behind it – is the entire brand in one gesture. Equally strong, and rarer: the product declining to overclaim. Yours to take or discard. + +One boundary here: the portals CorpusKit currently runs are not public. Never name them, never link them, and make sure nothing shown could identify them. Whatever content demonstrates the capability must stand on its own. + +**Answer the person working out whether to run it.** Somewhere on this page, the engineer with the deciding vote gets what they came for: the licence, stated plainly as Apache 2.0 when the detail matters; the repository, one obvious step away; what a deployment actually needs, including that content storage and retrieval run on a connected knowledge service – the brand document draws that boundary precisely, keep to it. They should also catch the scent of stewardship: a project that names what is unfinished, says how changes are checked, and reads like infrastructure someone maintains rather than a launch someone shipped. For the person who wants to contribute, the welcome is specific and honest about the standard – an open door, not a recruitment drive. + +**End the page deliberately.** The bottom of a page is where most sites trail off into a stacked banner of last-chance buttons. This one ends the way a good essay ends – composed, on purpose, leaving the reader with their next step held out plainly: use it, run it, or contribute to it. The last screen deserves the same art direction as the first. A reader who scrolls to the end has given you their full attention; the ending should be worthy of it. + +## The quality bar + +Premium and art-directed, with calm confidence. The three Caitlyn screenshots in this folder are the tier to reach or beat. Study what makes them feel expensive: enormous restraint, one idea per screen, whitespace doing the work decoration usually does, a single textured illustration carrying more than ten icons would. Then take the restraint and leave the look – Caitlyn is a closed product pitching itself; we are an open project showing itself. Same tier, different soul. + +Motion: the page rides ScrollSmoother's damped scroll – that weight and glide is the given foundation. On top of it, a small number of considered moments, and no more. One signature moment beats twenty effects; restraint is the mark of quality here, and earlier builds of this page were rejected partly for too much animation. Most of the page should simply sit there, composed, confident enough to hold still. When you are unsure whether something should move, it shouldn't. + +Quality also means the page holds everywhere: on a phone, on a big monitor where it should breathe rather than strand itself in a narrow column, and for a reader with system text scaled up. A page that is premium only at one width on one machine is not premium. + +Three quick taste tests while you work. Would a design-literate stranger screenshot this for a collection? Does the type look set rather than styled? Would a sceptical CTO trust the organisation that made it? If any answer is no, stop and fix that before moving on. + +## The anti-reference + +`corpuskit-desktop.png` is the current site, and it is the one thing this page cannot resemble. Its forest green, orange and lime; its heavy grotesk headlines ending in full stops; its uppercase mono label lines above every heading; its dark numbered strips and grid-paper backgrounds; its shape and structure. None of it carries over. If a choice you have just made would sit comfortably on that page, choose again. + +## Hard rules + +These pass through to the page without exception: + +- Australian English throughout +- Sentence case headings, and no full stops ending headings +- No ampersands +- No em dashes – use a spaced en dash instead +- Plain language, no AI copy cliches, and the brand document's avoided-words list applies to every word on the page +- No eyebrows – no kicker label lines above headings, anywhere, in any styling +- Exactly one sign-in affordance for anonymous visitors +- Never name or link the FRDC and GRDC portals +- Nothing that resembles the current site + +## What is yours + +So there is no doubt about ownership: the page structure and section count are yours. Every line of copy is yours, written in the brand voice from the brand document – nothing in this brief is copy. The layout is yours. The final typefaces and exact colours are yours – I have given territory and reasons, and the tokens are your call. Motion detail is yours, including which moment becomes the signature. Illustration and diagram treatment is yours. Where I have offered candidates, discard them freely the moment you have something better – you are the one in the room with the work. diff --git a/design/home-candidates/brief-codex-r4.md b/design/home-candidates/brief-codex-r4.md new file mode 100644 index 0000000..6b0b77e --- /dev/null +++ b/design/home-candidates/brief-codex-r4.md @@ -0,0 +1,181 @@ +# Creative brief for the CorpusKit home page + +## The assignment + +Create a new home page for CorpusKit, the open source research portal. + +The approved brand idea is **Put your organisation’s research to work**. Use it as the test for every decision. The page should make research feel active and useful: something people can search, question, browse, connect and check against its sources. + +This is a project home, not a sales page. It should help someone understand the product by seeing it work, then let them choose what to do next without being pushed. + +## Creative direction + +### Research in working order + +The visual world should feel like entering a beautifully maintained research workspace where the important material is already open and ready to inspect. + +Picture a clear table, marked passages, linked references and a collection whose structure has become visible. It is careful without feeling precious, technical without looking like a developer console and serious without borrowing the ceremonial language of universities or government reports. + +The page should make order visible. It should show that CorpusKit does more than produce an answer: it keeps the answer, its citations, the supporting passages, the confidence and the wider collection within reach. + +There is a useful tension at the heart of the identity: + +- Research is complex, but the interface is understandable +- Answers are useful, but never detached from evidence +- The project is capable, but candid about limits +- The product is composed, but open to inspection and change +- Each portal can have its own identity, while the underlying system remains dependable + +Let that tension create the character. Avoid making the product look either bureaucratic or magical. + +## The feeling to create + +A reader should leave feeling that CorpusKit is real, capable and inspectable. + +Someone using a portal should be able to imagine finding useful material without learning a new research method first. Someone responsible for a collection should recognise that the work of maintaining, organising and improving it has been taken seriously. Someone considering a deployment should feel that the project respects their technical judgement. A potential contributor should feel invited into a project with visible standards rather than a vague promise of community. + +The page should create curiosity through evidence. It should make people want to open a source, follow a relationship or inspect the repository because they have already seen enough to understand why that action would be useful. + +It must never feel like: + +- A black-box answer machine +- An enterprise software pitch +- A chatbot landing page +- A glossy concept for a product that may not exist +- A consultancy site hiding the product behind claims +- An academic archive that expects patience before offering value +- A conversion funnel with open source language applied afterwards + +Confidence should come from what is shown, not from inflated language. + +## Put the capability at the centre + +The centre of the page is CorpusKit working with a research collection. + +Show enough of the real product behaviour that a reader can grasp the relationship between a question, an answer and its evidence. Citations, matched passages, confidence, weak evidence and the ability to open the underlying material are not supporting details. They are the reason the capability is trustworthy. + +Let the wider shape of the product become apparent through genuine behaviours: searching in different ways, browsing the Library, working within one resource, exploring relationships, maintaining a collection and giving approved tools read-only access. These do not need equal prominence. The design should reveal a coherent system rather than parade a catalogue of features. + +Find one memorable way to make verification visible. The signature moment should help the reader understand how a claim leads back to evidence or how a collection becomes navigable. It should clarify the product in a way a static marketing illustration could not. + +Use actual interface language and credible research material wherever product detail appears. Avoid decorative pseudo-documents, meaningless charts and invented activity that exists only to fill a frame. + +Candour is part of the demonstration. CorpusKit can show low confidence, weak matches and an absence of direct evidence. These states should feel like evidence of rigour, not embarrassing exceptions to hide. + +## Open source posture + +Take the posture of a strong open source project: show the thing, state what exists and give people a direct route into the work. + +Tailwind CSS and WordPress are useful references for this posture, not for their visual styles. They meet people at different levels of familiarity, demonstrate capability early and make documentation, code and participation feel like natural continuations of the product. + +There should be no hard sell, lead capture logic or artificial urgency. Do not frame self-hosting as freedom from villains or open source as moral superiority. Explain the practical autonomy it gives an organisation. + +A person deciding whether to run CorpusKit should be able to establish: + +- What the application does today +- That the application code is available under Apache 2.0 +- That they can inspect, run and change it +- That the repository includes the application, shared types, tests, build work and deployment configuration +- That deployment requires a separately connected knowledge service +- How the project is maintained and how changes are checked +- Where to inspect the code, understand setup, report a problem or contribute +- Which limits, dependencies and unfinished areas matter to a responsible decision + +Treat governance and operational boundaries as part of trust. They should not be buried beneath promotional reassurance. + +Do not name or link any non-public organisation portal. Existing private deployments are not public examples. + +## Visual character + +Leave the current CorpusKit site behind completely. + +Do not retain its institutional green identity, graph-paper background, acid accents, heavy dark grotesque headlines, outlined information panels, numbered feature band or portal-card showcase. The new page needs a different colour world, different typographic voice and different underlying composition. A visitor familiar with the current page should not mistake this for a reskin. + +Move towards the colours of research materials and working tools rather than a conventional technology brand. Warm paper, carbon ink, photocopy grey, document blue, annotation red, faded tab colours and the occasional sharper signal all belong in the world. Choose a dominant colour relationship that makes links, citations and active evidence immediately legible. Colour should indicate purpose as often as it creates atmosphere. + +Avoid a rainbow of product categories. CorpusKit is one connected instrument. Restrained colour, used decisively, will make evidence states and the signature interaction more meaningful. + +Typography should bring the texture of reading into a modern product setting. Consider letterforms with some literary or archival character for the larger voice, supported by type that stays exceptionally clear inside interface material. The result should feel good around report titles, citations, technical details and plain-language explanations. Avoid both the current site’s compressed, blunt display weight and the generic oversized geometric typography common to software launches. + +Type should create authority through proportion and rhythm, not sheer scale. The Caitlyn references demonstrate confidence, air and disciplined composition, but do not follow their sparse startup structure or turn the page into a sequence of enormous slogans. + +## Composition and imagery + +Treat the page as an art-directed whole rather than a stack of interchangeable website blocks. + +Use space to establish relationships between the research, the answer and the evidence. Dense product material can sit beside areas of calm, much as a marked-up document rests on an otherwise clear desk. Repetition should build understanding rather than reveal a component library. + +The most valuable imagery is the product behaving truthfully. Interface fragments may be reframed, enlarged, layered or brought into conversation with source material, provided the relationship remains understandable. The goal is not a literal tour of every screen. It is to let someone see the system’s habits. + +If additional visual material is used, keep it rooted in the physical traces of research: annotations, index marks, tabs, passages, diagrams, document edges and connections. Avoid stock photography of offices, glowing brains, abstract data clouds, floating glass panels and synthetic three-dimensional objects with no relationship to the work. + +The finish should match or exceed the Caitlyn references in restraint, confidence and attention to proportion. CorpusKit should have more substance on the page because the product has more to demonstrate, but that substance must remain composed. + +## Motion + +Use ScrollSmoother to give the page a damped, settled scroll feel. + +Most of the page should simply sit there and hold its composition. Motion should be rare enough that each use has meaning. Let one signature sequence carry the expressive weight, ideally by revealing a relationship that matters to the product: answer to citation, citation to passage, question to collection or item to knowledge map. + +Other movement should support orientation, continuity or direct interaction. Avoid constant entrances, wandering objects, staggered text, parallax applied to every layer and effects that make the reader wait for content. Restraint is part of the premium quality bar. + +The page should remain convincing without motion. Reduced-motion behaviour should preserve the idea and hierarchy rather than feel like a diminished version. + +## Jobs the page must do + +These are outcomes, not a proposed page structure. They may overlap, recur or be solved in ways that do not resemble conventional sections. + +- Make the basic capability understandable through use rather than assertion +- Show why cited answers are different from unsupported answers +- Keep source passages, confidence and evidence quality close to the claims they qualify +- Reveal that CorpusKit supports several ways into a collection, including asking, searching, browsing and following relationships +- Show that a portal is maintained infrastructure, with tools for stewardship rather than a one-off search interface +- Help an organisation judge the code, licence, dependencies, governance and practical route to running the project +- Give contributors a credible route into the repository and current work +- Distinguish clearly between the open source application and separately connected services or research material +- Give existing users one clear sign-in affordance +- End with intention, leaving the reader with useful routes forward rather than a generic promotional footer or repeated pitch + +## Writing direction + +The builder will write every line of page copy from the approved brand document. + +Start from working capability. Use plain verbs such as find, ask, compare, open, save, check, run and contribute. Keep evidence close to the claim it supports. Name limits and dependencies directly. Refer to CorpusKit or the portal as doing the work, not a model or retrieval engine. + +Use Australian English throughout. + +All headings use sentence case and do not end in full stops. Do not use ampersands. Do not use em dashes; use a spaced en dash where that punctuation is needed. + +Do not use kicker labels or small category lines above headings. There are no eyebrows anywhere on the page. + +Avoid AI copy clichés, grand claims and language that turns uncertainty into theatre. Do not call CorpusKit a chatbot, copilot, intelligent platform, enterprise solution or single source of truth. Do not describe cited answers as definitive or authoritative. Do not substitute free for open source. + +The copy should sound like a careful maintainer explaining a useful piece of software to another capable person. + +## Product and access guardrails + +Anonymous visitors should encounter one sign-in affordance across the page. Do not repeat it in the navigation, body and ending. + +Sign-in is for people who already have access. It is not the primary story and should not compete with understanding the project. + +Do not imply that every connected service, deployment cost or research collection is covered by the Apache 2.0 licence. The licence applies to the CorpusKit application code. + +Do not make claims beyond the proof points in the approved brand document. If a product state is shown, it should correspond to something that exists. + +## Quality bar + +The page should feel premium because every element has a reason to be present. + +Pay particular attention to typographic fit, text wrapping, the credibility of product material, image treatment, responsive composition and the relationship between stillness and the signature moment. The result should feel authored at every viewport, not like a desktop composition compressed for smaller screens. + +Clarity and accessibility belong to the visual quality. Evidence links, states, confidence and interaction should remain understandable without depending on colour, fine print or animation alone. + +A strong final page will feel calm on first view, richer on inspection and straightforward when someone decides to act. + +## What belongs to the builder + +The page structure and section count are deliberately yours. + +You will decide the layout, hierarchy, responsive behaviour, exact visual devices, final colour values, typefaces, type scale, spacing, component treatment and motion detail. You will also write every line of copy in the approved voice. + +Choose what to omit as carefully as what to include. Interpret the direction with your own judgement. The requirement is not to reproduce a wireframe that has already been imagined. It is to create the clearest, most distinctive expression of CorpusKit as a working, inspectable open source research portal. \ No newline at end of file diff --git a/design/home-candidates/builder-constraints.md b/design/home-candidates/builder-constraints.md new file mode 100644 index 0000000..195a2dd --- /dev/null +++ b/design/home-candidates/builder-constraints.md @@ -0,0 +1,53 @@ +# Builder ground rules (apply to every candidate build) + +You are a senior designer-developer building a candidate redesign of the CorpusKit home page. +You have two creative inputs: a BRIEF (direction, not specification - interpret it with your +own design judgement; where it is silent or open, the decision is yours and you make it with +conviction) and the BRAND IDENTITY document (the product truth, values, personality, voice +rules, vocabulary and proof points). You write EVERY line of page copy yourself, fresh, in the +brand voice - the brief contains no copy on purpose. Ground factual claims in the brand +document's proof points; concrete numbers may use plausible placeholders flagged with an HTML +comment. + +## Copy rules + +Australian English. Sentence case headings; no full stops ending headings; no ampersands; no +em dashes (spaced en dash instead); no AI copy cliches ("It's not X, it's Y", punchy +single-sentence paragraphs); plain language, no jargon; no absolute or unfalsifiable claims. +NO EYEBROWS: no kicker label lines above headings, anywhere. One sign-in affordance for +anonymous visitors. The FRDC and GRDC portals are not public - never name or link them on the +page. Sign in links to /auth/login (inert +locally - fine). lang="en-AU"; title and meta description are yours to write. + +## Quality bar + +- PREMIUM. The single criterion is that the page actually looks and feels good - calm, + expensive, art-directed. The caitlyn.ai tier or above. +- It must look COMPLETELY DIFFERENT from the current corpuskit.org: different colours, + different fonts, different structure. Do not import the old site's palette, graph paper, + stationery motifs or type treatment from memory. +- MOTION RESTRAINT. Earlier builds were rejected for too much animation. Use ScrollSmoother's + damped scroll for the feel, and a small number of considered moments. Most of the page + simply sits there, composed. No animating everything, no constant ambient loops, no + per-element entrance choreography. One signature moment beats twenty effects. If in doubt, + don't animate it. +- Both viewports matter: compose desktop at 1280-1600 without stranding larger displays, and + resolve 390 px deliberately. + +## Technical rules + +- Deliverable: ONE fully self-contained HTML file at the exact output path you are given, + served locally over plain HTTP, viewed in Chrome. +- Everything inline (CSS and JS in the file) EXCEPT: + - GSAP from CDN, pinned: https://cdn.jsdelivr.net/npm/gsap@3.13.0/dist/gsap.min.js and the + same path pattern for plugins you actually use (ScrollTrigger.min.js, ScrollSmoother.min.js, + and others only if genuinely needed). Register plugins with gsap.registerPlugin(...). + - Google Fonts stylesheets for the faces you choose. Where you use intermediate weights, + load the variable axis (e.g. family=Name:wght@300..800) so they actually render. +- ScrollSmoother requires the wrapper/content structure: +
...page...
+ Fixed or sticky elements (the nav) sit OUTSIDE #smooth-content. +- No build step, no external images. Illustrations, textures and grain are CSS, inline SVG, or + tiny data URIs (an SVG feTurbulence noise filter is a good grain source). +- No console errors. Content must be visible without JS (motion is enhancement). +- Do not modify anything outside your single output file. diff --git a/design/home-candidates/claudebrief-claudebuild.html b/design/home-candidates/claudebrief-claudebuild.html new file mode 100644 index 0000000..6db2723 --- /dev/null +++ b/design/home-candidates/claudebrief-claudebuild.html @@ -0,0 +1,1021 @@ + + + + + +CorpusKit – an open source research portal + + + + + + + + + + + +
+ +
+ +
+
+ +
+ + +
+
+

Put your organisation’s research to work

+

CorpusKit is an open source research portal. Connect a research collection and people can search it, question it, browse its library and follow how the work connects – with every answer tied to passages they can open and check.

+ +
+ Apache 2.0 licence· + Self-hosted on your infrastructure· + Cited answers with plain-language confidence +
+
+
+ + + +
+
+
+

Answers that show their working

+

Ask a question and the portal answers from the collection – streamed as it is produced, with numbered citations, follow-up questions and a plain statement of how well the sources support it. Each citation opens the passage it rests on, so checking a claim takes one click, and what you get is the exact lines from the research source.

+
+
+
+
+
+ Question + How much do cool roofs lower indoor temperatures in summer? +
+
+ Cited answer +

Across the trials this collection holds, cool roof coatings lowered peak indoor temperatures by 2 to 4 °C in uninsulated buildings, with the benefit narrowing to about 1 °C where ceiling insulation was already in place. The effect was strongest during extended heat, when coated roof surfaces ran up to 20 °C cooler than dark ones. Measured savings on cooling energy varied widely with building type and occupancy, so figures from any single site are best read as indicative.

+
+ Confidence moderate + Relevance high + Groundedness high + Context moderate +
+

The retrieved sources support most of this answer – check the citations before relying on the exact figures.

+
+
+ +
+
In the six uninsulated demountable classrooms, coated roofs reduced peak indoor air temperature by 2.1 to 3.8 °C across both summers, with roof surface temperatures up to 19.6 °C lower than the matched dark-roof controls. + Matched passage · page 34 +
+
+
+
+ +
+
Where ceiling insulation of R2.5 or better was present, the additional benefit of a coated or light roof narrowed to between 0.8 and 1.2 °C at the afternoon peak. + Matched passage · page 11 +
+
+
+
+ +
+
Measured cooling energy savings ranged from 4 to 27 per cent between sites, and were driven more by occupancy patterns and thermostat settings than by roof treatment alone. + Matched passage · page 58 +
+
+
+
+
+ Follow-up questions + Do green roofs cool interiors further? + What do coatings cost per square metre? +
+
+
+
Select a citation to open the matched passage behind it.
+
+ +
+
+
+ + +
+
+
+

When the evidence is thin, it says so

+

Research rarely hands over one clean answer, and a portal that pretends otherwise teaches its readers to stop checking. So CorpusKit marks its weak moments in plain sight – that candour is what makes the strong answers worth trusting.

+
+
+
+
+
Night-time cooling rates in coastal suburbs
+
Report · 2017 · Relevance 0.31
+ Weak match +

Below the relevance threshold for this search.

+
+
Weak matches are labelled where they stand, with calibrated scores beside them.
+
+
+
+

Low confidence – use this answer as a lead. The retrieved passages only partly cover the question, so check the cited sources before relying on it.

+
+
Confidence is stated in plain language, with what to do about it.
+
+
+
+
No direct evidence found
+

The collection does not hold enough to answer this question. Try a narrower question, or browse the topic to see what related work exists.

+
+
When the collection cannot support an answer, the portal says so instead of producing one anyway.
+
+
+
+
+ + +
+
+
+

Search, the library and the map

+

Ask is one door into a collection. The rest of the portal is built for the days when you would rather look than ask.

+
+ +
+
+

Search shows what matched

+

Results arrive ranked and scored, each carrying the passage that made it relevant, so you can judge a result before you open it. A short cited answer sits above the results by default; hide it and work from the results alone whenever that suits the job better.

+

Hybrid, semantic and keyword modes, filters for topic and document kind, and watched searches that check for changed results daily.

+
+
+
+
+
+ + street tree canopy and afternoon heat + Search +
+
+ Hybrid + Semantic + Keyword + Topic: Urban greening + Hide cited answer +
+
+ Cited answer + Along the monitored streets, each 10 per cent increase in canopy cover was associated with about a 1 °C drop in mean afternoon surface temperature [1]. +
+
+
Street tree canopy and summer surface temperatures in three inland towns
+
Report · 2020 · Relevance 0.91
+

…each 10 per cent increase in canopy cover was associated with a 1.1 °C reduction in mean afternoon surface temperature along the monitored streets…

+
+
+
Species selection for drought-hardy shade trees
+
Guideline · 2018 · Relevance 0.84
+

…broad-crowned species delivered roughly twice the midday shade area of columnar forms by year ten…

+
+
+ Watch this search + Summarise these results + 2 of 41 results +
+
+
Search results as the portal presents them, with the passages that matched.
+
+
+
+ +
+
+

A library set out for reading

+

Every resource is presented as a research item with a clear title, a summary, key takeaways and notable quotes, whatever the underlying file was called. Open one and the original document sits beside its extracted text, its related resources, and a cited conversation held against that document alone.

+

Search, sort and filter the whole catalogue, in grid or list view.

+
+
+
+
+
+ Report · 2022 +
Cooling the west: heat and housing on the urban fringe
+

Pairs street-level heat mapping with household interviews to show where extreme heat lands hardest, and which retrofits residents take up.

+ 4 key takeaways · 2 notable quotes +
+
+ Evaluation · 2021 +
Green roof maintenance costs over ten years
+

Tracks establishment and upkeep costs across 14 installations, with a plain comparison against conventional roofing.

+ 3 key takeaways · Key facts +
+
+ Video · 2023 +
Designing cool schoolyards
+

A recorded seminar on shade planning for play spaces, with the speaker’s worked examples.

+ Transcript · Related resources +
+
+
Resources carry generated titles and summaries – never a bare filename.
+
+
+
+ +
+
+

The shape of the collection

+

The knowledge map shows what the research is about: the entities in it, the relationships between them, and a concept view of topics that occur together. Inspect a connection and the portal opens the resources behind it, so even the map answers to its sources.

+

Search the map, filter it, and move between entity and concept views.

+
+
+
+
+
+ Entities + Concepts + + + Search the map + +
+
+ + + + + + + + + + + moderates + reduces + affects + lowers + concentrates in + + + + Urban heat island + + Tree canopy + + Cool roofs + + Heat health + + Public housing + + Energy use + + +
+
+
Tree canopy moderates Urban heat island
+
6 resources behind this connection
+
+
+
The entity view of a small collection, with one connection inspected.
+
+
+
+
+
+ + +
+
+
+

Run it yourself

+

CorpusKit is published under the Apache 2.0 licence, and the repository holds the whole application: shared types, retrieval integration, tests, build tasks and deployment configuration. Clone it, connect a collection and run the portal on infrastructure you choose.

+
+
+
+

One deployment can serve several organisation-specific portals from configuration alone, each with its own name, identity, topics and collection. Content storage and retrieval run on a connected knowledge service, so a deployment needs an account with one; the application itself is yours to run, change and redistribute.

+ +
+
git clone https://github.com/corpuskit/corpuskit.git
+cd corpuskit
+cp .env.example .env   # add knowledge service credentials
+deno task dev
+Portal running at http://localhost:8790
+
+

The short version. The repository documents the full setup, containers included.

+
+
+
Licence
Apache 2.0
+
Runs on
Your own infrastructure, with documented local setup and container configuration
+
Requires
An account with a connected knowledge service, which handles content storage and retrieval
+
State
SQLite-backed durable storage
+
Portals
Several per deployment, defined in configuration
+
External tools
Read-only MCP connector, with portal-scoped access keys an administrator can issue and revoke
+
Administration
Microsoft sign-in with an administrator role
+
+
+

The project is looked after like infrastructure. Every change runs the same checks before it lands – typecheck, lint, tests and a build – and the repository says what exists now and what remains unfinished, so you can judge the state of things before committing to them.

+
+
+ + +
+
+
+

Help look after it

+

CorpusKit is developed in the open, and the people who run portals are often the people improving them. Code, design, documentation and tests all take contributions, and the standard is the same for everyone: a change says what it does, carries tests where behaviour changes, and passes the checks every other change passes.

+

If you are new to the project, start small and concrete: report a problem with enough detail to reproduce it, improve a page of documentation you found wanting, or pick up an issue marked for first-time contributors. Not sure where something belongs? Open an issue and ask.

+ +

Read the contributing guide →

+
+
+
+ + +
+
+

Put it to work

+
+
+

Use a portal

+

If your organisation runs one, start with a question you actually need answered, then open the citations behind whatever comes back. The habit of checking is the whole point.

+
+
+

Run your own

+

Clone the repository, connect a research collection and stand up a portal your organisation controls end to end.

+ + View the repository → +
+
+

Help look after it

+

Report what is broken, improve what is unclear, and leave the project better than you found it.

+ Read the contributing guide → +
+
+
+
+ +
+ + + +
+
+ + + + + + + diff --git a/design/home-candidates/claudebrief-codexbuild.html b/design/home-candidates/claudebrief-codexbuild.html new file mode 100644 index 0000000..c230aa2 --- /dev/null +++ b/design/home-candidates/claudebrief-codexbuild.html @@ -0,0 +1,958 @@ + + + + + + + + CorpusKit – research with the evidence in reach + + + + + + + + + + +
+
+
+
+

Research with the evidence in reach

+
+

CorpusKit is an open source portal for finding, questioning and exploring a research collection. Every answer stays connected to the sources and passages that support it.

+ See the portal at work +
+
+

Open source under Apache 2.0
Inspect, run, change and contribute

+

Browse · Search · Ask · Check · Map

+
+
+ +
+
+
+

The answer carries its working

+

Open a citation to read the matched passage. Confidence stays beside the answer, including when the sources only partly support it.

+
+ + +
+
+ Field notes + + Research portal +
+ +
+
+ + + + +
+ +
+
+

What helps public buildings stay useful during extreme heat?

+
+

Asked across the whole collection

+
+
+

Shaded approaches and external blinds can reduce heat before it reaches the building. Plans should also identify a cooler internal room and set clear thresholds for changing how a space is used.

+

The sources suggest that these changes work best when they are paired with local heat procedures, but they do not compare every building type.

+
Moderate confidenceCheck the cited sources before relying on this answer
+
+ +
+
No direct evidence found
The collection does not compare the running costs of these measures across building types.
+
+
+ + + + + + +
+
+
+ +
+

Cited answers

Numbered citations connect each claim to the research source behind it.

+

Matched passages

Search results show the excerpt that made each resource relevant.

+

Visible confidence

Quality signals cover relevance, groundedness and context in plain language.

+

Honest gaps

Weak matches are labelled, and unsupported questions can be declined.

+
+
+
+ +
+
+

Keep the whole collection within reach

+

The Library presents reports, webpages, recordings and other material as research items. Read a summary, note the key takeaways, open the original, or ask a cited question against one document.

+
+
+
+

Regional facilities condition study

+

Research study · Updated May 2025

+
+

Maintenance plans are most useful when condition, access and seasonal demand are considered together.

+
+
+

Heat response planning guide

+

Practice guide · Updated February 2025

+
+
+ Open the passage
behind the note
+
+
+ +
+
+
+

Run the project on your terms

+

The complete application is published under the Apache 2.0 licence. One deployment can serve multiple organisation-specific portals, each shaped around its own research collection.

+
+
+
+
TerminalLocal setup
+
$ git clone https://github.com/corpuskit/corpuskit.git
+$ cd corpuskit
+$ npm install
+$ npm run dev
+
+
+
What is includedApplication code, shared types, tests, build tasks and deployment configuration
+
What you connectAn account with a knowledge service for content storage and retrieval
+
Where it runsYour chosen infrastructure, with documented local and container setup
+
+ +
+
+
+ +
+
Open code deserves open working
+
+

The repository shows what exists, how it is checked and where work remains.

+

Developers, designers, researchers and documentation writers can report a problem or propose a change. Contributions are reviewed against the same standard as the product: clear behaviour, evidence where it matters, and tests for the change.

+

Known limits belong in the open. A useful contribution can be a careful bug report, clearer documentation, a stronger test or a focused improvement to the portal.

+ Read the contribution guide +
+
+ +
+

Bring the research closer to the people who use it

+
+

Use a portal

Search, browse and ask questions in a CorpusKit portal run by your organisation.

See how it works
+

Run CorpusKit

Inspect the code, connect a research collection and maintain the deployment yourself.

View the repository
+ +
+
+
+ +
+

CorpusKit is open source under Apache 2.0

+

Built for research that needs to be checked

+
+
+
+ + + + + + + diff --git a/design/home-candidates/codexbrief-claudebuild.html b/design/home-candidates/codexbrief-claudebuild.html new file mode 100644 index 0000000..4d7fe27 --- /dev/null +++ b/design/home-candidates/codexbrief-claudebuild.html @@ -0,0 +1,1291 @@ + + + + + +CorpusKit – an open source research portal + + + + + + + + + + + + +
+
+
+ + +
+
+
+

Put your organisation's research to work

+

CorpusKit is an open source research portal. Connect a research collection and people can search it, ask questions that come back with numbered citations, browse the Library and follow the relationships between resources. The evidence stays within reach the whole time, so checking a claim is part of finding it.

+ +

Published under the Apache 2.0 licence. Runs on your own infrastructure.

+
+ + +
+
+ + +
+
+
+
+

An answer you can take apart

+

A cited answer is a claim with its working attached. Follow one claim from the answer back to the passage that supports it.

+
+ +
+
+

Meadows recovered to near their pre-flood extent within three growing seasons, though recovery was slower where winter turbidity stayed above the long-term median 2.

+
    +
  1. 1Each claim in the answer carries a numbered citation
  2. +
  3. 2The citation opens the research source behind it
  4. +
  5. 3The matched passage is marked in the source itself
  6. +
  7. 4Confidence states, in plain language, how well the sources hold the answer up
  8. +
+
+ +
+
+
+

Turbidity and light limitation in flood-affected estuaries

+

report · 2023 · water quality · 148 pages

+

Sites where mean winter turbidity remained above the long-term median showed significantly slower recovery of seagrass extent over the two years following the floods. At these sites, light at the canopy fell below the minimum requirement for Zostera muelleri on 63 per cent of monitored days.

+ matched passage · page 41 +
+
+ + +
+ + +
+
+
+
+ + +
+
+
+
+
+

It can say no

+

Not every question has support in a collection, and pretending otherwise is how research tools lose trust. CorpusKit labels weak matches, states low confidence plainly and will answer with nothing rather than a confident guess.

+
+

Administrators see the same candour. Knowledge-gap reporting shows what people asked that the collection could not answer, so the gaps become work rather than surprises.

+
+
+
+

Do cormorant numbers affect seagrass recovery?

+
+

No direct evidence found

+

No passages in this collection directly answer this question. Try a narrower question, or browse the topic Estuary condition.

+
+
+
+ Low confidence – treat this answer as a lead and check the cited sources + shown on answers the sources only partly support +
+
+
+
+
+ + +
+
+
+

More than one way in

+

People arrive differently – with a question, a half-remembered report, a topic to browse or a hunch that two things are connected. A portal keeps all of those routes open.

+
+ + +
+
+

Search, with the passages that matched

+
+

Results are ranked resources, each showing the passage that made it relevant, with calibrated scores and filters for topic and document kind. Hybrid, semantic and keyword modes are a click apart.

+

A short cited answer sits above the results by default. Hide it and work with the passages alone, summarise a set of results, or watch a search and hear when its results change.

+
+
+
+ Search +
+
+ winter turbidity thresholds +
hybridsemantickeyword
+
+
+ Topic: water quality + Kind: report +
+
+
Turbidity and light limitation in flood-affected estuaries0.87
+

report · 2023

+

…sites where mean winter turbidity remained above the long-term median showed significantly slower recovery…

+
+
+
Catchment sediment sources after the 2022 floods0.74
+

technical report · 2024

+

…bank erosion in the upper catchment contributed an estimated two thirds of the fine sediment load reaching the estuary…

+
+
+
Recreational water quality guidelines reviewweak match · 0.41
+

review · 2019

+
+
Cited answer shown above resultsWatch this search
+
+
+
+ + +
+
+

Ask, as a continuing conversation

+
+

Answers stream in with numbered citations, the sources behind them and suggested follow-ups. Answer quality reports relevance, groundedness and context, and confidence is stated in plain language rather than a score alone.

+

Deep research takes a broad question and maps it into focused sub-questions before answering. Sessions can be saved, renamed and exported, so a line of enquiry can be picked up where it stopped.

+
+
+
+ Ask +
+

How has estuary condition changed since 2019, and what drove the change?

+

Deep research · mapping the question

+
    +
  1. 1Which condition indicators are tracked across the estuaries?answered · 6 sources
  2. +
  3. 2How did each indicator move between 2019 and 2024?answered · 9 sources
  4. +
  5. 3Which drivers does the research link to those movements?answering…
  6. +
+
Session savedRenameExport
+
+
+
+ + +
+
+

A Library of research items, not filenames

+
+

Every resource carries a clear title, a summary, key takeaways and notable quotes, whatever the underlying file was called. Search, sort and filter the catalogue, in grid or list view.

+

A resource page shows the original document, the extracted text, related resources and a conversation limited to that one document, so a question can be put to a single report instead of the whole collection.

+
+
+
+ Library +
+
+ All kinds + Report + Plan + Submission +
+
+
+ Report · 2023 +

Estuarine seagrass condition assessment 2019 to 2023

+

Five years of condition monitoring across five estuaries, covering extent, density and light availability.

+
seagrassmonitoring
+
+
+ Technical report · 2024 +

Catchment sediment sources after the 2022 floods

+

Traces fine sediment reaching the estuary to its catchment sources and ranks management options.

+
sedimentcatchment
+
+
+
412 resources · sorted by recently added
+
+
+
+ + +
+
+

A map of what the collection knows

+
+

The entity view shows the things the research talks about and the relationships between them. The concept view shows which topics and document kinds occur together.

+

Search the map, filter it, inspect a connection and open the resources behind it. The map is drawn from the collection, not laid over it, and it reflects the entities and relationships configured for each portal.

+
+
+
+ Knowledge map +
+
+ + + + + + + + + increased + reduces · 4 resources + limits + grows in + + + + 2022 floods + + + + winter turbidity + + + + light at the canopy + + + + seagrass extent + + + + Zostera muelleri + + +
+
Entity viewConcept view
+
+
+
+
+
+ + +
+
+
+

Maintained like infrastructure

+

A research portal earns trust slowly and loses it quickly. Manage treats the collection as something looked after, not loaded once.

+
+ +
+
+

Administrators add files, text and webpages, register website sources and schedule synchronisation. Collection health finds what went wrong – failed extractions, bot-challenge pages, resources with almost no text – and drafts stay out of public retrieval until they are ready.

+

Analysing the collection refreshes its topics, document kinds, suggested questions and the structure of the knowledge map as the research grows, so the portal keeps describing the collection it actually holds.

+
+
+ Manage +
+
Collection health418 resources · 3 need attention
+
extraction failedScanned appendix, floodplain inquiry 1996Retry
+
bot challengeCouncil planning portal pageOpen
+
very little textField photo set, March surveyReview
+
2 drafts held from public retrievalWebsite sync · nightly
+
+
+
+ +
+
+

Read-only access for approved tools

+
+

The MCP connector lets an approved external research tool search the collection, request a cited answer, retrieve a document and browse the catalogue. Access is read-only and scoped to one portal.

+

Access keys are issued by an administrator, shown once and revocable at any time. The credential for the underlying content service never leaves the server.

+
+
+
+

One deployment, several portals

+
+

Each portal has its own name, identity, topics, suggested questions and knowledge-map structure, served from configuration rather than separate branches of the application.

+

The portals differ where their collections differ. The system underneath stays the same, which is what makes it maintainable.

+
+
+
+
+
+ + +
+
+
+

Run it yourself

+

The application code is published under the Apache 2.0 licence. Clone it, connect a collection and run the portal on infrastructure you choose and manage.

+
+ +
+
+

The repository holds the application, shared types, retrieval integration, tests, build tasks and deployment configuration – the same code that serves the live portals, with documented local setup and container configuration.

+

One boundary matters when you plan a deployment: content storage and retrieval run on a connected knowledge service, and a deployment needs its own account with one. The Apache 2.0 licence covers the CorpusKit application code; connected services and the research material itself have their own terms.

+
+
+ +
# clone, configure, run
+git clone https://github.com/corpuskit/corpuskit
+cd corpuskit
+cp .env.example .env   # knowledge service account
+deno task dev
+

local setup and container configuration are documented in the repository

+
+
+ +
+
+

How changes are checked

+
+

Every change lands through a pull request. Typechecking, linting, formatting, tests and a full build run on each one, and a red check does not merge. What deploys is what was reviewed.

+

The same gate applies to maintainers and first-time contributors, which keeps the standard visible instead of implied.

+
+
+
+

Worth knowing before you commit

+
    +
  • A deployment needs an account with a connected knowledge service for content storage, retrieval and generation
  • +
  • Administrator sign-in supports Microsoft accounts today
  • +
  • Application state is kept in SQLite-backed durable storage – simple to operate, and worth understanding before you scale
  • +
  • The issue tracker names current gaps and unfinished areas – read it as part of an evaluation
  • +
+
+
+
+
+ + +
+
+
+

Contributing

+
+
+

CorpusKit is built by developers, designers, researchers and documentation writers working from the same repository that runs the portals. Small contributions are genuinely useful: a careful bug report, a fix with a test, a clearer paragraph of documentation.

+

Open issues are labelled so you can tell what is ready to pick up, what is under discussion and what remains unfinished. Every change runs the same checks as a maintainer's, and a maintainer reads everything before it lands.

+
+
+
+ + +
+ +
+ +
+
+
+ + + + + + + + diff --git a/design/home-candidates/codexbrief-codexbuild.html b/design/home-candidates/codexbrief-codexbuild.html new file mode 100644 index 0000000..797d40f --- /dev/null +++ b/design/home-candidates/codexbrief-codexbuild.html @@ -0,0 +1,1486 @@ + + + + + + CorpusKit – Put your organisation’s research to work + + + + + + + + + + + +
+
+
+
+
+

Put your organisation’s research to work

+

Search a research collection, ask cited questions and open the passages behind each answer. CorpusKit keeps useful findings connected to the material that supports them.

+ +
+ +
+ + +
+

A collection with more than one way in

+

Start with a question, a known report, a topic or a connection. The research stays within reach as you move.

+
+
01Ask a cited questionAnswer
+
02Find a matched passageSearch
+
03Browse every resourceLibrary
+
04Follow a relationshipMap
+
+
+ sources remain open + confidence stays visible +
+
+ +
+
+

An answer you can follow back to its source

+

CorpusKit places the answer, its confidence and the relevant passages in one line of sight. Select a citation to inspect what supports that part of the answer.

+
+ + +
+
+ + Coastal Research Library + Collection available +
+ +
+
+
How does restoring tidal flow help coastal wetlands adapt?
+
+ Cited answer + 3 sources + Moderate confidence +
+

Restored tidal exchange can support wetland recovery, with outcomes shaped by local conditions

+
+

Across the retrieved sources, reopening tidal connections is associated with improved water exchange and the return of saltmarsh vegetation in some modified wetlands .

+

The evidence also shows that results depend on site elevation, sediment movement and the condition of existing channels . The collection does not provide a direct comparison of long-term outcomes across every restoration method .

+
+
+
RelevanceHigh
+
GroundednessModerate
+
ContextModerate
+
+
+ +
+
+ + + +
+
+
+
Matched passageReportPage 38
+

Restoring tidal exchange in modified coastal wetlands

+
+

Monitoring showed that the reopened channels changed the frequency and reach of tidal exchange across the study sites.

+

Saltmarsh vegetation returned in areas where water movement improved and elevation remained suitable for establishment.

+

The report recommends continued monitoring because early vegetation response does not establish long-term resilience.

+
+ +
+
+
Matched passageEvidence reviewPage 17
+

Conditions affecting wetland restoration outcomes

+
+

Site response varied across the reviewed restoration projects.

+

Elevation, sediment supply and the condition of existing channels were recurring influences on the extent and pace of recovery.

+

The review cautions against applying a single expected outcome across sites with different physical settings.

+
+ +
+
+
Weak matchTechnical notePage 9
+

Reviewing long-term measures for coastal projects

+
+

The note identifies differences in monitoring periods and measures across the available project reports.

+

No direct evidence was found that compares long-term outcomes across every restoration method in the collection.

+

Treat this result as a lead and check the sources before relying on it.

+
+ +
+
+
+ + +
+
+ +
+

Open the underlying material

Each citation links to the research source, not a detached summary.

+

Read confidence in plain language

High, moderate, low and unscored states stay close to the answer they qualify.

+

Keep uncertainty in view

Weak matches and missing direct evidence remain visible when the collection cannot support more.

+
+
+ +
+
+

Work from the question, the passage or the whole collection

+

A portal supports different research habits without separating them into different systems.

+
+
+
+
Search
+

See why a resource matched

+

Compare ranked resources, matched passages and relevance. Switch between hybrid, semantic and keyword search.

+
+
+
Ask
+

Carry a question further

+

Save a continuing cited conversation, follow a suggested question or break broad work into focused questions.

+
+
+
Library
+

Browse research as research

+

Filter the full catalogue and open the original file, extracted text, transcript or related resources where available.

+
+
+
+ +
+
+
+

Follow the structure already inside the research

+

The knowledge map shows entities, relationships and topic overlaps configured for a portal. Inspect a connection, then open the resources behind it.

+ See how the structure is maintained +
+ +
+ + + + +
Wetland restoration
+
Tidal flow
+
Sediment
+
Saltmarsh
+
Monitoring
+
+
+
+ +
+
+

A useful portal is looked after

+

Manage gives content stewards one place to add research, check processing, hold drafts, maintain the taxonomy and see where the collection needs attention.

+
+
+
+ 01 +

Website sources

Register sources and run or schedule synchronisation when published research changes.

+ Scheduled +
+
+ 02 +

Collection health

Find failed ingests, bot-challenge pages and resources with very little extracted text.

+ Needs review +
+
+ 03 +

Publishing control

Keep a resource as a draft and outside public retrieval until it is ready.

+ Draft +
+
+ 04 +

Collection structure

Analyse the connected material to update topics, document kinds, suggested questions and map dimensions.

+ Current +
+
+
+ +
+
+
+

Inspect the same project you can run

+

The CorpusKit application is published under the Apache 2.0 licence. The repository includes the application, shared types, retrieval integration, tests, build tasks and deployment configuration.

+ +
+
+
Licence
Apache 2.0 for the CorpusKit application code
+
Run it
Documented local setup and container configuration support running outside the hosted service
+
Shape it
One deployment can serve organisation-specific portals with their own identity, topics and map structure
+
Check changes
Tests and build tasks are included in the repository for maintainers and contributors to inspect
+
Tool access
A portal-scoped MCP connector gives approved research tools read-only access through revocable keys
+
+
+
+

What a deployment needs

+

CorpusKit connects to a separate knowledge service for content storage and retrieval. Running the application requires an account with that service. Infrastructure, connected services and research material can have their own costs, licences and terms.

+
+
+ +
+ +
+ + + CorpusKit + + Open source research portal +

Application code licensed under Apache 2.0

+
+
+
+
+
+ + + + + + + diff --git a/design/home-candidates/index.html b/design/home-candidates/index.html new file mode 100644 index 0000000..04a9eb9 --- /dev/null +++ b/design/home-candidates/index.html @@ -0,0 +1,54 @@ + + + + + +CorpusKit candidates + + + + +
+

Design bake-off · 1 September 2026

+

CorpusKit home page candidates

+

Two briefs, two builders, four pages. Open each full screen; check desktop and 390 px.

+
    +
  1. + Candidate A
    Claude brief · Claude build
    + CB × CB
  2. +
  3. + Candidate B
    Claude brief · Codex build
    + CB × CX
  4. +
  5. + Candidate C
    Codex brief · Claude build
    + CX × CB
  6. +
  7. + Candidate D
    Codex brief · Codex build
    + CX × CX
  8. +
+
Served from the session scratchpad · candidates are standalone prototypes, not the deployed app
+
+ + From c3197d981dd34b6cbebbfdf5bac1a365baa8c5d0 Mon Sep 17 00:00:00 2001 From: Rihana Date: Tue, 1 Sep 2026 22:12:33 +1000 Subject: [PATCH 02/28] Add the B2 variant: sans heading options and the ported evidence section Candidate B with a corner switcher that swaps the heading face live between the current Newsreader serif and four sans options (IBM Plex Sans, Schibsted Grotesk, Geist, Archivo), each tuned for weight, tracking and leading. Also ports candidate C's answer-anatomy section in after the workings band, restyled to B's palette. Original B is untouched; the chooser gains a B2 entry. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01FGCckNuKKVbyZ7yvFUYp98 --- design/home-candidates/b-sans.html | 1129 ++++++++++++++++++++++++++++ design/home-candidates/index.html | 3 + 2 files changed, 1132 insertions(+) create mode 100644 design/home-candidates/b-sans.html diff --git a/design/home-candidates/b-sans.html b/design/home-candidates/b-sans.html new file mode 100644 index 0000000..6114c3a --- /dev/null +++ b/design/home-candidates/b-sans.html @@ -0,0 +1,1129 @@ + + + + + + + + CorpusKit – research with the evidence in reach + + + + + + + + + + +
+
+
+
+

Research with the evidence in reach

+
+

CorpusKit is an open source portal for finding, questioning and exploring a research collection. Every answer stays connected to the sources and passages that support it.

+ See the portal at work +
+
+

Open source under Apache 2.0
Inspect, run, change and contribute

+

Browse · Search · Ask · Check · Map

+
+
+ +
+
+
+

The answer carries its working

+

Open a citation to read the matched passage. Confidence stays beside the answer, including when the sources only partly support it.

+
+ + +
+
+ Field notes + + Research portal +
+ +
+
+ + + + +
+ +
+
+

What helps public buildings stay useful during extreme heat?

+
+

Asked across the whole collection

+
+
+

Shaded approaches and external blinds can reduce heat before it reaches the building. Plans should also identify a cooler internal room and set clear thresholds for changing how a space is used.

+

The sources suggest that these changes work best when they are paired with local heat procedures, but they do not compare every building type.

+
Moderate confidenceCheck the cited sources before relying on this answer
+
+ +
+
No direct evidence found
The collection does not compare the running costs of these measures across building types.
+
+
+ + + + + + +
+
+
+ +
+

Cited answers

Numbered citations connect each claim to the research source behind it.

+

Matched passages

Search results show the excerpt that made each resource relevant.

+

Visible confidence

Quality signals cover relevance, groundedness and context in plain language.

+

Honest gaps

Weak matches are labelled, and unsupported questions can be declined.

+
+
+
+ +
+
+
+

An answer you can take apart

+

A cited answer is a claim with its working attached. Follow one claim from the answer back to the passage that supports it.

+
+
+
+

Meadows recovered to near their pre-flood extent within three growing seasons, though recovery was slower where winter turbidity stayed above the long-term median 2.

+
    +
  1. 1Each claim in the answer carries a numbered citation
  2. +
  3. 2The citation opens the research source behind it
  4. +
  5. 3The matched passage is marked in the source itself
  6. +
  7. 4Confidence states, in plain language, how well the sources hold the answer up
  8. +
+
+
+
+

Turbidity and light limitation in flood-affected estuaries

+

report · 2023 · water quality · 148 pages

+

Sites where mean winter turbidity remained above the long-term median showed significantly slower recovery of seagrass extent over the two years following the floods. At these sites, light at the canopy fell below the minimum requirement for Zostera muelleri on 63 per cent of monitored days.

+ matched passage · page 41 +
+ +
+
+
+
+ +
+
+

Keep the whole collection within reach

+

The Library presents reports, webpages, recordings and other material as research items. Read a summary, note the key takeaways, open the original, or ask a cited question against one document.

+
+
+
+

Regional facilities condition study

+

Research study · Updated May 2025

+
+

Maintenance plans are most useful when condition, access and seasonal demand are considered together.

+
+
+

Heat response planning guide

+

Practice guide · Updated February 2025

+
+
+ Open the passage
behind the note
+
+
+ +
+
+
+

Run the project on your terms

+

The complete application is published under the Apache 2.0 licence. One deployment can serve multiple organisation-specific portals, each shaped around its own research collection.

+
+
+
+
TerminalLocal setup
+
$ git clone https://github.com/corpuskit/corpuskit.git
+$ cd corpuskit
+$ npm install
+$ npm run dev
+
+
+
What is includedApplication code, shared types, tests, build tasks and deployment configuration
+
What you connectAn account with a knowledge service for content storage and retrieval
+
Where it runsYour chosen infrastructure, with documented local and container setup
+
+ +
+
+
+ +
+
Open code deserves open working
+
+

The repository shows what exists, how it is checked and where work remains.

+

Developers, designers, researchers and documentation writers can report a problem or propose a change. Contributions are reviewed against the same standard as the product: clear behaviour, evidence where it matters, and tests for the change.

+

Known limits belong in the open. A useful contribution can be a careful bug report, clearer documentation, a stronger test or a focused improvement to the portal.

+ Read the contribution guide +
+
+ +
+

Bring the research closer to the people who use it

+
+

Use a portal

Search, browse and ask questions in a CorpusKit portal run by your organisation.

See how it works
+

Run CorpusKit

Inspect the code, connect a research collection and maintain the deployment yourself.

View the repository
+ +
+
+
+ +
+

CorpusKit is open source under Apache 2.0

+

Built for research that needs to be checked

+
+
+
+ + + + + +
+ heading + + + + + +
+ + + diff --git a/design/home-candidates/index.html b/design/home-candidates/index.html index 04a9eb9..e3cca3f 100644 --- a/design/home-candidates/index.html +++ b/design/home-candidates/index.html @@ -47,6 +47,9 @@

CorpusKit home page candidates

  • Candidate D
    Codex brief · Codex build
    CX × CX
  • +
  • + B2 · sans heading options
    Candidate B with a heading-font switcher and the evidence section ported from C
    + B+
  • Served from the session scratchpad · candidates are standalone prototypes, not the deployed app
    From 38380eba21e7408d4edca55496e1ee020a97181c Mon Sep 17 00:00:00 2001 From: Rihana Date: Tue, 1 Sep 2026 22:17:15 +1000 Subject: [PATCH 03/28] Switch the remaining chrome headings with the display font option The capability-notes row, the closing next-step headings and the stewardship display quote now follow the switcher; portal-mock content (the asked question, result titles, passages) and the wordmark stay serif deliberately as the product's reading voice. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01FGCckNuKKVbyZ7yvFUYp98 --- design/home-candidates/b-sans.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/design/home-candidates/b-sans.html b/design/home-candidates/b-sans.html index 6114c3a..c4a89ba 100644 --- a/design/home-candidates/b-sans.html +++ b/design/home-candidates/b-sans.html @@ -472,7 +472,7 @@ } .capability-notes article { padding: 1.5rem 1.5rem 0 0; } - .capability-notes h3 { margin: 0 0 .55rem; color: var(--paper-soft); font-family: var(--serif); font-size: 1.3rem; font-weight: 500; } + .capability-notes h3 { margin: 0 0 .55rem; color: var(--paper-soft); font-family: var(--display); font-size: 1.3rem; font-weight: 500; } .capability-notes p { margin: 0; color: #aaa69d; font-size: .91rem; } .library-section { @@ -554,7 +554,7 @@ .stewardship blockquote { margin: 0; - font-family: var(--serif); + font-family: var(--display); font-size: clamp(2.8rem, 5.2vw, 6.2rem); font-weight: 350; line-height: .98; @@ -581,7 +581,7 @@ .closing h2 em { color: var(--blue); font-weight: 350; } .next-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 7rem; background: var(--rule); border: 1px solid var(--rule); } .next-step { min-height: 200px; padding: 1.6rem; background: var(--paper); display: flex; flex-direction: column; } - .next-step h3 { margin: 0 0 .6rem; font-family: var(--serif); font-size: 1.55rem; font-weight: 500; } + .next-step h3 { margin: 0 0 .6rem; font-family: var(--display); font-size: 1.55rem; font-weight: 500; } .next-step p { margin: 0; color: var(--ink-soft); font-size: .94rem; } .next-step a { margin-top: auto; align-self: flex-start; color: var(--blue-dark); font-weight: 600; } From bddff12cfa8de3beeb15431b8112dba0545e237f Mon Sep 17 00:00:00 2001 From: Rihana Date: Tue, 1 Sep 2026 22:25:05 +1000 Subject: [PATCH 04/28] Swap the Geist heading option for Source Sans 3 Lets the body face be compared as the heading face; Source Sans 3 is loaded across its variable range so the display weight renders true. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01FGCckNuKKVbyZ7yvFUYp98 --- design/home-candidates/b-sans.html | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/design/home-candidates/b-sans.html b/design/home-candidates/b-sans.html index c4a89ba..e367f07 100644 --- a/design/home-candidates/b-sans.html +++ b/design/home-candidates/b-sans.html @@ -8,7 +8,7 @@ CorpusKit – research with the evidence in reach - +