Skip to main content

Code

Tools I built to run the research — a literature pipeline, experiment automation, and lab utilities.

Research tooling pipeline Literature pipeline: Journals and Gmail feed get-ASAP. get-ASAP logs to Notion and passes candidates to paper-autodown, then Zotero, then paper-organizer (knowledge graph), then research-workbench (MCP), ending in AI sessions. ai-memories runs underneath the whole chain, connected to every stage. Experiment data pipeline: Google Drive feeds lat-pipeline and Instruments feeds gc-analysis; both write results back to Notion. Journals Gmail get-ASAP Notion paper-autodown Zotero paper-organizer (knowledge graph) research-workbench (MCP) AI sessions ai-memories cross-cutting memory layer Google Drive Instruments lat-pipeline gc-analysis Notion

Literature → Knowledge

Four tools that move a paper from “just published” to “queryable knowledge”: get-ASAP watches the literature, paper-autodown filters and fetches it, paper-organizer classifies it into a knowledge graph, and research-workbench answers questions against that graph with citations. ai-memories runs underneath all four, archiving every research conversation along the way.

get-ASAP

Featured

Gmail-to-Notion literature radar tracking 85+ journals across 7 publishers.

get-ASAP watches Gmail for new-issue alerts from 85+ journals across seven publishers, extracts each paper’s title and link, and logs it to a Notion database so nothing gets lost in an inbox. A companion analytics dashboard turns the collected metadata into keyword trends, journal breakdowns, and a searchable archive. Deployed for the KIST hydrogen research group, it’s now used by 30+ researchers tracking literature in their field.

  • Python
  • Gmail API
  • Notion API
  • BeautifulSoup

paper-autodown

Featured

AI pipeline that triages paper candidates, fetches subscription PDFs, and files them into Zotero and a knowledge graph.

paper-autodown takes the papers collected by get-ASAP and uses an LLM to judge which ones are actually relevant to the lab’s research, using relevance criteria refined over months of user feedback. Relevant papers are downloaded automatically through the institution’s journal subscriptions, verified, and registered in Zotero — feeding directly into the paper-organizer knowledge base. The pipeline also tracks its own classification accuracy against user corrections, so the relevance criteria keep improving over time.

  • Python
  • Claude
  • Zotero
Private repository

paper-organizer

Turns a Zotero library into an AI-classified knowledge base with a linked concept graph.

paper-organizer reads papers directly from a Zotero library, extracts the full text, and uses an LLM to classify each one against a controlled topic/material/method taxonomy. Every paper becomes a lightweight Obsidian note with structured tags, while a parallel knowledge-graph layer (LightRAG) captures entities and relationships that a flat tag system can’t express — supporting open-ended concept queries like “how do promoters affect dehydrogenation catalysts?” alongside quick tag filtering. Every knowledge-graph answer is also saved as a citation-linked evidence bundle, tracing back to the exact source passages and Zotero records behind it, so nothing is trusted at face value.

  • Python
  • PyMuPDF
  • Obsidian
  • LightRAG
Private repository

research-workbench

Featured

Local MCP server that cross-checks research claims against a paper knowledge graph, with citations traced back to Zotero.

research-workbench combines a paper knowledge graph (via paper-organizer’s LightRAG layer) with a personal research-notes archive behind one MCP server and a local web chat interface. Its cross-check tool takes a claim or hypothesis and evaluates it against both the literature and personal notes, returning a structured verdict with citations traced back to full Zotero bibliographic records — author, year, journal, DOI. Built so every answer can be verified rather than taken on faith.

  • Python
  • MCP
  • LightRAG
  • Zotero
Private repository

ai-memories

Archives every AI research conversation — across tools — into a searchable, deduplicated, MCP-queryable memory store.

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.

  • Python
  • SQLite (FTS5)
  • MCP
  • Cloudflare Pages
Private repository

Experiment Data

The automation that keeps the photothermal ammonia decomposition reactor work moving — raw files in, condition tables and rate plots out, no manual spreadsheet work.

lat-pipeline

Featured

Automated collection, classification, and analysis of lab experiment data, from Google Drive to Notion.

lat-pipeline watches a Google Drive 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.

  • Python
  • pandas
  • matplotlib
  • Notion API
Private repository

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.

  • Python
  • pandas
  • openpyxl

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.

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.

  • JavaScript
  • Service Worker
  • Cloudflare Pages
Private repository