Software project
Wrepo
A self-hosted archive for student research, built around submission, review, and discovery.
Next.js · TypeScript · PostgreSQL · Prisma
Visit wrepo.net
Public paper view: “Branding Cool, Bordering Labour” by Yang Tianbao. CC BY 4.0. Captured September 2026.
View larger screenshotPurpose
Wrepo gives undergraduate theses, student papers, and working papers a structured place to be published and found. I wanted a credible academic repository with a clean reading experience and a small enough operational footprint for one person to maintain.
The application brings together paper submission, editorial review, searchable records, PDF access, and citations.
Publication and access
One central engineering concern was making publication explicit and enforcing it consistently. The editorial workflow controls which state changes are allowed. Public pages, search, and read-only metadata endpoints select published records and leave internal editorial information out of their responses.
File access is checked separately. A published paper’s metadata can remain visible during an embargo while its PDF is withheld from public access. That distinction keeps discovery and file authorization separate.
Infrastructure choices
The application uses Next.js and TypeScript with PostgreSQL and Prisma. PostgreSQL also handles full-text search, keeping the number of services to maintain small. The Docker Compose setup groups the application and database for self-hosting and includes Cloudflare Tunnel for public access.
Uploads use a storage interface with a local filesystem driver; file delivery has its own authorization checks. Structured paper metadata, citation formats, and read-only discovery endpoints make the archive useful beyond the browser interface.
Live result
Wrepo is live at wrepo.net. Readers can browse published research, open paper records, access available PDFs, and copy citations. Authors can submit their work for editorial review.