A high-level overview of how PropelCode works — containers, the AI agent, and how your device connects to your workspace.
PropelCode's architecture has three layers: your device (phone, tablet, or browser), a central server that handles authentication and coordination, and an isolated container that runs your code.
When you open a project, the platform provisions (or resumes) a dedicated Linux container for your account. The server acts as a secure relay — handling authentication, billing, and proxying communication between your device and your container. Your code never leaves your container.
The AI agent operates in a loop: you send a message, the server routes it to an AI model with your project context, the model responds with actions (file edits, terminal commands), and those actions execute inside your container. Results feed back to the model until the task is complete. The server coordinates but does not store or inspect your code.
Every PropelCode user gets a dedicated Linux container running a full development environment. Containers are provisioned on Railway and persist across sessions.
Each container runs a lightweight process that handles file operations, terminal commands, and process management on behalf of the IDE client and the AI agent. Communication between your device and the container is encrypted and authenticated.
Customization: You can extend the default environment by selecting a template when creating a new project (React, Next.js, Python, Go, and more). Custom container configurations are available for users who need specific runtimes or toolchains.
Containers are stopped after a period of inactivity and resumed on-demand. Your filesystem, installed packages, and project state are preserved between sessions. You can reset your container to a clean state at any time from account settings.
The AI agent interacts with your container through a comprehensive set of tools spanning file operations, terminal execution, version control, and network access. The agent selects and chains tools autonomously based on your prompt.
Tools are composable. A typical agent session might explore the project structure, gather context from relevant files, make targeted edits, then run commands to verify the result — all in a single turn. The agent decides which tools to use and in what order based on the task.
PropelCode uses a persistent, encrypted connection between your device and your container for real-time interactions. All terminal input/output, file operations, and AI agent actions flow through this channel.
When you connect, the server authenticates your session and establishes a secure relay to your container. Everything streams in real time — when you type in the terminal, output appears instantly. When the AI agent edits a file, the change shows up in your editor immediately.
The communication protocol is internal and authenticated. A public API for programmatic access is on our roadmap.
PropelCode is under active development. These are the current constraints to be aware of when building on the platform.
Each container runs with bounded CPU and memory. Resource limits depend on your plan tier. Very large builds may hit memory ceilings — if you need more resources, upgrade your container tier from account settings.
The default container is optimized for JavaScript and TypeScript development. Other languages — Python, Go, Rust, Ruby — can be used via container customization or templates, but are not pre-configured out of the box.
PropelCode does not currently expose a public API. All interactions go through the authenticated IDE client. A public API for programmatic access and CI/CD integration is planned for a future release.
Each account is currently limited to one active container at a time. Multi-container workspaces (e.g., separate frontend and backend containers) are not yet supported. You can work around this by running multiple services within a single container.
If your network connection drops, the client will attempt to reconnect automatically. However, terminal sessions may lose state during prolonged disconnections. File system state is always preserved since it lives on disk in the container.