Projects

Research Wikis

Over the course of a research career, it is easy to accumulate thousands of published papers organized loosely into folders by topic, methodology, or source — a system that works for storage but fails for retrieval. What if you could query that collection to get precise answers to specific questions, trace connections across literatures, or identify gaps that point toward future research? That is the problem these wikis are designed to solve. The researcher acts as curator: deciding which papers to ingest and which conceptual threads to develop relative to the existing knowledge structure. Everything is written and maintained by the LLM, but the researcher retains full authority — correcting errors, steering the wiki toward their own research interests, and shaping the schema that governs how knowledge is organized.

The two wikis below are personal knowledge bases built using the LLM Wiki pattern — a design introduced by Andrej Karpathy in which a large language model (LLM) agent maintains a persistent, interlinked set of markdown files as the primary layer of a knowledge base. Rather than retrieving from raw documents at query time, as in Retrieval-Augmented Generation (RAG), the LLM pre-compiles source material into structured, cross-referenced concept pages. Knowledge accumulates and compounds across sessions instead of being re-derived from scratch each time.

The contrast with RAG is architectural. RAG indexes raw text chunks into a vector database and retrieves the most semantically similar passages at query time — fast to set up and effective for lookup tasks, but stateless. Each query starts from zero: no understanding carries over between sessions, and the expensive work of cross-document synthesis is repeated on every question. The LLM Wiki inverts this: ingestion is the expensive step, and it is done once per source. Each new paper is not just summarized — it is cross-linked into the existing structure, updating related concept and entity pages with new connections. A paper on manufacturing decline, for example, propagates into existing pages on mortality, marriage markets, intergenerational mobility, and labor supply — not just into its own summary page. This is where compounding happens.

Karpathy's framing captures the roles concisely: "Obsidian is the IDE, the LLM is the programmer, the wiki is the codebase." The user curates inputs and reviews outputs. All structural maintenance — cross-referencing, tagging, backlink management, logging — is delegated to the LLM, governed by a schema file (CLAUDE.md) that defines page formats, naming conventions, and ingestion and query protocols. The architecture is locally owned and fully human-readable: every page can be opened, verified, and corrected, with no proprietary lock-in or black-box retrieval pipeline.

Below are two wikis I plan to continually develop.

Demographic, Disability, Retirement, and Labor Economics Wiki

This wiki tracks two portions of my career at SSA. The first was developing stochastic methods for forecasting vital rates — mortality, fertility, immigration, and population — as well as macroeconomic variables that go into analyzing SSA's long-run financial status. The second was retirement and disability research.

Browse wiki →

Bayesian & Econometrics Wiki

This wiki draws on my dissertation work and ongoing interests in Bayesian statistical methods and macro/time series econometrics.

Browse wiki →

Software & Code

These are applications of a range of Bayesian statistical and econometric models, with code in both Python and R. The focus is on traditional MCMC methods — Gibbs and Metropolis–Hastings samplers built from scratch — alongside gradient-based Hamiltonian Monte Carlo via NUTS (PyMC / Stan). Many examples replicate the results of seminal papers, and a recurring theme is the contrast between from-scratch implementations — which expose the estimation machinery — and the off-the-shelf packages that reproduce the same posteriors, typically cross-checked across two or three engines.

Statistical Distributions

A from-scratch catalog — PMF/PDF, CDF, quantile, RNG and moments built from elementary math and cross-validated against reference libraries in Python and R.

8 examples

Linear & Regression Models

Constrained, robust, mixture-error, multivariate, SUR, and hierarchical Gaussian regression.

8 examples

Limited Dependent Variables

Binary probit & logit (robust, hierarchical, panel, flexible-link), ordered & sequential probit, multivariate & multinomial probit, hierarchical & mixture multinomial logit, and Tobit.

13 examples

Count Models

Poisson & Negative Binomial, hierarchical GLMMs, zero-inflation, and spatial counts.

5 examples

Survival Models

Weibull PH, frailty, Cox-via-Poisson, and interval-censored survival.

4 examples

Univariate Time Series

SARIMA, change-point & Markov-switching AR, GARCH, asymmetric GJR & Value-at-Risk, GARCH-in-mean, stochastic & realized volatility, regimes vs long memory, and option pricing.

10 examples

Multivariate Time Series

Multivariate GARCH covariance dynamics; a multi-part Bayesian VAR arc — reduced-form & structural, large-scale, factor-augmented, cointegration (VECM), stochastic-volatility, time-varying & regime-switching, hierarchical, heteroskedasticity-identified, and global-local (horseshoe) shrinkage, with monetary, oil & fiscal applications; and demographic forecasting.

15 examples

Variable Selection

Bayesian model selection — spike-and-slab / stochastic search (SSVS), exact g-prior enumeration with model averaging, VAR restriction search, selection across outcome types (log-linear, logistic, survival), unknown-dimension inference (reversible-jump change-points, Dirichlet-process mixtures, free-knot splines), and genomics-scale horseshoe shrinkage.

10 examples