jaygriff.com Roadmap
Content System
- AI-Powered Metadata Editor (Dev Mode) - Click ContentHeader to open modal with smart editing. Natural language interface for each field type: "jan 19 5pm" → ISO date, "add tags: ui, styling" → array. AI returns JSON, no manual code editing required. Proper UI fallbacks (date picker, tag selector, etc.).
- AI Metadata Generator - Automatically generate metadata for markdown files using AI API. Analyze content to suggest title, description, tags, projectId, and type.
- Activity Timeline/Feed - Timestamped stream of all docs/posts showing daily work. Proof of constant shipping.
- Content Analytics - Track what gets read, how long people spend, popular topics.
Search & Discovery
- Search Hotkeys - Cmd+K to open search, Esc to close, arrow keys to navigate.
- Search Icons - Visual indicators for content type (doc vs post), project badges.
- Search Filters - Filter by projectId, type, tags, date range.
- Search Sorting - Sort by relevance, date, popularity.
- Fuzzy Search - Better matching for typos and partial queries.
Code Blocks
- Line Numbers - Optional line numbers with highlighting.
- Diff View - Show before/after code changes with +/- indicators.
Developer Experience
- LLM Component Designer - AI-powered UI generation using primitive library. Prompt → component in seconds.
- Content Templates - Quick-start templates for common doc types.
Database: SQLite Migration
- Migrate content index to SQLite - Replace file-system scanning with a persistent local database. Faster queries, no cold-start overhead, foundation for everything below.
- Full-text search - Search post body content, not just metadata. SQLite FTS5 makes this straightforward once the content is in the DB.
- Content analytics - Store read counts, time-on-page, popular topics. Persistent across deploys.
- Activity feed - Query by date range, project, type — all trivial with SQL. No more re-scanning the filesystem.
- Related content - Tag similarity and co-occurrence queries. Actually fast with an index.
- Draft / private content - Filter by metadata flags without loading every file.
Stack Migration: Tailwind + shadcn
- Migrate from Emotion to Tailwind v4 - Align the site's styling with the meta stack that AI tooling is trained on. Better AI-assisted output, faster iteration, consistent design tokens.
- Adopt shadcn/ui - Components live in the repo, AI can read and extend them. Constrained composition beats unconstrained generation.
- Component registry + Cline skill - AI reads the registry before writing anything. "Build me a landing page" assembles from known components, not generic output.
API Layer: Zod + tRPC
- Zod schemas for content types - Runtime validation for PostMeta, project data, API responses. Catch bad data at the boundary, not deep in the render.
- tRPC for internal APIs - End-to-end type safety from server to client without REST boilerplate. Once the SQLite migration lands, tRPC procedures replace the current data fetching patterns.
💭 Ideas
Multi-Project Features
- Project Landing Pages - Auto-generated pages at /projectId showing all content. Feed of posts/docs, project description, links.
- Project Configs - Custom theme overrides, project-specific settings.
- Access Control - Dev-only projects (finances), private content metadata flag.
Content Enhancements
- Table of Contents - Auto-generated from headings, sticky sidebar on scroll.
- Related Content - "You might also like" based on tags/projectId.
- Reading Progress - Progress bar showing how far through article.
Social & Sharing
- RSS Feed - Auto-generated from content metadata.
- OG Image Generation - Dynamic social preview images with title/project.
- Newsletter - Weekly digest of published content.
Theme System
- Fix Theme Editor - Currently my theme editor is broken because not all of my components rely on my primitive theme data.
- Theme Presets - One-click themes (dark, light, high contrast, etc.).
- User Theme Preferences - Save/load custom themes, share with others.
✅ Completed
The completed roadmap items have been moved to a dedicated Features page.