> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tinykit.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# FAQ

> Frequently asked questions about tinykit

## General

<AccordionGroup>
  <Accordion title="What is tinykit?">
    tinykit is an AI-powered development platform that lets you build, edit, and host web apps from a single deployment. Chat with AI to generate code, edit in a VS Code-like editor, and see changes live instantly.
  </Accordion>

  <Accordion title="How is this different from Lovable, v0, or Cursor?">
    The key difference: **your builder and your app run on the same server**.

    With other tools, you build locally then deploy separately. With tinykit, there's no deploy step—your app is already live the moment you generate it.

    Plus: open source, bring your own AI key, works on mobile, multi-app support, and costs \~\$10/month total.
  </Accordion>

  <Accordion title="Is this production-ready?">
    tinykit is in **early beta**. Great for:

    * Personal utilities and side projects
    * Internal tools and admin dashboards
    * MVPs and prototypes

    **Keep in mind:**

    * No guarantees against data loss—back up anything important
    * Auth requires manual wiring (no built-in user auth for generated apps)
    * Best suited for internal use or tools where you control access

    Not recommended (yet) for public-facing apps with sensitive user data.
  </Accordion>

  <Accordion title="Is it open source?">
    Yes! MIT licensed. Fork it, customize it, self-host it, sell services with it. [View on GitHub](https://github.com/tinykit-studio/tinykit)
  </Accordion>
</AccordionGroup>

## Deployment & Hosting

<AccordionGroup>
  <Accordion title="Do I need Railway?">
    No. Railway is the easiest option (one-click deploy), but you can host anywhere that runs Node.js:

    * Fly.io
    * DigitalOcean
    * AWS
    * Any VPS
    * Docker

    See [Architecture](/architecture#deployment-options) for deployment guides.
  </Accordion>

  <Accordion title="Can I run multiple apps?">
    Yes! tinykit supports **domain-based routing**. Point multiple domains to your server and each serves a different app:

    ```
    recipes.yourserver.com → Recipe app
    blog.yourserver.com    → Blog app
    crm.yourserver.com     → CRM app
    ```

    Run hundreds of apps from a single tinykit instance.
  </Accordion>

  <Accordion title="Can I deploy the generated apps separately?">
    **For static apps (no database):** Yes, export the built HTML and deploy anywhere.

    **For apps using the database:** No - these require tinykit's backend APIs (`/_tk/data`, `/_tk/realtime`). Keep them hosted on your tinykit instance, or use domain-based routing to serve multiple apps from one server.
  </Accordion>

  <Accordion title="Can I use a custom domain?">
    Yes. Configure your custom domain in Railway (or your hosting platform) and point your DNS there. tinykit automatically serves the right app based on the domain.
  </Accordion>

  <Accordion title="What about SSL/HTTPS?">
    Railway and most modern platforms provide automatic HTTPS. No configuration needed.
  </Accordion>
</AccordionGroup>

## AI & API Keys

<AccordionGroup>
  <Accordion title="Which AI providers are supported?">
    * **OpenAI** - GPT-4o, GPT-4 Turbo, GPT-3.5
    * **Anthropic** - Claude Sonnet 4, Claude 3.5 Sonnet
    * **Google Gemini** - Gemini Pro, Gemini Flash
  </Accordion>

  <Accordion title="Why do I need my own API key?">
    This keeps costs transparent and in your control. You pay your AI provider directly for what you use—no markup, no hidden fees, no subscription.
  </Accordion>

  <Accordion title="How much does AI usage cost?">
    Typical casual usage: \$3-5/month with GPT-4 or Claude.

    Heavy usage (building apps daily): \$10-20/month.

    You can monitor and set limits in your provider's dashboard.
  </Accordion>

  <Accordion title="Can I use Claude Pro or ChatGPT Plus instead of an API key?">
    Yes! If you already pay for Claude Pro, ChatGPT Plus, or another LLM subscription, you can generate apps in those interfaces and import them into tinykit.

    See [No API Key Required](/no-api-key) for the snapshot format and prompt templates.
  </Accordion>
</AccordionGroup>

## Builder Interface

<AccordionGroup>
  <Accordion title="What are the builder tabs?">
    | Tab         | Purpose                                | Shortcut |
    | ----------- | -------------------------------------- | -------- |
    | **Agent**   | Chat with AI to build your app         | `Cmd+1`  |
    | **Code**    | Edit code directly                     | `Cmd+2`  |
    | **Content** | CMS fields for non-developers          | `Cmd+3`  |
    | **Design**  | CSS variables (colors, fonts, spacing) | `Cmd+4`  |
    | **Data**    | Browse and edit database records       | `Cmd+5`  |
    | **History** | Snapshots for undo/time travel         | `Cmd+6`  |
  </Accordion>

  <Accordion title="What are Design fields?">
    Design fields are CSS variables that control your app's appearance. The AI creates these as it builds, and non-technical users can customize them without code:

    * Colors (primary, secondary, background)
    * Fonts (family, sizes)
    * Spacing (padding, margins)
    * Borders (radius, shadows)
  </Accordion>

  <Accordion title="What are Content fields?">
    Content fields are CMS-like editable values—headlines, descriptions, button text. Perfect for letting clients update copy without accessing the code editor.
  </Accordion>

  <Accordion title="Does it work on mobile?">
    Yes! The editor and AI work on tablets. Perfect for quick edits on the go.
  </Accordion>
</AccordionGroup>

## Features & Usage

<AccordionGroup>
  <Accordion title="What languages/frameworks does it generate?">
    tinykit generates **Svelte 5** apps using the runes API (`$state`, `$derived`, `$effect`). Apps compile to standalone HTML with CSS-in-style blocks.

    The AI is specifically tuned for this stack with detailed system prompts.
  </Accordion>

  <Accordion title="Is there version control?">
    Yes! Snapshots are built in. Every AI change creates a snapshot. Click any snapshot in the History tab to restore your code, design fields, and content to that point. Database records are not affected.
  </Accordion>

  <Accordion title="What about databases?">
    tinykit includes **PocketBase**—an embedded SQLite database with:

    * Built-in authentication
    * Real-time subscriptions
    * Admin UI at `/_pb/_`
    * REST API

    The AI creates collections automatically when you ask for data storage.
  </Accordion>

  <Accordion title="What templates are included?">
    14 starter templates across categories:

    | Category         | Templates                          |
    | ---------------- | ---------------------------------- |
    | **Productivity** | Kanban, Notes, Canvas, Timer       |
    | **Finance**      | Expense tracker, Invoice generator |
    | **Content**      | Bookmarks, Recipes                 |
    | **Social**       | Linktree, Poll, Event RSVP         |
    | **Business**     | Client CRM                         |
    | **News**         | HN reader, RSS reader              |
  </Accordion>
</AccordionGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion title="The AI isn't responding">
    Check:

    1. Your API key is correct in `.env`
    2. You have credits/quota with your AI provider
    3. The model name is correct (e.g., `gpt-4o`, not `gpt4`)

    Check your provider's dashboard for usage and errors.
  </Accordion>

  <Accordion title="Preview isn't updating">
    Try:

    1. Hard refresh the preview (Cmd+Shift+R)
    2. Check the browser console for errors
    3. Ensure files are saving (check for save indicator)
  </Accordion>

  <Accordion title="Files aren't saving">
    Check:

    1. File size is under 5MB
    2. File extension isn't blocked (no .exe, .sh, etc.)
    3. Path doesn't contain `../`

    Check browser console for specific error messages.
  </Accordion>

  <Accordion title="Domain routing isn't working">
    Check:

    1. Your domain's DNS is pointing to your tinykit server
    2. The domain is associated with a project in the dashboard
    3. SSL/HTTPS is properly configured

    Visit `/tinykit/dashboard` to see all projects and their domains.
  </Accordion>
</AccordionGroup>

## Still Have Questions?

<CardGroup cols={2}>
  <Card title="GitHub Discussions" icon="comments" href="https://github.com/tinykit-studio/tinykit/discussions">
    Ask the community
  </Card>

  <Card title="Report an Issue" icon="bug" href="https://github.com/tinykit-studio/tinykit/issues">
    Found a bug? Let us know
  </Card>
</CardGroup>
