Inspiration
We wanted to make academic research feel less overwhelming for students who are trying to turn a broad idea or claim into credible sources. A lot of research tools either assume you already know exactly what to search for or give you results without much guidance. Citeable came from the idea that students need help with the messy middle: refining a topic, finding relevant papers, checking whether a source actually supports a claim, and generating citations without bouncing between multiple tools.
What it does
Citeable helps users search for academic sources, generate research plans from rough topics, and match papers to specific claims or thesis statements. It pulls scholarly results from OpenAlex, helps refine search language with AI-assisted planning, ranks sources by relevance to a claim, and generates citations in multiple formats. It also lets signed-in users save sources, citations, and research history so they can come back to their work later.
How we built it
We built Citeable with TypeScript, Next.js, and React, with Tailwind CSS for the UI. We used MongoDB for persistence, NextAuth.js for authentication, and bcryptjs for password security. OpenAlex powers the academic search and source metadata, while OpenAI-compatible models and Google Gemini are used for research-plan generation and claim-to-source matching. We also added citation generation, saved history, and account-based source management to make the tool more useful as a full workflow instead of just a search box.
Challenges we ran into
One challenge was making AI useful without letting it overclaim what it actually knew. We had to be careful about when to trust model output and when to fall back to deterministic logic or metadata. Another challenge was working with incomplete academic source data, since not every paper has the same level of metadata, abstracts, or open-access links. We also ran into deployment and type-checking issues while iterating quickly, especially as features changed and some old state or routes needed to be cleaned up.
What we learned
We got more experience with full-stack Next.js development, authentication flows, database-backed user features, and deploying an AI-enabled app in a way that is stable enough for real use.
Built With
- bcryptjs
- citation-js
- eslint
- google-gemini-api
- lucide-react
- mongodb
- next.js-16
- nextauth.js
- node.js-20
- openai-compatible-api
- openalex-api
- pdf-parse
- react-19
- resend
- tailwind-css
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.