Literature matrix system
From a pile of PDFs to a literature matrix you can defend.
Literature Matrix reads every journal article you have and extracts the research objective, theoretical framework, methodology and findings into cells — each one carrying an evidence quote and a page number. AI drafts; you verify.
Built for postgraduate students, researchers and supervisors · self-hosted on your server
| Article | Research objective | Theoretical framework | Methodology | Research gap |
|---|---|---|---|---|
| Zainal & Lim (2021) |
||||
| Nurul et al. (2020) |
||||
| Tan (2019) |
||||
| Abdullah & Rao (2022) |
The problem
A literature review rarely fails from too little reading. It fails from scattered notes.
You've read it all. The hard part is arranging it into something that answers your research questions — and holds up when your supervisor pushes back.
- 01
40 articles, 40 Word files. Nobody remembers what Zainal (2021) said about sample size without reopening the PDF.
- 02
The matrix table in Excel falls apart after the 15th article — columns multiply, cells half-filled, no page references.
- 03
When your supervisor asks “so where's the research gap?”, you comb the whole pile for a sentence you're sure you read.
- 04
Every claim in your chapter 2 draft needs a source. Tracing it back a week later takes hours.
How it works
Four steps, one workflow.
Each step produces something you can check — not a black box that emits finished paragraphs.
Bring in the articles
Upload PDFs one at a time, drop in a ZIP, or import .bib / .ris files from Zotero or Mendeley. DOIs are auto-completed via Crossref, and duplicates are caught on DOI and title. Each page's text is extracted and tagged by section — abstract, introduction, method, results.
AI extracts, with evidence
For each matrix field, the model reads the relevant passages and fills the cell — objective, framework, methodology, sample, findings, limitations, gap. Every value carries a direct quote and page number, or comes back as “not found”. No sourceless guessing.
You verify
No cell counts as verified until you press Verify. Edit, reject, or open a comment thread on any cell to discuss it with your supervisor. Every text and status change is recorded in a full audit log with author and time.
Synthesise across the matrix
Once the matrix is filled enough, ask for suggested themes and research gaps across all articles, or build a conceptual framework — independent, dependent, mediator and moderator variables with a diagram. All generated from your matrix data, and you add each suggestion one by one.
Academic integrity
AI doesn't write your literature review. It drafts what you check.
Every AI-filled cell stays at status AI draft until you verify it yourself. The evidence quote and page number are stored with every value, so you — and your supervisor — can always trace where a claim came from.
Draft, not answer
AI cells can't enter a “verified” export until a human presses Verify.
Evidence on every cell
A direct quote + page is stored with each value. No source, no cell.
Honest exports
Every export carries a “DRAFT” watermark and shows your verification ratio.
Features
A matrix that bends to how you work.
13Custom matrix fields
Thirteen default fields across four categories — citation, content, method, synthesis. Add your own fields, reorder, or hide them per project.
RO↔RQObjective–question alignment
Check whether each research objective matches its question. A live hint as you type. Advisory only — it never blocks a save.
@Per-cell discussion
Open a comment thread on any cell. The whole cell resolves as one thread. A marker on the grid shows cells with an open discussion.
logFull audit log
Every text edit and every status change is recorded — old value, new value, who, when. One write path; no silent changes.
3Project roles
Owner, editor, reader. Invite a supervisor as a reader to monitor, or teammates as editors to fill the matrix together.
$AI budget control
Set a monthly spend cap per project. Every model call's cost is recorded and shown on the project Overview. Zero means no limit.
Around the matrix
Tools that read what you've built.
Themes & research gaps
From the objective, framework, methodology, sample, findings and limitation cells across at least three articles, the system suggests recurring themes and research gaps — with your project's RO/RQ pairs as context. You edit and add each one; it becomes a normal theme or gap.
Conceptual framework & hypotheses
Drafts the whole framework from the matrix — independent, dependent, mediator, moderator and control variables, plus the hypotheses between them. Check the boxes you want, and it renders as a graph LR diagram (moderator = dashed edge).
Citation coverage
Pulls each DOI-bearing article's reference list and incoming citations from OpenAlex, then shows works cited by several of your project's articles but not yet in the matrix — as a grouped list or a d3 force graph. A coverage card on the Overview counts what you're missing; seed search turns a single DOI or title into a list of related papers before you've added anything. No API key, no pgvector.
No title yet? Start by talking.
The new-project screen has an assistant that helps you sharpen the topic, objectives and research questions before you create the project. When you're ready, it fills the form — title, topic, description, and the RO/RQ rows. The conversation stays on your server only.
A question, answered from your PDFs
Ask anything across every article in the project — “which studies used a longitudinal design, and what did they find?” The answer is built only from passages in your PDFs, and every claim links back to the article and page it came from. If the corpus doesn't cover it, it says so.
Does your draft hold up against the matrix?
Paste your chapter 2 draft, or check the outline notes. Each claim is weighed against the matrix and your recorded gaps, then labelled supported, overstated, unsupported, or not in the matrix — with the studies that back it and what to fix. It flags; it never rewrites.
Export
Take it out in the format your committee needs.
Arrange the chapter in a drag-to-reorder outline builder, then export it as .doc or LaTeX .tex — bullet points and a reference list organised by theme, a starting point for chapter 2, not finished prose. Reference lists come formatted in five citation styles. Every export shows the verification ratio and carries a “DRAFT” watermark until your matrix is fully verified.
FAQ
Common questions.
Are my data and PDFs sent anywhere?
PDFs are processed on your own server. During extraction, only the relevant passages for each field are sent to the Claude API — not the whole article. The exception is a scanned PDF with no readable text, which is sent whole for OCR. The API key stays on the server and is never exposed to the browser.
Do I have to use AI at all?
No. Set the extraction adapter to manual and fill every cell yourself. The matrix, exports, collaboration, audit log and per-cell comments all work without a single AI call. Leave the API key blank and every AI feature is disabled system-wide.
How many articles does synthesis need?
At least three articles with filled cells. Discovery, by contrast, works from the first article — the display threshold drops to one automatically when fewer than three articles have citation data.
Can I import from Zotero or Mendeley?
Yes. Export your library as .bib or .ris and import it directly. This creates metadata-only articles (no PDF) that you can complete later by uploading the full file.
What does it take to install?
PHP 8.2+, PostgreSQL, and Composer. It's a standard CodeIgniter 4 application — install dependencies, run the database migrations, and serve. The first user to register becomes admin; later registrations wait for admin approval.
Start
Your first matrix takes an afternoon — not a semester.
Install it on your server, upload your first batch of articles, and let extraction run while you get a coffee. Come back to the cells waiting for verification.
Read the install guide