AI-Powered • Automated Developer Study Notes

Turn Every Git CommitInto Obsidian Study Notes.

AI writes the code, but you have to explain it in interviews. ink automatically turns every commit into clear Obsidian study notes and flashcards so you always master what you shipped.

Try Interactive Demo
$git clone Tanay-77/ink
Zero build frameworks
Obsidian [[Wikilinks]]
SM-2 Spaced Repetition
Plain language notes

See It in Action

From raw Git diff to interconnected Obsidian note and interactive interview quiz.

git show adb8e16
src/llm.ts
@@ -15,6 +15,14 @@ export async function callLLM() {
  const baseDelay = 1000;
+ // Exponential backoff with jitter for 429 rate limits
+ const delay = baseDelay * Math.pow(2, attempt);
+ const jitter = Math.random() * 200;
+ await new Promise((res) => setTimeout(res, delay + jitter));
  return fetch(apiUrl, { method: "POST" });
@@ -28,3 +36,5 @@ }
Automated Diff Analysis1 concept extracted
concepts/exponential-backoff.md
#intermediate

# Exponential Backoff with Jitter

Tags:#ink#networking

## Explanation (Simple Language)

Exponential backoff is a strategy where our app waits longer after each failed request (1s, 2s, 4s) instead of spamming the server immediately. Adding random jitter prevents all clients from retrying at the exact same millisecond.

## Interview Questions

- Q: Why do we add jitter to exponential backoff instead of just using pure exponential delay?

Answer: Pure exponential backoff causes the "thundering herd problem" where multiple clients retry at synchronized waves. Adding random jitter desynchronizes the retries and smooths out server traffic.

## Examples

- [[2026-10-23-adb8e16]] : src/llm.ts

Engineered for Developers

Minimal dependencies. Maximum retention.

Built with pure Node.js, strict TypeScript, and zero heavy frameworks.

Simple Language First

When you take notes, you write in plain English. Concepts are explained like a teammate chatting over coffee—free from robotic AI fluff and textbook jargon.

plain developer English

Background Git Hook

Run ink install-hook once. Every commit triggers an asynchronous post-commit process that never blocks your git workflow.

non-blocking async execution

3-Layer Deduplication

Combines exact slug matching, normalized tokens with filler words dropped, and Levenshtein similarity to merge concepts automatically into your existing notes.

75% fuzzy threshold

SM-2 Spaced Repetition

Uses the battle-tested SuperMemo-2 algorithm to calculate review intervals and ease factors so you review difficult concepts more frequently and retain knowledge longer.

automatic interval expansion

Obsidian Native [[Wikilinks]]

Generates standard YAML frontmatter, tags, aliases, and bidirectional [[wikilinks]] that instantly light up your Obsidian graph view.

100% offline markdown files

Explain-Back Simulator

Practice technical interviews right in your terminal. Explain your commit in your own words, and get graded from 0 to 5 on accuracy, missed edge cases, and follow-ups.

0-5 technical interview rubric
Flexible Workflow

How It Works in 4 Steps

Generate notes on-demand for specific commits, or turn on the background hook for 100% automation.

1

Build & Link Globally, Then Initialize

Register the global command once on your computer, then connect any repository to your Obsidian vault:

AOne-Time Global Link

Run once in the cloned repo to register ink in your system PATH so it runs anywhere.

$ npm run build
$ npm link
BInitialize in Any Repo

Run in any project folder to configure your Obsidian vault directory and AI model settings.

$ ink init
2

Generate Notes — Choose Your Flow

Use whichever approach fits your current coding workflow:

On-Demand (HEAD or Specific Commit)

Generate study notes only when you want them without installing any background hooks.

$ ink run HEAD # latest
$ ink run a1b2c3d # specific
Automatic (Background Git Hook)

Set it and forget it. Every git commit triggers silent background note generation.

$ ink install-hook # once
$ git commit -m "..." # auto
3

Review Daily Quizzes in Obsidian

When you want to review, generate today's interactive quiz note with spaced repetition (SM-2) and click-to-reveal answers.

$ ink quiz
4

Practice Technical Interviews (Explain-Back Mode)

Practice explaining your architectural decisions in plain words right in your terminal. Get graded 0 to 5 on accuracy, missed edge cases, and follow-ups.

$ ink explain HEAD
Answers

Frequently Asked Questions