aditya0103's picture
Tasks 5-7: eval harness, FastAPI backend, Paper & Ink UI- src/eval/ β€” precision/recall/F1 harness with type-aware comparators,micro/macro F1, CSV + markdown reports, --model benchmark flag- src/api/ β€” FastAPI backend with /extract, /schemas, /health,request-ID middleware, typed error envelope, injectable extractor- ui/ β€” Vite + React + TS + Tailwind + Motion + React Three FiberPaper & Ink editorial UI with 3D paper hero, dark/light mode,confidence inkwell, wax-stamp metrics, kinetic typography- 95 passing tests (up from 54); UI is a separate npm workspace
557ab38
Raw
History Blame Contribute Delete
938 Bytes
/**
* Footer β€” a signature line, not a link farm.
*/
const GITHUB_URL = "https://github.com/adityapatel007-byte/structured-data-extractor";
export function Footer() {
return (
<footer className="mx-auto w-full max-w-[1240px] border-t border-[var(--rule)] px-6 py-10 md:px-10">
<div className="flex flex-col items-start justify-between gap-4 text-[12px] tracking-wide text-[var(--ink-mute)] md:flex-row md:items-center">
<p>
Built by{" "}
<a
href={GITHUB_URL}
target="_blank"
rel="noreferrer"
className="text-[var(--ink-soft)] underline decoration-[var(--rule)] decoration-1 underline-offset-4 transition-colors hover:text-[var(--ink)] hover:decoration-[var(--ink)]"
>
ASP
</a>
{" Β· "}open source Β· MIT
</p>
<p className="font-mono">v0.1.0 Β· 2026</p>
</div>
</footer>
);
}