← All projects

Data archaeology · Python + JavaScript · Reproducible builds

Grok Export, mined

A year of conversations with Grok (xAI) came back as a self-service data export — a 36 MB JSON of 39 conversations / 1,504 messages plus 294 uploaded files. Instead of letting it rot in a download folder, I parsed it with a single shared loader and turned the useful threads into four working projects. Three run live, right here.

The pipeline

The export unzips to one big prod-grok-backend.json (the conversations) and an asset server full of content blobs with no extensions. The groundwork: sniff each blob's real type (130 JPEGs, 107 PDFs, 38 Word docs, …), dedupe by content hash (294 files were really 141 unique — the rest duplicates stored under different IDs), and build groklib.py — a read-only loader that yields clean conversations with text, thinking traces, and attachments resolved to real filenames. Every project below reads that, never the raw JSON.

🇯🇵 Japanese SRS decklive

One thread ran to 663 messages: photographing handwritten Japanese study notes and having Grok transcribe and review them. That's a finished dataset. An extractor pulls clean vocabulary cards (front / reading / gloss) out of the assistant turns and emits an Anki-importable TSV plus this standalone spaced-repetition trainer — Leitner boxes, Space to flip, 1/2 to grade, progress in localStorage.

Space flip · 1 again · 2 good Open fullscreen ↗

かな NIHONRIKaans — a hybrid conlanglive

A playful thread designed a constructed language: Afrikaans vocabulary, Japanese grammar, a dusting of French, written in katakana by default with a kanji wrapper where one exists and romaji only for sounds kana can't hold (the guttural g, rolled r, French nasals). I lifted the rules out of the chat into a Python transliterator, then ported it to JavaScript — verified byte-identical — for this live editor.

Type Afrikaans/English → NIHONRIKaans in katakana, live Open fullscreen ↗

⚛️ Personality Qubitlive

Several threads mapped personality archetypes onto qubits — Schrödinger as superposition, Entangle as opposition, Oracle as pre-proof knowing, and so on. The build makes it real: a GHZ circuit (a Hadamard and a CNOT ladder) entangles the eight named archetypes so the team can only collapse together — all present or all absent. A Python script runs it on a simulator (matching my IBM Qiskit setup, with a NumPy fallback); this page samples the same distribution.

Hit Measure to collapse the entangled team The archetype register ↗

🎨 Sketchbook · Grok Wing

The art-journal threads paired sketchbook scans with Grok's Jungian, shadow-work readings of them. Those pairings became a new wing of my existing sketchbook gallery — each scan beside the reflection it drew, grouped into rooms, regenerated from the export by its own builder.

A note on privacy