Spaces:
Running
Running
File size: 30,877 Bytes
7b41fa1 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 |
#!/usr/bin/env python3
"""
Generate all HTML category pages from the original-index.md data
"""
import json
# All category data
all_categories = {
"frameworks": {
"title": "Frameworks & Tools",
"description": "Frameworks, tools, and utilities for AI development",
"icon": "π οΈ",
"projects": [
{"name": "A Few ADKs", "url": "https://github.com/danielrosehill/A-Few-ADKs", "desc": "Point in time collection of some agent development kits (ADKs) to explore"},
{"name": "Agent SDK Env Setup", "url": "https://github.com/danielrosehill/Agent-SDK-Env-Setup", "desc": "Script to clone a few of the main ADKs (agent development kids) for testing/experimentation"},
{"name": "AI Friendly Badge", "url": "https://github.com/danielrosehill/AI-Friendly-Badge", "desc": "Website footer badge signalling AI \"friendliness\""},
{"name": "ASR Training Data Chunker", "url": "https://github.com/danielrosehill/ASR-Training-Data-Chunker", "desc": "Breaks up texts by approximate reading duration"},
{"name": "Batch ClaudeMD Repo Creator", "url": "https://github.com/danielrosehill/Batch-ClaudeMD-Repo-Creator", "desc": "For batch CLAUDE.md creation in large repository collections"},
{"name": "Better Safe", "url": "https://github.com/danielrosehill/Better-Safe", "desc": "CLI for taking on-demand Snapper snapshots (BTRFS)"},
{"name": "Cline Rules", "url": "https://github.com/danielrosehill/Cline-Rules", "desc": "Rules file for Cline"},
{"name": "Continue Dev Blocks", "url": "https://github.com/danielrosehill/Continue-Dev-Blocks", "desc": "Configuration blocks for Continue.dev code-gen assistants"},
{"name": "Email AI Outputs Workflow", "url": "https://github.com/danielrosehill/Email-AI-Outputs-Workflow", "desc": "N8N workflow for sharing prompts and outputs with friends and family with a reformatting node for smoother MD to email-safe HTML"},
{"name": "Gemini CLI Home Guidance", "url": "https://github.com/danielrosehill/Gemini-CLI-Home-Guidance", "desc": "Gemini.md (\"rules\") for the home folder / non repo constrained execution for Gemini CLI (model)"},
{"name": "Gemini Desktop Recorder Notepad", "url": "https://github.com/danielrosehill/Gemini-Desktop-Recorder-Notepad", "desc": "Voice recorder intended for easy voice note capture with AI (STT) postprocessing/cleanup"},
{"name": "Gemini Prompt Library ideator", "url": "https://github.com/danielrosehill/Gemini-Prompt-Library-ideator", "desc": "Using Gemini structured outputs to ideate a prompt library for Open Web UI"},
{"name": "Gemini SSML Formatter", "url": "https://github.com/danielrosehill/Gemini-SSML-Formatter", "desc": "Agent/app using Gemini to format plain markdown into speech synthesis markup language (SSML) for TTS narration"},
{"name": "Gemini Voice Notepad", "url": "https://github.com/danielrosehill/Gemini-Voice-Notepad", "desc": "Voice note transcription and cleanup with reformatting support"},
{"name": "Google Air Quality MCP", "url": "https://github.com/danielrosehill/Google-Air-Quality-MCP", "desc": "WIP - MCP server for querying Google Map's environmental API to retrieve air quality data for a geolocation"},
{"name": "Linux Desktop ClaudeMD Seeder", "url": "https://github.com/danielrosehill/Linux-Desktop-ClaudeMD-Seeder", "desc": "Seeds Claude.md files at common places in Linux Desktop filesystems"},
{"name": "N8N LLM Workflow Bulk Updater", "url": "https://github.com/danielrosehill/N8N-LLM-Workflow-Bulk-Updater", "desc": "Backend script for applying bulk model updates to workflows (use-case: updating LLMs in nodes)"},
{"name": "N8N Workflow Sanitiser Agent", "url": "https://github.com/danielrosehill/N8N-Workflow-Sanitiser-Agent", "desc": "Configuration for an AI agent for sanitising (redacting personal details) in N8N workflow exports"},
{"name": "Open In Windsurf KDE", "url": "https://github.com/danielrosehill/Open-In-Windsurf-KDE", "desc": "Implementing an \"Open In Windsurf\" (AI IDE) context menu element for KDE Plasma"},
{"name": "Private And Public Claude MD", "url": "https://github.com/danielrosehill/Private-And-Public-Claude-MD", "desc": "Slash command to seed private and public CLAUDE.md files"},
{"name": "Prompt Library Privacy Screener", "url": "https://github.com/danielrosehill/Prompt-Library-Privacy-Screener", "desc": "Model for a PII screen (using Ollama) for open sourcing prompt libraries safely"},
{"name": "quick repo creator", "url": "https://github.com/danielrosehill/quick-repo-creator", "desc": "A streamlined CLI tool for fast repository creation workflow with GitHub integration and IDE support"},
{"name": "Smithery Batch Installer", "url": "https://github.com/danielrosehill/Smithery-Batch-Installer", "desc": "Speeds up installing Smithery MCP servers onto multiple clients"},
{"name": "Structured System Prompt Generator", "url": "https://github.com/danielrosehill/Structured-System-Prompt-Generator", "desc": "Streamlit generator to aid with the creation of structured prompts"},
{"name": "Text Transformation Prompt Combiner", "url": "https://github.com/danielrosehill/Text-Transformation-Prompt-Combiner", "desc": "Basic implementation of a prompt concatenation utility for text transformation system prompts for converting transcribed text"},
{"name": "To Clone Or Not To Clone", "url": "https://github.com/danielrosehill/To-Clone-Or-Not-To-Clone", "desc": "Interactive CLI for cloning your Github repos"},
{"name": "Vibe Coded Disclosure", "url": "https://github.com/danielrosehill/Vibe-Coded-Disclosure", "desc": "Quick utility for adding FYI type notices to repos that they were vibe coded"},
{"name": "What Reqs Scanner", "url": "https://github.com/danielrosehill/What-Reqs-Scanner", "desc": "Python utility that scans a repo base for requirements.txt to analyse most used packages and suggest base env"},
{"name": "Whisper Converter Linux", "url": "https://github.com/danielrosehill/Whisper-Converter-Linux", "desc": "Minimalist AI-generated desktop utility for Linux using Whisper API to transcribe audio files"},
{"name": "Windsurf Global Rules", "url": "https://github.com/danielrosehill/Windsurf-Global-Rules", "desc": "Some snippets for global rules configurations for Windsurf IDE"},
{"name": "Windsurf Rules", "url": "https://github.com/danielrosehill/Windsurf-Rules", "desc": "Updated Windsurf rules"},
{"name": "Windsurf Rules 0925", "url": "https://github.com/danielrosehill/Windsurf-Rules-0925", "desc": "Refactored Windsurf Rules for the program's change to a modular config approach"},
]
},
"claude-code": {
"title": "Claude Code Projects",
"description": "Projects built with and for Claude Code CLI",
"icon": "π»",
"projects": [
{"name": "AI Developer Notebook", "url": "https://github.com/danielrosehill/AI-Developer-Notebook", "desc": "Notes for configuring a reference notebook with Claude Code"},
{"name": "Claude Code Context Feature Requests", "url": "https://github.com/danielrosehill/Claude-Code-Context-Feature-Requests", "desc": "A couple of feature requests (including my own) discussing context handling in Claude code"},
{"name": "Claude Code Linux Desktop Slash Commands", "url": "https://github.com/danielrosehill/Claude-Code-Linux-Desktop-Slash-Commands", "desc": "Slash commands for Linux desktop sysadmin with Claude Code (or any other agent)"},
{"name": "Claude Code MCP Command Generator", "url": "https://github.com/danielrosehill/Claude-Code-MCP-Command-Generator", "desc": "Provides CC MCP installation commands"},
{"name": "Claude Code Repo Managers ClaudeMD", "url": "https://github.com/danielrosehill/Claude-Code-Repo-Managers-ClaudeMD", "desc": "CLAUDE.md files for repo base levels for bulk mgmt"},
{"name": "Claude Code Repos Index", "url": "https://github.com/danielrosehill/Claude-Code-Repos-Index", "desc": "Index of repositories related to Claude Code CLI"},
{"name": "Claude Code Writing Squad", "url": "https://github.com/danielrosehill/Claude-Code-Writing-Squad", "desc": "Model repository structure for using a Claude Code agent crew for writing related tasks"},
{"name": "Claude OS Sync Agent", "url": "https://github.com/danielrosehill/Claude-OS-Sync-Agent", "desc": "Idea - using Claude Code in place of Ansible for cross-device updating/sync"},
{"name": "Claude Slash Commands", "url": "https://github.com/danielrosehill/Claude-Slash-Commands", "desc": "My Claude Code slash commands"},
{"name": "Claude Sub Agent Network", "url": "https://github.com/danielrosehill/Claude-Sub-Agent-Network", "desc": "Collection of subagents for Claude Code with configs spanning ideation, editing, version control"},
{"name": "Cool Claude Code Stuff", "url": "https://github.com/danielrosehill/Cool-Claude-Code-Stuff", "desc": "Claude Code repos and other resources"},
{"name": "Home Folder Claude MD", "url": "https://github.com/danielrosehill/Home-Folder-Claude-MD", "desc": "CLAUDE.md for my home directory on an Ubuntu Linux desktop"},
{"name": "Non Code Claude Code", "url": "https://github.com/danielrosehill/Non-Code-Claude-Code", "desc": "Small collection of non-development related uses for Claude Code"},
{"name": "Smithery Claude Code MCP Jumpstarter", "url": "https://github.com/danielrosehill/Smithery-Claude-Code-MCP-Jumpstarter", "desc": "Group of Smithery MCPs for Claude Code"},
]
},
"mcp": {
"title": "MCP Projects",
"description": "Model Context Protocol servers and implementations",
"icon": "π",
"projects": [
{"name": "Google Air Quality MCP Postman Autogenerated", "url": "https://github.com/danielrosehill/Google-Air-Quality-MCP-Postman-Autogenerated", "desc": "Auto-generated MCP server for Google Air Quality API"},
{"name": "Jewish Interest MCP Projects", "url": "https://github.com/danielrosehill/Jewish-Interest-MCP-Projects", "desc": "Some MCP (model context protocol) servers which might be of interest to Jewish users"},
{"name": "Linux MCP Clients", "url": "https://github.com/danielrosehill/Linux-MCP-Clients", "desc": "A very small list of MCP clients that are available to Linux users, GUIs + CLIs"},
{"name": "MCP Projects", "url": "https://github.com/danielrosehill/MCP-Projects", "desc": "Various MCP related projects I'm either working on (or have worked on)"},
{"name": "MCP Server Ideas", "url": "https://github.com/danielrosehill/MCP-Server-Ideas", "desc": "Plans/WIP for MCP servers"},
{"name": "MCP Server JSON Sync", "url": "https://github.com/danielrosehill/MCP-Server-JSON-Sync", "desc": "Sync script for syncing VS Code MCP server JSON to Roo Code's store"},
{"name": "Qwen Agent", "url": "https://github.com/danielrosehill/Qwen-Agent", "desc": "Agent framework and applications built upon Qwen>=3.0, featuring Function Calling, MCP, Code Interpreter, RAG, Chrome extension, etc."},
{"name": "awesome mcp clients", "url": "https://github.com/danielrosehill/awesome-mcp-clients", "desc": "A collection of MCP clients."},
]
},
"gemini": {
"title": "Gemini Projects",
"description": "Projects leveraging Google's Gemini AI",
"icon": "β¨",
"projects": [
{"name": "Gemini AI Podcast Generator Web UI", "url": "https://github.com/danielrosehill/Gemini-AI-Podcast-Generator-Web-UI", "desc": "Web UI for Gemini AI podcast generator (Firebase Studio project)"},
{"name": "Gemini Ubuntu Maintenance Agent", "url": "https://github.com/danielrosehill/Gemini-Ubuntu-Maintenance-Agent", "desc": "Maintenance agent for Ubuntu systems using Gemini"},
{"name": "Gemini Vibe Coding Projects", "url": "https://github.com/danielrosehill/Gemini-Vibe-Coding-Projects", "desc": "List of vibe-coded starters created with Google AI Studio app builder"},
{"name": "Multimodal AI Use Case Ideator", "url": "https://github.com/danielrosehill/Multimodal-AI-Use-Case-Ideator", "desc": "Ideates use-cases for multimodal AI (Gemini)"},
{"name": "STT To TTS", "url": "https://github.com/danielrosehill/STT-To-TTS", "desc": "Gemini app which captures user speech, condenses (LLM), and then synthes"},
{"name": "Structured Gemini Prompts", "url": "https://github.com/danielrosehill/Structured-Gemini-Prompts", "desc": "A couple of examples of using Gemini 2.5 with structured outputs in Google AI Studio in order to conduct document analysis."},
]
},
"automation": {
"title": "Automation & Workflows",
"description": "N8N workflows and automation tools",
"icon": "π",
"projects": [
{"name": "Israel Morning News Briefs N8N Perplexity Sonar", "url": "https://github.com/danielrosehill/Israel-Morning-News-Briefs-N8N-Perplexity-Sonar", "desc": "Using Perplexity API structured prompting and N8N to deliver a tailored news brief"},
{"name": "N8N Expense Processing Workflow", "url": "https://github.com/danielrosehill/N8N-Expense-Processing-Workflow", "desc": "Expense processing backend workflow with AI agent for doc analysis"},
{"name": "N8N Test Agents", "url": "https://github.com/danielrosehill/N8N-Test-Agents", "desc": "Simple n8n agent patterns for learning the ropes or validating MCP calling"},
{"name": "N8N Voice Note Context Pipeline Workflow", "url": "https://github.com/danielrosehill/N8N-Voice-Note-Context-Pipeline-Workflow", "desc": "Workflow for extracting context data from voice notes and passing them into Pipecone vector database for upserting"},
{"name": "N8N Workflows Index", "url": "https://github.com/danielrosehill/N8N-Workflows-Index", "desc": "Index of N8N workflows that I have shared on Github"},
{"name": "Parenting Questions AI Agent Workflow", "url": "https://github.com/danielrosehill/Parenting-Questions-AI-Agent-Workflow", "desc": "Workflow for an agent that answers parenting questions by email with upload to Google Drive"},
{"name": "Save AI Outputs To Nuclino N8N", "url": "https://github.com/danielrosehill/Save-AI-Outputs-To-Nuclino-N8N", "desc": "N8N workflow for saving AI outputs to Nuclino and posting a notification to Slack"},
{"name": "Stack Research Agent N8N Config", "url": "https://github.com/danielrosehill/Stack-Research-Agent-N8N-Config", "desc": "N8N configuration for stack research agent"},
{"name": "Structured Output Schemas", "url": "https://github.com/danielrosehill/Structured-Output-Schemas", "desc": "Reuseable JSON schemas for structured Ai assistant/agent workflows"},
{"name": "System Prompt Tuning Agent N8N", "url": "https://github.com/danielrosehill/System-Prompt-Tuning-Agent-N8N", "desc": "N8N agent workflow for an agent that recommends fixes to system prompts based on structured user inputs provided by form"},
{"name": "Voice Prompt Enhancement Node", "url": "https://github.com/danielrosehill/Voice-Prompt-Enhancement-Node", "desc": "Configuration for an intermediate agent in voice automation workflows that bridge voice input to other actions"},
{"name": "Voicenotes Prompt To Email Workflow N8N", "url": "https://github.com/danielrosehill/Voicenotes-Prompt-To-Email-Workflow-N8N", "desc": "Voice notes to email workflow using N8N"},
]
},
"context": {
"title": "Context & Prompt Libraries",
"description": "Context repositories and prompt collections",
"icon": "π",
"projects": [
{"name": "Audiopenai Edit Prompts", "url": "https://github.com/danielrosehill/Audiopenai-Edit-Prompts", "desc": "Text transformation prompts library for Audiopen.ai (my customs)"},
{"name": "Career Data AI Context Repo", "url": "https://github.com/danielrosehill/Career-Data-AI-Context-Repo", "desc": "Context repository for AI tools providing career info to guide agents, assistants, etc"},
{"name": "Long AI Prompting Experiment", "url": "https://github.com/danielrosehill/Long-AI-Prompting-Experiment", "desc": "Experiment testing the \"added value\" of long context-dense prompts (versus casual converastional prompts) and the value of a voice \"prompt optimisation\" agent"},
{"name": "Software Wish List AI Context", "url": "https://github.com/danielrosehill/Software-Wish-List-AI-Context", "desc": "Context repository to connect to AI tools - things I look for in most software evaluations"},
{"name": "Text Transformation Prompt Library", "url": "https://github.com/danielrosehill/Text-Transformation-Prompt-Library", "desc": "Updated repo of text transformation prompts (raw STT transcripts -> *). New repo for capturing via automations."},
{"name": "Voice To Prompt Pipeline", "url": "https://github.com/danielrosehill/Voice-To-Prompt-Pipeline", "desc": "A conceptual voice to prompt pipeline that attempts to separate instructions from provided context for better results"},
]
},
"utilities": {
"title": "Tools & Utilities",
"description": "Standalone tools and utility applications",
"icon": "π§",
"projects": [
{"name": "ACR 1252 GUI 1025", "url": "https://github.com/danielrosehill/ACR-1252-GUI-1025", "desc": "Updated \"vibe-coded\" GUI for reading/writing to the ACR1252 USB NFC reader/writer (Linux)"},
{"name": "AI Assistant Ideator Streamlit", "url": "https://github.com/danielrosehill/AI-Assistant-Ideator-Streamlit", "desc": "Streamlit implementation for an AI \"self-ideation\" utility"},
{"name": "AI Assistant Ideator", "url": "https://github.com/danielrosehill/AI-Assistant-Ideator", "desc": "Streamlit app for ideating AI assisants"},
{"name": "Bash Alias Manager Claude", "url": "https://github.com/danielrosehill/Bash-Alias-Manager-Claude", "desc": "Claude agent directory for managing bash aliases"},
{"name": "Bug Reports Public", "url": "https://github.com/danielrosehill/Bug-Reports-Public", "desc": "Sanitised or non-sensitive bug reports that may have diagnostic utility for others"},
{"name": "Career Pivot AI", "url": "https://github.com/danielrosehill/Career-Pivot-AI", "desc": "Career pivot ideation app (AI Studio, vibe coded starter)"},
{"name": "Great AI Convos", "url": "https://github.com/danielrosehill/Great-AI-Convos", "desc": "A few timestampped conversations with AI tools that left an impression, recorded for posterity"},
{"name": "LLM Preferences Guide", "url": "https://github.com/danielrosehill/LLM-Preferences-Guide", "desc": "(Experiment) Predefined set of instructions for local agents governing LLM usage and selection"},
{"name": "Ollama Ideation UI", "url": "https://github.com/danielrosehill/Ollama-Ideation-UI", "desc": "Desktop app for running batch \"ideation\" prompts with a local LLM"},
{"name": "Shakespearean Text Generator Streamlit", "url": "https://github.com/danielrosehill/Shakespearean-Text-Generator-Streamlit", "desc": "Strealit app for generating Shakespearean text ... because why not"},
{"name": "Tech Stack Structured", "url": "https://github.com/danielrosehill/Tech-Stack-Structured", "desc": "Structured version of tech stack, including AI tools"},
{"name": "Tech Tool Prompting 0525", "url": "https://github.com/danielrosehill/Tech-Tool-Prompting-0525", "desc": "Some stack evaluation prompts as I try to finish my stack \"updating\" process"},
{"name": "Voice Notepad Prototype Planning", "url": "https://github.com/danielrosehill/Voice-Notepad-Prototype-Planning", "desc": "Planning and outlining for an AI voice app for organisation"},
{"name": "Whisper Notepad Simple", "url": "https://github.com/danielrosehill/Whisper-Notepad-Simple", "desc": "A Linux desktop utility for converting speech to text using the OpenAI Whisper API"},
]
},
"documentation": {
"title": "Documentation & Indexes",
"description": "Documentation projects and resource indexes",
"icon": "π",
"projects": [
{"name": "AI Agents", "url": "https://github.com/danielrosehill/AI-Agents", "desc": "Periodically updated index of AI agent configurations that I'm working on (or have created)"},
{"name": "AI Generated Projects Index", "url": "https://github.com/danielrosehill/AI-Generated-Projects-Index", "desc": "Index of development projects that were partially or fully developed using AI"},
{"name": "AI Projects Index", "url": "https://github.com/danielrosehill/AI-Projects-Index", "desc": "Index of AI project related indices (master index)"},
{"name": "Awesome AI Agents And Assistants", "url": "https://github.com/danielrosehill/Awesome-AI-Agents-And-Assistants", "desc": "An ecosystem map of the AI agent and assistant building landscape in Feb 2025"},
{"name": "Awesome AI Coding Tools", "url": "https://github.com/danielrosehill/Awesome-AI-Coding-Tools", "desc": "September 1st 2025 Snapshot"},
{"name": "Awesome List Repos Index", "url": "https://github.com/danielrosehill/Awesome-List-Repos-Index", "desc": "Index of listing repositories I have created"},
{"name": "Awesome Whisper Apps", "url": "https://github.com/danielrosehill/Awesome-Whisper-Apps", "desc": "Useful speech to text tools that use Whisper under the hood (API/local)"},
{"name": "Backup Projects Index", "url": "https://github.com/danielrosehill/Backup-Projects-Index", "desc": "Indexing repo of backup related projects and scripts"},
{"name": "Context Projects Index", "url": "https://github.com/danielrosehill/Context-Projects-Index", "desc": "Index of projects related to context-gathering and generation for AI, including via interview approaches"},
{"name": "Deep Research Projects 0425", "url": "https://github.com/danielrosehill/Deep-Research-Projects-0425", "desc": "A collection of links to a few AI \"deep research\" projects and agents, April 2025"},
{"name": "Hebrew LLMs", "url": "https://github.com/danielrosehill/Hebrew-LLMs", "desc": "A pathfinder repo (index) to some Hebrew language LLMs on Hugging Face"},
{"name": "Linux STT And Voice Assistants", "url": "https://github.com/danielrosehill/Linux-STT-And-Voice-Assistants", "desc": "Point in time snapshot/index of STT and voice assistants projects for Linux desktop"},
{"name": "My Docs Index", "url": "https://github.com/danielrosehill/My-Docs-Index", "desc": "An index to my various documentation projects, both on Github and elsewhere"},
{"name": "Text Transformation Prompt Collection 2", "url": "https://github.com/danielrosehill/Text-Transformation-Prompt-Collection-2", "desc": "An abbreviated collection of STT transformation prompts"},
]
},
"miscellaneous": {
"title": "Miscellaneous",
"description": "Various AI experiments and unique projects",
"icon": "π",
"projects": [
{"name": "AI Agent Ideation Agent", "url": "https://github.com/danielrosehill/AI-Agent-Ideation-Agent", "desc": "Ideation agent that generates ideas for AI agents!"},
{"name": "AI Output Storage Backend Data Models", "url": "https://github.com/danielrosehill/AI-Output-Storage-Backend-Data-Models", "desc": "Some simple data tables for populating a backend for storing prompt runs"},
{"name": "Agents.md Templates", "url": "https://github.com/danielrosehill/Agents.md-Templates", "desc": "Template agents.md templates for use with OpenAI Codex"},
{"name": "Ai Development Template", "url": "https://github.com/danielrosehill/Ai-Development-Template", "desc": "Development template for AI projects"},
{"name": "Assistant Self Ideation 280325", "url": "https://github.com/danielrosehill/Assistant-Self-Ideation-280325", "desc": "AI assistant \"self-ideation\" run"},
{"name": "Back Up Your SaaS", "url": "https://github.com/danielrosehill/Back-Up-Your-SaaS", "desc": "Notes for fellow cautious trusters of \"the cloud\""},
{"name": "Github AI Searches", "url": "https://github.com/danielrosehill/Github-AI-Searches", "desc": "A series of search links for those wishing to drink from the firehose of open-source AI"},
{"name": "LLM Detective", "url": "https://github.com/danielrosehill/LLM-Detective", "desc": "Agent that tries to probe other models' capabilities with conversation"},
{"name": "Llama OS Doctor Idea", "url": "https://github.com/danielrosehill/Llama-OS-Doctor-Idea", "desc": "Planning notes for an AI agent / experiment"},
{"name": "Local Linux Repair Bot", "url": "https://github.com/danielrosehill/Local-Linux-Repair-Bot", "desc": "Experimentary repo to try use an AI IDE as a local agent workspace for local OS debugging"},
{"name": "Multimodal AI Taxonomy", "url": "https://github.com/danielrosehill/Multimodal-AI-Taxonomy", "desc": "Attempting to map out the various input/output permutations for multimodal AI"},
{"name": "My Weird Prompts", "url": "https://github.com/danielrosehill/My-Weird-Prompts", "desc": "Blog/podcast made out of colorful (and mundane) AI prompts - and answers!"},
{"name": "OSINT Missile Intelligence Agent", "url": "https://github.com/danielrosehill/OSINT-Missile-Intelligence-Agent", "desc": "Snap reports about causes and quantitiative info about hostile missile launches"},
{"name": "One Prompt AI Book", "url": "https://github.com/danielrosehill/One-Prompt-AI-Book", "desc": "Experiment - generating a book using a single prompt"},
{"name": "OpenAI Image Renamer", "url": "https://github.com/danielrosehill/OpenAI-Image-Renamer", "desc": "Simple Python script for batch file renaming operations with OpenAI API"},
{"name": "Perplexity API Tests 020425", "url": "https://github.com/danielrosehill/Perplexity-API-Tests-020425", "desc": "Quick test prompts to compare respones against various Sonar API endpoints"},
{"name": "Remote Jobs Research Agent", "url": "https://github.com/danielrosehill/Remote-Jobs-Research-Agent", "desc": "Company research agent targeted towards the needs of remote job seekers sourcing detailed information about company backgrounds as well as remote-specific information"},
{"name": "STT Fine Tune Project Outline", "url": "https://github.com/danielrosehill/STT-Fine-Tune-Project-Outline", "desc": "Planning doc for STT fine-tuning and eval project"},
{"name": "STT Voice Note Evaluation", "url": "https://github.com/danielrosehill/STT-Voice-Note-Evaluation", "desc": "STT voice note evaluation project"},
{"name": "Text To Image Test Prompts", "url": "https://github.com/danielrosehill/Text-To-Image-Test-Prompts", "desc": "Informal prompts for testing out text-to-image"},
{"name": "The Bot Has A Question", "url": "https://github.com/danielrosehill/The-Bot-Has-A-Question", "desc": "Weird AI experiment #342"},
{"name": "The Jerusalem Odyssey Text", "url": "https://github.com/danielrosehill/The-Jerusalem-Odyssey-Text", "desc": "A 100 page book manuscript generated from a single prompt using Sonnet 3.7"},
{"name": "Veo 31 Prompts", "url": "https://github.com/danielrosehill/Veo-31-Prompts", "desc": "A few ridiculous prompts for trying out Veo 3.1"},
{"name": "Voice Note Dataset", "url": "https://github.com/danielrosehill/Voice-Note-Dataset", "desc": "Frontend for open source vote note dataset for annotation/classifictaion project"},
{"name": "Voice Notepad With Transformations", "url": "https://github.com/danielrosehill/Voice-Notepad-With-Transformations", "desc": "Linux voice notepad (latest version) with text transformations in addition to STT"},
{"name": "Whisper Notepad For Linux", "url": "https://github.com/danielrosehill/Whisper-Notepad-For-Linux", "desc": "Notepad for Linux that uses OpenAI Whisper (API) and reformats dictated text"},
{"name": "Wireframe Cleaner Nano Banana", "url": "https://github.com/danielrosehill/Wireframe-Cleaner-Nano-Banana", "desc": "Clean up handdrawn wireframes/sketches with Nano Banana (WIP)"},
]
}
}
def generate_category_page(filename, category_data):
"""Generate an HTML page for a category"""
html = f'''<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{category_data["title"]} - AI Projects Index</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<header>
<div class="container">
<h1>{category_data["icon"]} {category_data["title"]}</h1>
<p class="subtitle">{category_data["description"]}</p>
</div>
</header>
<main class="container">
<a href="index.html" class="back-link">β Back to Index</a>
<section class="search-section">
<input type="text" id="projectSearch" placeholder="Search projects..." />
</section>
<section class="projects-list">
'''
for project in category_data["projects"]:
html += f''' <div class="project-card">
<h3><a href="{project["url"]}" target="_blank">{project["name"]}</a></h3>
<span class="badge">{category_data["title"]}</span>
<p>{project["desc"]}</p>
</div>
'''
html += ''' </section>
</main>
<footer>
<div class="container">
<p>© 2025 Daniel Rosehill. Last Updated: August 2025</p>
<p>
<a href="https://github.com/danielrosehill" target="_blank">GitHub</a> |
<a href="https://danielrosehill.com" target="_blank">Website</a> |
<a href="mailto:public@danielrosehill.com">Contact</a>
</p>
</div>
</footer>
<script src="script.js"></script>
</body>
</html>
'''
with open(filename, 'w') as f:
f.write(html)
print(f"Generated {filename}")
# Generate pages
for category_key, category_data in all_categories.items():
generate_category_page(f"{category_key}.html", category_data)
print("\nAll category pages generated successfully!")
|