Publicat is a fast, scalable, and beautiful web app that transforms any structured .csv bibliography into an interactive journal explorer. Featuring timeline views, search capabilities, and D3.js visualizations, it's the perfect way to share archival metadata with the world—instantly.
This project builds on the structure of vsesvit.vercel.app and generalizes it for any CSV-based journal archive.
- 📂 Plug & Play CSV Input — Just drop in your
.csvfile. - 🕰️ Browse by Decade — Explore issues across time.
- 🔍 Search Everything — Find articles by author, title, translator.
- 📊 Visual Analytics — Unique authors per decade, country/language distributions.
- 🌙 Dark Mode by Default (with slick UI)
- 🤖 Future-Ready — Built with React (Next.js) + D3 + PapaParse
- 💬 Built-in AI Assistant — Ask questions about the data in natural language
Your .csv file should have the following columns (headers must be exact):
journal_id,journal_name,journal_year,journal_number,article_name,author,translator,country,country_latin,language,language_latinYou can leave fields blank if not applicable.
Put your .csv inside the /public/data/ folder.
Rename it something like my_journal_data.csv.
Search across the codebase and update:
const CSV_URL = '/data/data_2.csv';To:
const CSV_URL = '/data/my_journal_data.csv';This is found in:
index.tsxsearch.tsxvisualizations.tsxai_chat.tsx
Edit:
<title>Vsesvit</title>To:
<title>Publicat</title>Also update logos, meta descriptions, and about.tsx for your own flavor.
- Push your project to GitHub
- Go to vercel.com
- Connect your repo & deploy
npm install -g vercel
vercelFollow the interactive prompts.
Have a cool CSV use case? Want to improve visualizations? PRs are welcome!
- Fork the repo
- Clone it locally
- Install dependencies:
npm install- Run dev server:
npm run devCreated by @KGeorgii. Feel free to open issues or reach out for collaboration ideas!
MIT License.