Tools I built to run the research — a literature pipeline, experiment automation, and lab utilities.
scroll →
Literature → Knowledge
One workflow, four tools: a topic starts from a few core papers. paper-organizer maps the citations they span, picks what to read next, and ratifies what each paper actually argues — every link checked by hand. paper-autodown triages the daily feed get-ASAP catches and downloads both; research-MCP answers from the result, citations attached. ai-memories archives every conversation underneath.
get-ASAP
Featured
Literature radar tracking 85+ journals across 7 publishers, from Gmail alert to public dashboard.
get-ASAP watches Gmail for new-issue alerts from 85+ journals across seven publishers, extracts each paper’s title and link, and files it into a SQLite paper DB so nothing gets lost in an inbox — with a Notion view on top where relevance calls are reviewed by hand. A companion analytics dashboard turns the collected metadata into keyword trends, journal breakdowns, and a searchable archive. It’s now a public platform with hundreds of cumulative users — at KIST and universities beyond — tracking literature in their field.
paper-autodown
LLM triage for new papers — the relevant ones auto-download, file into Zotero, and grow a knowledge graph.
Python
Codex CLI
Zotero
LightRAG
Private repository
paper-autodown does the fetching. An LLM judges relevance from titles as get-ASAP’s daily catch comes in — criteria refined over months of user corrections — and what passes downloads automatically through the institution’s journal subscriptions and publisher APIs; it also fetches what paper-organizer’s citation map calls for. Everything registers in Zotero and is ingested into a graph-structured RAG (LightRAG), where an LLM extracts entities and relations from every chunk: a knowledge graph of 72,445 nodes, growing nightly.
paper-organizer
Featured
Distills the literature into a human-ratified argument graph — claims, evidence, attacks.
paper-organizer exists because of an uncomfortable measurement: in this corpus, 84% of citations turn out not to be arguments at all — background, courtesy, context. An argument layer can’t be auto-extracted; it has to be ratified. An LLM extracts each paper’s claims and links them across papers — support, dispute, method reuse — but every extraction and every link passes a user approval gate, verified against the quoted source text: 1,278 citation-verified links across 311 papers so far. It also owns the collecting: a ~41,000-node citation map (OpenAlex, Crossref) spans the corpus, and a daily front-watch flags where arguments clash and the corpus is thin — those papers become paper-autodown’s next downloads. On top sit conflict maps of attacked and defended claims and a top-10 report of untouched research gaps. The live site is the public face of the output: an interactive argument map from the ongoing plasmonics study — a lite build showing the ratified claim network and its support/attack structure, with claim text held back while the work is unpublished.
research-MCP
One local MCP server over both graphs — every answer traced back to real citations.
Python
MCP
LightRAG
Zotero
Private repository
research-MCP is where the two layers meet — in effect, a dual-resolution GraphRAG. Underneath, the auto-extracted LightRAG knowledge graph (recall-oriented, 72k+ nodes); on top, paper-organizer’s human-ratified argument graph (precision-oriented); alongside, a personal research-notes archive — all behind one MCP server and a local web chat. A cross-check tool evaluates a claim against the literature and the notes together, returning a structured verdict with citations traced back to full Zotero records — author, year, journal, DOI. Argument-graph tools answer where the literature disagrees and which gaps nobody has touched. Built so every answer can be verified rather than taken on faith.
ai-memories
Archives every AI research conversation — across tools — into a searchable, deduplicated, MCP-queryable memory store.
Python
SQLite (FTS5)
MCP
Cloudflare Pages
Private repository
ai-memories automatically collects research conversations from multiple AI tools, de-duplicates overlapping exports, and preserves edit history rather than overwriting it. Everything is indexed for full-text search and exposed through an MCP server, so any AI session can recall past discussions instead of starting from scratch. A topic dashboard and daily off-site backup round out the system.
Experiment Data
The automation that keeps the data side of the photothermal ammonia decomposition reactor work moving — raw files in, condition tables and rate plots out, no manual spreadsheet work.
lat-pipeline
Automated collection, classification, and analysis of lab experiment data, from data acquisition to Notion.
Python
pandas
matplotlib
Notion API
Private repository
lat-pipeline watches a synced data-acquisition folder for new photothermal-catalysis experiment files, automatically groups files that belong to the same run, and filters out non-experimental noise. It cross-references each run against the lab’s Notion notebook, then generates condition tables, stability-window averages, and time-series plots without manual spreadsheet work, writing results straight back to Notion.
gc-analysis
Converts raw gas chromatography output into conversion and reaction rates automatically.
gc-analysis reads the raw spreadsheet output from GC instruments, groups measurements into stable experimental conditions, and calculates conversion rate and hydrogen production rate for each one — work that used to be done by hand for every run. It outputs a formatted spreadsheet with per-condition summaries and rate plots, ready to drop into a lab report.
Lab Utilities
A small utility that solves one problem well — deployed as a public PWA and used by around 30 researchers at KIST.
sec-timer
A second-precision lab timer PWA with cross-platform calendar reminders.
JavaScript
Service Worker
Cloudflare Pages
Private repository
sec-timer is a web-based countdown timer built for lab work where experiments need to be timed to the second. Its main engineering challenge was calendar integration: iOS, Android, and desktop each handle calendar events differently, so the app detects the platform and routes to whichever approach actually works there — direct calendar-app launch, Google Calendar, or an ICS download. Deployed as a PWA, it’s used by around 30 researchers at KIST.