Skip to main content

When to use which app type

DIAL offers three app types, each designed for a different development model and set of trade-offs. This page helps you choose the right one for your use case.

Decision matrix​

CriterionCustom AppQuick AppCode App
DevelopmentPython + DIAL SDKNo code — configuration and UIPython in browser editor
HostingSelf-managed (Docker, Kubernetes)Platform-managedPlatform-managed
ModificationContainer rebuild and redeployAPI call or UI editEdit in browser, redeploy
External network accessFull (your infrastructure)Via web API ToolsetsNone
State managementAny (your databases, storage)DIAL APIs onlyDIAL APIs only
ScalingManual (your infrastructure)AutomaticAutomatic
Security isolationYour responsibilityPlatform-managedStrict — no internet, encrypted, isolated
Best forProduction services, complex logic, external integrationsRapid prototyping, tool composition, RAG workflowsPOCs, experiments, single-purpose tools

Choosing by use case​

  • "I need a production-grade service with custom dependencies and external API calls."

    Use a Custom App. You control the container, dependencies, and network. Deploy alongside DIAL Core in Docker Compose or Kubernetes.

  • "I want to compose a workflow from existing models, apps, and external APIs — without writing code."

    Use a Quick App. Combine a language model with system instructions and Toolsets (web APIs, MCP servers, other DIAL apps) to create a workflow in minutes.

  • "I want to quickly prototype something in Python without managing infrastructure."

    Use a Code App. Write Python directly in DIAL Chat, deploy with one click. The platform handles hosting and scaling. Be aware of the security restrictions: no internet access and a limited set of pre-approved libraries.

Combining app types​

App types are not mutually exclusive. Because all DIAL apps speak the same Unified API:

  • A Quick App can call a Custom App as a tool, combining no-code orchestration with custom business logic.
  • A Quick App can use multiple language models as tools, routing between them based on conditions.
  • A Custom App can call other apps and models through the Unified API, enabling multi-agent workflows.

A common pattern is to prototype with a Quick App, then move performance-critical logic into a Custom App while keeping the Quick App as the orchestration layer.

Further reading​