Skip to content

feat(academia): add /academia with a full Ekphrasis write-up - #36

Open
Adebesin-Cell wants to merge 1 commit into
mainfrom
feat/academia-section
Open

feat(academia): add /academia with a full Ekphrasis write-up#36
Adebesin-Cell wants to merge 1 commit into
mainfrom
feat/academia-section

Conversation

@Adebesin-Cell

Copy link
Copy Markdown
Owner

🔗 Linked issue

N/A. No tracking issue.

🧭 Context

Ekphrasis was two links on the site, one on the homepage and one in the projects list, both pointing at a GitHub repo that is private. Anyone who clicked either got a 404. That is the worst version of showing your work.

So it gets a page. And since the final-year project shouldn't be the only academic thing this site ever holds, the page lives under a section rather than on its own: /academia takes the research, /academia/ekphrasis is the first entry. A second paper is one object in an array.

Preview /academia and /academia/ekphrasis.

📚 Description

New pages. app/pages/academia/index.vue is the section index, currently one card. app/pages/academia/ekphrasis.vue is the write-up: overview, what it does, interface, architecture, results, what I want to try next, known limits, and what to read first.

The results section is the part I care about. Six metrics were pre-registered, four passed, two missed, and the table says "miss" on the two that missed. Both are then explained rather than buried: M2's hallucination rate, and M3, which counted struck claims when the verifier's actual behaviour is hedging, 120 hedges against 6 strikes. The threshold was fixed before the data existed and I haven't moved it after the fact. Same for the limits, one annotator, no user study, the deployed ranker not being the tuned one.

Links. Every technical term points at its reference, BM25, CLIP, nDCG, the Wilson score interval, the z-test, WebGPU, ARIA live regions, accessible names, MV3 service workers, offscreen documents. The limits carry their own citations too, including Fleiss' κ for the judge agreement. I checked all 22 resolve. Uses the existing ProseA, which already handles external target/rel, plus a small ref-link shortcut in uno.config.ts.

Images. Six figures from the thesis in public/images/academia/ekphrasis/: the UI showcase, the context menu, the generated aria-label in DevTools, the architecture diagram, the nDCG ablation, and the on-device demo. Article carries prose-content so ImageZoom picks them up, and the sections carry data-toc so the side nav does too.

Wiring.

  • nav link in AppHeader.vue, which MobileMenu inherits
  • both Ekphrasis links now point at /academia/ekphrasis instead of the private repo
  • ProjectCard.vue renders a NuxtLink when the href starts with /, since Ekphrasis is the first internal one
  • prerender routes and sitemap entries

On the private repo. No outbound links to it anywhere on the page. There's a note saying it's private with a way to ask, and the "Reading it" list names the four files worth opening without linking them. If it goes public later, that section becomes links again.

What I'd love eyes on:

  • Does /academia read as a section that could hold more, or does it still read as an Ekphrasis landing page with an extra click in front of it?
  • The two misses are given more room than the four passes. I think that's right. Tell me if it reads as apologising.
  • Section headings are text-2xl rather than the small-caps eyebrows used on /talks and /projects. Nine sections felt like it needed real headings, but it does mean this page doesn't match those two.

Touches index.vue and projects.ts, same as #35, so whichever lands second wants a one-line rebase.

Ekphrasis was a link to a private repo, which meant a 404 for everyone who
clicked it. It now gets a real page: what it does, the interface, the
architecture, the pre-registered metrics with both misses left in, the
experiments still open, and the known limits. Terms link out to their
references so the numbers can be checked rather than taken on faith.

/academia is the section, not the project. It takes the research; a second
paper is one entry in the list.

ProjectCard renders a NuxtLink for internal hrefs, since Ekphrasis now
points inward.
@vercel

vercel Bot commented Sep 4, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
lope Error Error Sep 4, 2026 4:57am UTC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant