Jay Griffin

Thoughts & Ideas

Notes, half-formed ideas, and things I was chewing on. Dated on purpose — these are passing thoughts, not positions I still hold.

Modeling content data

The long argument with myself about how to model content for the web — markdown, frontmatter, MDX, TSX, and what a CMS should actually be. Oldest first; I changed my mind more than once.

Block Model ArchitectureWhy chunking Markdown into structured blocks unlocks vector search, WYSIWYG editing, and inline search results.April 3, 2026Content System VisionA unified content model where every item is a source plus commentary, rendered differently based on type.April 16, 2026Building the new-doc SkillHow we built a Cline skill for creating structured markdown posts, and the small fixes we made along the way.May 7, 2026Project-Scoped Content Needs to Be a ThingTest docs and demo artifacts are cluttering the front page because there's no way to scope content to a project automatically.May 7, 2026Building a Health Data Dashboard with Garmin DataTrying to analyze my fitness data better than Garmin, Strava, and Apple.May 7, 2026Frontmatter Is a Dead End (And Everything I Changed to Prove It)A marathon Copilot session that touched 70+ files, added relatedPosts everywhere — and the realization that this whole content system sorely needs a database.May 7, 2026Intelligent Component Designer APIDesign document for an AI-powered component composition system using LLM intelligence with deterministic, type-safe outputMay 7, 2026Why Markdown Works (And Why Obsidian Misses the Point)Markdown philosophy: constraints force clarity, syntax serves the parser, not the writerMay 7, 2026Content Architecture: TSX-First with MD FallbackTSX-first content system with markdown fallback: embracing coupled content and logicMay 7, 2026MDX Does Not Win On This DayI almost talked myself into MDX as the missing middle layer between markdown and TSX — then talked myself back out of it.May 7, 2026The Metadata Paradox: Automating What You Don't Need YetShould every page have metadata? Should I automate adding metadata? Do I even need metadata on non-content pages? The irony of documenting this decision.May 7, 2026Why I'm Finally Moving to SQLite (And Why I Waited Until Now)After over 60 articles in one month, my file-based content system is breaking down. Here's why I'm migrating to SQLite, why now, and why I didn't do this sooner.May 7, 2026PDF the FrankenformatMe trying to publish all kinds of things (not just websites) in HTML/CSS/ReactMay 7, 2026Why My Blog Posts Are Programs, Not DocumentsMy content is interactive programs, not static markdown. TSX enables publishing executable experiences.May 7, 2026Feature Spec: Project Launchpad SystemFrictionless system for showcasing development projects - make adding new projects feel as easy as publishing a blog postMay 7, 2026Semantic Controls for AI WorkflowsExploring how to compress semantic meaning into symbolic syntax for more efficient AI prompting and higher-quality AI-generated outputsMay 7, 2026Tailwind Wins: Making My Meta Stack Even More MetaMy migration plan from Emotion to Tailwind, CSS Modules, Shadcn, and CSS variables so styling stays fast, explicit, and AI-friendly.May 7, 2026Frankenformats: Stop Making Your Markdown Do ThingsMarkdown is text with structure—not a programming language, component system, or templating engine.May 8, 2026GSC: Generated Semantic CompanionThe architecture for content systems that serve humans, agents, and LLMs equally well: pure Markdown, deterministic tools, clear boundaries.May 8, 2026GSC v2: Markdown Purity + Tool ArchitectureA practical architecture for human docs and agentic systems: pure Markdown for meaning, MCP/tools for action.May 8, 2026GSC v3: Markdown, TSX, MDX, and the Real BoundaryThe practical architecture: Markdown for durable meaning, TSX for behavior, MCP/tools for action. MDX is optional and often unnecessary.May 8, 2026GSC v4: Practical PlanA practical operating plan for building GSC after clarifying the Markdown, TSX, MDX, and MCP boundaries.May 8, 2026Content Pipeline Handoff NotesNotes on treating TSX as constrained content data to enable database storage and production staging workflows.August 29, 2026Architectural Blueprint: Single-File "Code-as-Data" CMSA web-first content layer that treats fully interactive React components as flat text strings in a database, bypassing heavy bundlers while enabling rapid AI-assisted development.August 31, 2026Modeling Projects in the DatabaseWhy I moved project metadata from hardcoded arrays into a database table, even when the code itself lives in the filesystem.August 31, 2026

AI & agents

Working with models and agents daily — skills, instructions, MCP, and where the leverage actually is.

Building the new-doc SkillHow we built a Cline skill for creating structured markdown posts, and the small fixes we made along the way.May 7, 2026Data Sovereignty for AI-Assisted WritingWhy consumer AI chat apps are a dead end for serious writers, and what a real personal AI writing infrastructure looks like.May 7, 2026Building Postmaster: A Local Markdown Draft EditorWhy I built a local Next.js app to review and dispatch markdown drafts written by AI agents, and the design decisions behind it.May 7, 2026Renaming the new-doc Skill to md-artifactWhy we renamed the new-doc skill to md-artifact and tightened up its trigger description.May 7, 2026Test Doc for FunA test document written by Claude Sonnet 4.6 via Cline, just to see how things look.May 7, 2026Claude Skills, Generative Art, and Hosting Raw HTML in Next.jsClaude.ai now has skills and connectors. I used one to build a generative art visualizer in a minute. Then figured out the cleanest way to ship it.May 7, 2026Quick Note: Git Commit Message Escaping Is Still Funny in 2026A quick amusing observation: modern AI workflows are powerful, but shell escaping in git commit messages is still a thing.May 7, 2026How I Use AIWhy I'm obsessed with AI and what I do with itMay 7, 2026AI Life Logger - Product VisionA frictionless life logging and time tracking system using natural language AI interface for effortless tracking and behavioral insightsMay 7, 2026Intelligent Component Designer APIDesign document for an AI-powered component composition system using LLM intelligence with deterministic, type-safe outputMay 7, 2026PDF the FrankenformatMe trying to publish all kinds of things (not just websites) in HTML/CSS/ReactMay 7, 2026Vibecoding Plasma Cosmos from One-Prompt Toy to Real AppA Claude skill generated a generative art app in one prompt. Then I spent an evening vibecoding it with Opus into something I actually want to keep.May 7, 2026Semantic Controls for AI Workflows Part 2AI as an intelligence building blockMay 7, 2026Semantic Controls for AI WorkflowsExploring how to compress semantic meaning into symbolic syntax for more efficient AI prompting and higher-quality AI-generated outputsMay 7, 2026I Made an AI App Builder?I studied vibe coding tools, figured out why they produce better AI outputs than my usual prompting, and rebuilt my stack to match. Now I have my own personal AI app builder.May 7, 2026Tailwind Wins: Making My Meta Stack Even More MetaMy migration plan from Emotion to Tailwind, CSS Modules, Shadcn, and CSS variables so styling stays fast, explicit, and AI-friendly.May 7, 2026GSC: Generated Semantic CompanionThe architecture for content systems that serve humans, agents, and LLMs equally well: pure Markdown, deterministic tools, clear boundaries.May 8, 2026GSC v2: Markdown Purity + Tool ArchitectureA practical architecture for human docs and agentic systems: pure Markdown for meaning, MCP/tools for action.May 8, 2026GSC v3: Markdown, TSX, MDX, and the Real BoundaryThe practical architecture: Markdown for durable meaning, TSX for behavior, MCP/tools for action. MDX is optional and often unnecessary.May 8, 2026GSC v4: Practical PlanA practical operating plan for building GSC after clarifying the Markdown, TSX, MDX, and MCP boundaries.May 8, 2026Building and Debugging a Post Creator SkillI added a skill to this repo today whose entire job is creating one file—it took three failed attempts to get it working, and the failures were more interesting than the skill.August 29, 2026

Styling & frontend

CSS, Tailwind, and the styling conventions this site keeps rewriting itself around.

Everything else