{
  "$schema": "./catalog.schema.json",
  "site": {
    "name": "HandyDude",
    "domain": "ochandydude.dev",
    "baseUrl": "https://ochandydude.dev",
    "title": "HandyDude \u2014 Android apps: private offline AI, tools & games",
    "description": "HandyDude builds Android apps that respect your privacy: on-device AI chat, PDF experts, bedtime stories, Morse chat, games and more \u2014 all on Google Play.",
    "email": "ochandydude@gmail.com",
    "playDevUrl": "https://play.google.com/store/apps/developer?id=HandyDude",
    "ogImage": "https://ochandydude.dev/assets/og-banner.jpg",
    "categories": [
      "AI & Chat",
      "Productivity",
      "Lifestyle",
      "Games",
      "Creative"
    ],
    "hero": {
      "visual": "fluid",
      "eyebrow": "Independent Android developer",
      "headlinePre": "Apps that",
      "headlineAccent": "respect your privacy",
      "headlinePost": "and feel alive.",
      "sub": "I'm HandyDude \u2014 I build Android apps powered by on-device AI: private offline chat, document experts, clever tools, and games. No accounts, no cloud dependency \u2014 just software that works for you.",
      "stats": [
        {
          "before": "",
          "bold": "9",
          "after": " Android apps"
        },
        {
          "before": "On-device ",
          "bold": "AI",
          "after": ""
        },
        {
          "before": "",
          "bold": "Privacy",
          "after": "-first"
        }
      ],
      "ctaPrimary": {
        "label": "Explore the apps",
        "href": "#apps"
      },
      "ctaSecondary": {
        "label": "Get in touch",
        "href": "mailto:ochandydude@gmail.com"
      }
    },
    "sections": {
      "apps": {
        "title": "The apps",
        "sub": "Private AI, handy tools, and things that are just plain fun \u2014 all on Google Play."
      },
      "values": {
        "title": "Why on-device?",
        "sub": "Most HandyDude apps run their AI right on your phone. That choice shapes everything.",
        "items": [
          {
            "icon": "shield",
            "title": "Private by design",
            "text": "Conversations, documents, and questions stay on your device \u2014 there's no server in the middle reading along."
          },
          {
            "icon": "chip",
            "title": "Works offline",
            "text": "Models run locally, so the apps keep working on flights, in the woods, or anywhere the signal doesn't reach."
          },
          {
            "icon": "sparkle",
            "title": "Made with care",
            "text": "Small, focused apps built by one developer \u2014 polished animations, honest features, no dark patterns."
          }
        ]
      }
    }
  },
  "apps": [
    {
      "slug": "localai",
      "name": "Local AI",
      "fullName": "Local AI: Private Offline Chat",
      "category": "AI & Chat",
      "tagline": "A full AI chat that runs entirely on your phone \u2014 no internet, no account, no cloud.",
      "description": {
        "short": "A full AI chat that runs entirely on your phone \u2014 no internet, no account, no cloud. Free on Google Play.",
        "long": [
          "Local AI turns your Android phone into a self-contained AI chat. Large language and vision models run completely on-device, so your conversations never leave your pocket \u2014 it even works in airplane mode.",
          "Download open models right inside the app, stream responses token by token, attach photos for on-device image understanding, and pick between CPU and GPU inference. No sign-up, no tracking \u2014 private by design."
        ]
      },
      "features": [
        "Runs LLMs and vision models 100% on-device",
        "Works fully offline \u2014 no account or cloud needed",
        "Streaming chat with photo understanding"
      ],
      "badges": [
        "Free",
        "Android",
        "by HandyDude"
      ],
      "playUrl": "https://play.google.com/store/apps/details?id=com.ochandydude.localai",
      "icon": "/assets/icons/localai.png",
      "accent": "#a78bfa",
      "hero": "orb",
      "order": 10,
      "published": true,
      "comingSoon": false,
      "notice": null
    },
    {
      "slug": "localclaw",
      "name": "LocalClaw",
      "fullName": "Offline AI Agent: LocalClaw",
      "category": "AI & Chat",
      "tagline": "An AI agent that works through tasks on your device \u2014 offline and under your control.",
      "description": {
        "short": "An AI agent that works through tasks on your device \u2014 offline and under your control. Free on Google Play.",
        "long": [
          "LocalClaw is an AI agent built for Android that plans and works through multi-step tasks locally on your phone. It is offline-first: the agent's reasoning happens on-device, so your prompts and data stay with you.",
          "Give it a goal and watch it break the work into steps \u2014 a hands-on way to try agentic AI without sending anything to the cloud."
        ]
      },
      "features": [
        "On-device AI agent for multi-step tasks",
        "Offline-first \u2014 no cloud in the loop",
        "Your prompts and data never leave the phone"
      ],
      "badges": [
        "Free",
        "Android",
        "by HandyDude"
      ],
      "playUrl": "https://play.google.com/store/apps/details?id=com.ochandydude.localclaw",
      "icon": "/assets/icons/localclaw.png",
      "accent": "#86efac",
      "hero": "terminal",
      "order": 20,
      "published": true,
      "comingSoon": false,
      "notice": null
    },
    {
      "slug": "secretai",
      "name": "Secret AI",
      "fullName": "Secret AI: Offline Solver",
      "category": "AI & Chat",
      "tagline": "An on-device AI solver that answers questions privately \u2014 even in airplane mode.",
      "description": {
        "short": "An on-device AI solver that answers questions privately \u2014 even in airplane mode. Free on Google Play.",
        "long": [
          "Secret AI is a discreet problem solver that runs entirely on your phone. Ask a question and get an answer generated locally \u2014 no connection required and nothing is sent anywhere.",
          "Built for moments when you want a quick, private answer: homework-style problems, explanations, and everyday questions handled on-device."
        ]
      },
      "features": [
        "Solves questions entirely on-device",
        "Works without internet \u2014 answers stay private",
        "Lightweight and fast to use"
      ],
      "badges": [
        "Free",
        "Android",
        "by HandyDude"
      ],
      "playUrl": "https://play.google.com/store/apps/details?id=com.ochandydude.secretai",
      "icon": "/assets/icons/secretai.png",
      "accent": "#c084fc",
      "hero": "cypher",
      "order": 30,
      "published": true,
      "comingSoon": false,
      "notice": null
    },
    {
      "slug": "offlineaiexpert",
      "name": "AI Expert",
      "fullName": "Offline AI Expert: PDF RAG",
      "category": "Productivity",
      "tagline": "Chat with your PDFs offline \u2014 on-device retrieval that cites the document itself.",
      "description": {
        "short": "Chat with your PDFs offline \u2014 on-device retrieval that cites the document itself. Free on Google Play.",
        "long": [
          "Offline AI Expert lets you load PDF documents and ask questions about them \u2014 fully on-device. It indexes your files locally and answers with retrieval-augmented generation, so responses are grounded in your documents.",
          "Because everything runs on the phone, sensitive files \u2014 contracts, manuals, study notes \u2014 never have to leave the device."
        ]
      },
      "features": [
        "Ask questions about your PDFs, answered on-device",
        "Retrieval-augmented answers grounded in the document",
        "Private \u2014 files and questions stay on the phone"
      ],
      "badges": [
        "Free",
        "Android",
        "by HandyDude"
      ],
      "playUrl": "https://play.google.com/store/apps/details?id=com.ochandydude.offlineaiexpert",
      "icon": "/assets/icons/offlineaiexpert.png",
      "accent": "#fbbf24",
      "hero": "docs",
      "order": 40,
      "published": true,
      "comingSoon": false,
      "notice": null
    },
    {
      "slug": "stella",
      "name": "Stella",
      "fullName": "AI Bedtime Stories: Stella",
      "category": "Lifestyle",
      "tagline": "Personalized AI bedtime stories \u2014 a fresh tale every night.",
      "description": {
        "short": "Personalized AI bedtime stories \u2014 a fresh tale every night. Free on Google Play.",
        "long": [
          "Stella creates unique bedtime stories with AI, tailored to the little details that make kids smile \u2014 their name, favorite animals, and the worlds they love.",
          "Every story is generated fresh, so bedtime never repeats itself. Calm, family-friendly tales designed for winding down at the end of the day."
        ]
      },
      "features": [
        "Personalized bedtime stories generated by AI",
        "A fresh tale every night \u2014 never the same story twice",
        "Family-friendly, calm storytelling"
      ],
      "badges": [
        "Free",
        "Android",
        "by HandyDude"
      ],
      "playUrl": "https://play.google.com/store/apps/details?id=com.ochandydude.stella",
      "icon": "/assets/icons/stella.png",
      "accent": "#818cf8",
      "hero": "night",
      "order": 50,
      "published": true,
      "comingSoon": false,
      "notice": null
    },
    {
      "slug": "hooktime",
      "name": "HookTime",
      "fullName": "AI Fishing Forecast: HookTime",
      "category": "Lifestyle",
      "tagline": "AI-powered fishing forecasts \u2014 know the best times to cast a line.",
      "description": {
        "short": "AI-powered fishing forecasts \u2014 know the best times to cast a line. Free on Google Play.",
        "long": [
          "HookTime helps anglers plan their trips with AI-assisted fishing forecasts. It combines conditions and patterns to highlight when fish are most likely to bite.",
          "Check the forecast before you head out and spend more time fishing when it counts."
        ]
      },
      "features": [
        "AI-assisted fishing forecasts",
        "Bite-time guidance to plan your trips",
        "Simple, focused tool for anglers"
      ],
      "badges": [
        "Free",
        "Android",
        "by HandyDude"
      ],
      "playUrl": "https://play.google.com/store/apps/details?id=com.ochandydude.hooktime",
      "icon": "/assets/icons/hooktime.png",
      "accent": "#38bdf8",
      "hero": "waves",
      "order": 60,
      "published": true,
      "comingSoon": false,
      "notice": null
    },
    {
      "slug": "morselink",
      "name": "Morse Link",
      "fullName": "AI Morse Link \u2013 Light Chat",
      "category": "Lifestyle",
      "tagline": "Chat in Morse code with light and sound \u2014 messages that travel through the air.",
      "description": {
        "short": "Chat in Morse code with light and sound \u2014 messages that travel through the air. Free on Google Play.",
        "long": [
          "Morse Link turns your phone into a Morse communicator: send messages as light flashes and sound beeps, and decode incoming signals on the other device.",
          "A playful way to learn Morse code and chat without a network \u2014 powered by on-device signal processing with an AI assist."
        ]
      },
      "features": [
        "Send and receive Morse via light and sound",
        "No network needed \u2014 chat device to device",
        "A fun way to learn Morse code"
      ],
      "badges": [
        "Free",
        "Android",
        "by HandyDude"
      ],
      "playUrl": "https://play.google.com/store/apps/details?id=com.ochandydude.morselink",
      "icon": "/assets/icons/morselink.png",
      "accent": "#f59e0b",
      "hero": "morse",
      "order": 70,
      "published": true,
      "comingSoon": false,
      "notice": null
    },
    {
      "slug": "cubrix",
      "name": "HandyAI Games",
      "fullName": "HandyAI Games",
      "category": "Games",
      "tagline": "A collection of quick, lightweight casual games \u2014 easy to pick up, hard to put down.",
      "description": {
        "short": "A collection of quick, lightweight casual games \u2014 easy to pick up, hard to put down. Free on Google Play.",
        "long": [
          "HandyAI Games bundles simple, satisfying casual games into one lightweight app \u2014 block puzzles and quick challenges designed for short breaks.",
          "No heavy downloads per game, no fuss: open the app and play."
        ]
      },
      "features": [
        "Casual games in one lightweight app",
        "Quick sessions \u2014 perfect for short breaks",
        "Plays great offline"
      ],
      "badges": [
        "Free",
        "Android",
        "by HandyDude"
      ],
      "playUrl": "https://play.google.com/store/apps/details?id=com.ochandydude.cubrix",
      "icon": "/assets/icons/cubrix.png",
      "accent": "#22d3ee",
      "hero": "blocks",
      "order": 80,
      "published": true,
      "comingSoon": false,
      "notice": null
    },
    {
      "slug": "oig",
      "name": "OIG",
      "fullName": "OIG: AI Image Generator",
      "category": "Creative",
      "tagline": "AI image generation on Android \u2014 turning ideas into pictures.",
      "description": {
        "short": "AI image generation on Android \u2014 turning ideas into pictures. Coming soon.",
        "long": [
          "OIG is an AI image generator for Android \u2014 describe an idea and watch it become a picture, right on your phone.",
          "The app is temporarily unavailable while we work on its return. Check back soon."
        ]
      },
      "features": [
        "Text-to-image generation on Android",
        "Simple prompt-to-picture workflow",
        "Returning soon"
      ],
      "badges": [
        "Coming soon",
        "Android",
        "by HandyDude"
      ],
      "playUrl": null,
      "icon": "/assets/icons/oig.png",
      "accent": "#e879f9",
      "hero": "genimg",
      "order": 90,
      "published": true,
      "comingSoon": true,
      "notice": "Temporarily unavailable. OIG isn't on Google Play right now \u2014 we're working on bringing it back. Everything else is live and ready below."
    }
  ]
}
