App Drive

App Drive guide

App Drive is the platform for publishing, sharing and monitoring business web applications, including those built with AI tools such as Lovable, Bolt, v0, Claude and Cursor. It also enables agencies to deliver their clients' applications under their own brand. This guide describes features, usage and roles: from setting up the organization to invitations, from publishing to sharing, through to monitoring and reports.

Contents

  1. Overview
  2. Audience
  3. Glossary
  4. Getting started
  5. Organizations
  6. Invitations
  7. Teams and permissions
  8. Publishing platforms
  9. Using platforms
  10. Company brand
  11. Cloud data
  12. Partner agencies and clients
  13. Errors and usage with AI
  14. Reports and integrations
  15. Plans and subscription
  16. Account
  17. Security and privacy
  18. FAQ

The screenshots show the Italian interface; the app is also available in English (Account › App language).


Overview

Agencies and software houses build custom web applications for their clients: CRMs, order management, dashboards. Traditionally they deliver them as plain links, with different addresses, credentials and servers: the client ends up managing fragmented tools rather than a coherent service.

With App Drive each client has a single application, under the agency's brand, that brings together all of its platforms:

The App Drive home in the browser, with live previews of the platforms

Audience

Audience How App Drive is used
Digital agencies One organization per client: the client reaches all of its applications from a single place, under the agency's brand or its own.
Software houses Custom back-office tools and dashboards delivered as a product, with automatic updates from GitHub.
In-house IT at SMEs Internal tools from departments and sites gathered in one application, with permissions defined per team.

App Drive hosts static sites: Flutter web, React, Vue, Angular, Svelte, Astro, Next.js with static export, or HTML. Any back end (Supabase, Firebase or a dedicated server) stays on the existing infrastructure: App Drive hosts the front end. An application already published elsewhere (Vercel, Netlify, Lovable or your own domain) is added through its address, with no upload.

Glossary

Term Definition
Platform A web application published on App Drive, with its own address https://<name>.apps.somio.it, icon and name.
Organization The space of a client (or of the agency): users, teams, platforms, brand and subscription. Organizations are isolated from one another.
Server owner The operator of App Drive, who creates organizations and invites their administrators. On drive.somio.it this is Somio.
Administrator Manages their organization: users, invitations, brand, integrations and subscription.
Member Uses the platforms they have access to, publishes their own, creates teams and shares.
Team A group of users in the same organization with whom selected platforms are shared.

Getting started

  1. Request an invite from the home page. During the beta, access is granted to a limited number of companies at a time: we will contact you as soon as a place is available.
  2. Once you receive the invite code, open App Drive in the browser at drive.somio.it/app or in the smartphone app.
  3. Select Have an invite? Sign up and enter the code, your e-mail and a password of at least 12 characters. The account is created with the organization administrator role.
  4. Customize name, color and logo (Company brand).
  5. Publish the first platform (Publishing platforms) and invite your colleagues (Invitations).

The sign-in page

If you forget your password, select Forgot password? on the sign-in page: you will receive a code by e-mail to set a new one.

Navigation. In the desktop browser the menu is on the left, in three groups: the common items (Platforms, Teams, Connections), Your organization (administrators only) and Server (server owner only). The account is at the bottom. On smartphones the same items are in the ⋯ menu at the top right.

Organizations

An organization is a client's space: users, teams, platforms, brand and subscription. Organizations are isolated: a client's users, teams and platforms are neither visible nor reachable by others.

Creating an organization

Organizations are created by the server owner, from Client organizations › New: after entering the client's name, they open its page and select Invite with Organization administrator enabled. The invitee receives the code, signs up and becomes the administrator, able to invite their own colleagues.

On drive.somio.it the first organization is created by Somio when you join the beta. To activate more, one per client, write to tickets@somio.it: they are included in the subscription.

Client organizations

Several organizations, one account

The same user can belong to several organizations with the same e-mail and password: agency staff access every client's space, and a client can admit an external consultant.

Switching organization

Invitations

Access to App Drive is by invitation only: there is no open sign-up. An invitation is a code generated in the app and sent to the person concerned, together with ready-made instructions.

Inviting into your organization (administrators)

  1. Open Users and invites and select Invite.
  2. Optional: specify the recipient. If you enter an e-mail, only that address can use the code.
  3. Set the code's validity in days and select Create invite.
  4. Share the code. It is shown only once: copy or forward it immediately.

The recipient opens App Drive, selects Have an invite? Sign up and enters the code. If they already have an App Drive account in another organization, they use the same e-mail and their password, or Join with an invite code from My organizations.

The Invites tab lists pending, used, expired and revoked invitations and lets you revoke a code not yet used.

Users and invites

Permission to invite

By default only organization administrators can invite new users. In Users and invites › Invites › Who can invite you can enable Team admins too: team administrators will be able to invite new users directly into their team (see Teams and permissions). Users invited this way still join the organization as members.

Managing users

In Users and invites, selecting a user allows you to:

If the user has the same account in other organizations, Also in other organizations is shown: suspension and deletion apply only in your organization, and the password is reset with Forgot password?.

Teams and permissions

Each user sees their own platforms and those shared with the teams they belong to. A team is a group of users in the same organization, for example "Warehouse" or "Accounting".

Creating a team and adding members

  1. Open Teams (on smartphones: menu ⋯ › Teams and sharing) and select New team. Its creator becomes its administrator.
  2. Select Add member: the list of organization users not yet in the team is shown. Search by e-mail, select one or more and confirm with Add.
  3. For people without an account, choose Add by e-mail: if the organization allows it (Team admins too), App Drive generates a code that registers the person and adds them directly to the team. Otherwise, an organization administrator must invite them first.

Teams

Team administrators can appoint other administrators, define what members can do (add users, share their own platforms with the team), remove users or delete the team.

Sharing a platform

Open the menu of one of your platforms (⋯ button, right click or long press) › Sharing and access:

Members find shared platforms in their home, marked with the people icon next to the name: they can open them (even when login is required), make them available offline and reorder them, but not delete them. Non-owners can only archive them, i.e. remove them from their own home (see The home).

Publishing platforms

Everything starts from Add app: the button at the top of the home on desktop, or menu ⋯ › Add app on smartphones. The available sources are:

Source When to use it
From an address The application is already published: Lovable, Bolt, Replit, v0, Cloudflare or your own domain.
From Vercel or Netlify The application is a Vercel or Netlify project: select it from the list and monitor its deploys.
From GitHub The code is on GitHub (including Lovable, Bolt and v0 projects, which sync there): App Drive builds and hosts the application on every push.
Upload a .zip file The build folder is available locally.

With GitHub and .zip the application is hosted by App Drive at https://<name>.apps.somio.it; with an address, Vercel or Netlify it stays on its original hosting and App Drive integrates it. In the browser, Connections in the side menu gathers the same sources and the connected accounts (GitHub, Vercel, Netlify).

Every push to the selected branch triggers an automatic build and release, within 2–5 minutes.

  1. Select Add app › From GitHub (in the browser also Connections › GitHub) and then Connect a GitHub account. Choose the repositories App Drive may access, private ones included, and confirm on GitHub.
  2. Select New platform from GitHub: specify repository, branch, folder (for monorepos) and the short name of the address, then Connect and publish.
  3. App Drive adds the workflow .github/workflows/appdrive-<name>.yml and the publishing token to the repository. The project type (Flutter, React, Vue, Angular, Svelte, Astro, Next.js with static export, HTML) is detected automatically.

Until the first build completes, the icon shows an orange hourglass.

To link a repository to an existing platform, open its icon's menu › GitHub and publishing. The same screen lists the latest builds and lets you start a new build.

Build variables

If the project runs locally with variables, for example flutter run --dart-define=SUPABASE_URL=<url> --dart-define=SUPABASE_ANON_KEY=<key> or a .env file with VITE_ variables, the GitHub build must receive them too:

  1. Open the platform's menu › GitHub and publishing › Build variables.
  2. Select Paste from flutter run or .env and paste the command or file you use.
  3. Confirm with Save and rebuild.

Variables are stored in App Drive, not in the repository. In a web app, however, they end up in the site's code and can therefore be read by anyone who opens it: URLs and public keys (such as Supabase's anon key, protected by Row Level Security) are appropriate, never secret keys.

From a .zip archive

Compress the web build folder (with index.html at its root) and upload it from Add app › Upload a .zip file. A single index.html is accepted as well. For updates: platform menu › Upload a new version.

Every unknown path returns index.html, supporting client-side routing (React Router, go_router). The icon is taken from the project's manifest.json and can be replaced with Change icon.

From an address (Lovable, Bolt, Replit, v0)

Add app › From an address: enter the application's address (https://) and optionally a name. The platform appears in the home with icon, teams, sharing and "Report"; App Drive detects where it is hosted (for example Hosted on Lovable). It also gets an App Drive link, https://<name>.apps.somio.it, which leads to the site.

Inside App Drive the application opens within the app; if the site does not allow embedding, the browser opens it in a new tab (the platform's menu explains why).

From Vercel or Netlify

  1. Add app › From Vercel or Netlify (in the browser also Connections).
  2. Connect the account with a personal token: on Vercel from Account › Tokens, on Netlify from User settings › Applications › Personal access tokens. The token is stored encrypted on App Drive and can be disconnected at any time.
  3. The list of projects appears: select Import. A project already in the home (imported by you, by a colleague or added with the same address) shows Already in the home and cannot be imported twice.

From the platform's menu (Deploys on Vercel or Netlify) you can see the status of the latest deploy and, by configuring a deploy hook, start a new one.

Supabase back end: functions and secrets

Many applications built with Lovable, Bolt or similar tools use Supabase as their back end. From the platform menu, Supabase: functions and secrets gathers what it takes to keep it in line:

  1. Project: App Drive recognizes the project the application uses (from the …supabase.co address in the build or in the repository). Connect the account with an access token created at supabase.com › Account › Access tokens (stored encrypted) and confirm the suggested project.
  2. Edge Functions: the functions in supabase/functions and those already deployed, with version and date. Deploy sends the function from the linked GitHub repository (its folder and the shared code in _shared), honoring verify_jwt in supabase/config.toml. When a deploy fails, Diagnosis explains the cause with the AI and drafts the prompt for the tool the application was built with. With Deploy on every push on, after each build from GitHub the changed functions are deployed; unchanged ones stay as they are, and a failed one is retried only when its code changes. Results show on the same page and in the activity log.
  3. Secrets: App Drive reads which keys the functions need (Deno.env.get) and flags those not yet set on the project. Set saves them straight to Supabase; Where do I find them? uses the AI to say what they are and where to get them. App Drive neither keeps nor shows the values.

Database migrations (supabase/migrations) are reported, not applied: run them from Supabase, with the SQL editor or supabase db push.

Host on App Drive: restricted applications

App Drive's login protects the App Drive link of a platform hosted elsewhere, but not the site's direct address (for example <project>.vercel.app or <project>.lovable.app), which remains reachable without authentication by anyone who knows it. App Drive cannot restrict access to a site it does not host, and says so on the sharing screen.

For complete protection, open the platform's menu › Host on App Drive and choose From GitHub or Upload .zip. With the first version the platform moves to App Drive keeping link, teams and settings; from then on no content is reachable without login. Until then the original site stays live and can be decommissioned afterwards.

Storage and number of platforms

Each organization has a platform and storage limit set by its plan (Plans and subscription). Storage includes every version kept. Current usage is shown in Account.

Using platforms

The home

Select a platform to open it. In the browser the home shows platforms as cards with a live preview (or as icons); on smartphones as icons, following mobile conventions.

On the phone

In the browser: collapsed menu and side-by-side platforms

A platform open with the collapsed menu

On smartphones: offline copies

Platform menu › Make available offline: the app downloads a copy, which opens when there is no network or the server does not respond. When a new version is available, the icon shows a blue indicator: Update offline copy (or Update offline copies from the ⋯ menu to update them all).

Company brand

In Branding (administrators) you set the organization's name, color and logo. Users see them at the top of the home, on buttons, on the sign-in page and on the login page of restricted platforms. If the logo already includes the name, turn off Show the name next to the logo.

The server owner can customize each client from Client organizations (organization menu › Branding): each client then sees its own brand or the agency's.

Branding

Cloud data

Available on the Pro plan, for applications hosted by App Drive.

Applications built with AI usually store data in the browser: it stays on one device and is lost when changing phone or browser. With cloud data, App Drive stores it with no code changes.

Platform menu › Cloud data, then choose:

Option Behavior
Only in the browser Default: each device keeps a separate copy.
Per user Each user accesses their own data from all their devices.
Shared All users of the application view and edit the same data, for example a shared log.

Partner agencies and clients

Reserved for partner agencies, subject to activation.

From the ⋯ menu › Clients the agency manages its clients independently:

Where the activation provides for it, in Payments from clients the agency connects its Stripe account and drafts its Contracts; it then configures, for each client, Contract and fee and One-time payments (for example activation). The client must sign the contract and settle the amounts before accessing the applications; if payment stops, access is suspended automatically. Payments are credited to the agency's Stripe account; signatures are available in Signatures.

For each client the agency also sets Limits and permissions: how many platforms the client may publish (with 0 only the agency publishes), the maximum number of users, and whether the client may invite new users, change the branding or configure integrations. New clients start with branding and integrations managed by the agency. The limits are included in the contract the client signs, and the client sees the agency's name under its own.

Billing is centralized: client applications are included in the agency's "Pay per use" subscription. Clients do not see the Subscription section; if the agency's payment fails, its clients are suspended with it and reactivated once it is settled.

Errors and usage with AI

Usage statistics on every plan; errors, issues and AI on the Pro and "Pay per use" plans. For applications hosted by App Drive.

App Drive monitors applications automatically, with no installation or code changes. For every hosted application it tracks opens and collects the errors its pages raise in the browser.

Platform menu › Errors and usage:

By default errors, reports and usage are visible to the owner and to those who can edit the platform. In Sharing and access › Monitoring the owner can turn on Share errors and usage: people and teams with "Can view" then see the dashboard too, read only (no AI analysis, fixes or status changes).

From the ⋯ menu › App status you can compare all applications: those with urgent issues first, with opens, errors and the trend over the last two weeks. When there are new errors the ⋯ menu shows an indicator and the item shows their number: selecting it opens the errors (directly those of the application, if there is only one) and resets the counter.

In each application's menu, Errors and usage and Reports from the site (SDK) are grouped under Monitoring.

Build diagnosis

If a GitHub build fails, Diagnose appears next to the build in GitHub and publishing: the AI analyzes the log and explains the cause and the recommended actions. If a build variable is missing, you can add it directly (Add followed by the variable name) and confirm with Save and rebuild; if the code must change, a prompt for your development tool is provided.

AI and data

The AI is Anthropic's Claude. It receives logs, errors and (for pull requests) project files only on explicit request; build variable values never leave App Drive. Administrators can turn it off for the whole organization in Integrations › AI. Errors are kept for 30 days, reports for 90; visitors are anonymous (a random browser identifier) and users are identified only in applications with login.

Reports and integrations

Available on the Pro plan.

The Report button

On every platform, in the App Drive bar outside the platform itself, there is a Report button. The user selects Bug or Change, describes the case and confirms with Send. App Drive automatically adds platform, page, author, screen and browser, making screenshots and manual descriptions of the context unnecessary.

The Report sheet

Where reports are delivered

In Integrations (administrators) enter a webhook address and select Send a test:

Tool Setup
Slack Create an Incoming Webhook for the channel and enter its address: the message arrives already formatted.
Zapier or Make Use Webhooks by Zapier – Catch Hook or the Custom webhook module, then forward the report to the desired destination: Trello, Linear, Jira, e-mail or spreadsheets.
n8n or a dedicated server Receives a JSON with kind, message, app, user and context, signed with the secret shown on the page.

Without a webhook, reports are e-mailed to whoever published the platform. If a delivery fails, App Drive retries for a few seconds and then falls back to e-mail; the outcome of the latest delivery is shown in Integrations.

Integrations

Plans and subscription

Base Pro Pay per use
Price (beta, excluding VAT) €99/month €249/month €0.47 per platform per day, no fixed fee
Platforms per organization up to 7 up to 17 no preset limit
Storage per organization 1 GB 3 GB 10 GB
Branded portal, hosting, GitHub and .zip ✓ ✓ ✓
Applications from an address, Vercel and Netlify ✓ ✓ ✓
Users, teams, sharing, permissions, multiple organizations ✓ ✓ ✓
Report button and webhooks — ✓ ✓
Cloud data — ✓ ✓
Opens and usage of every application ✓ ✓ ✓
AI diagnosis of builds and errors, with fixes — ✓ ✓

No cost per user. The beta price remains guaranteed for companies joining now.

Pay per use

Suited to a small number of applications or temporary projects: no fixed fee, you pay for active platforms day by day, invoiced at month end. The daily count includes all of the organization's platforms (archived ones too, which stay online for other users); once a platform is deleted, charges stop from the following day. Features are those of the Pro plan. Subscription shows the price per platform per day, today's platforms and the estimate for the period; the exact amount is on the Stripe invoice.

During and after the beta

Notices are shown to administrators only, as they are the only ones able to pay.

Paying and managing the subscription

In Subscription (administrators, in the browser) you choose Base, Pro or Pay per use and pay through Stripe: App Drive has no access to card details. From Card, invoices and cancellation you update the payment method, download receipts or cancel. Plans can be changed at any time: the difference appears on the next invoice.

If a payment fails, Stripe retries for a few days and platforms stay online. If the subscription remains unpaid or is cancelled, the organization is suspended. To reactivate it, select Pay and reactivate on the sign-in page: once payment is complete, everything becomes available again.

Moving from Pro to Base deletes no data: it only prevents new platforms and uploads beyond the Base limits.

Subscription

The iPhone and Android apps show only the subscription status: payments are made in the browser.

Account

In Account (in the browser at the bottom left; on smartphones the first item of the ⋯ menu):

Security and privacy

Details are in the privacy notice (in Italian).

FAQ

How do I invite someone outside the organization directly into a team? From the team select Add member › Add by e-mail: if the organization allows team admins to invite, App Drive generates a code that registers the person and adds them directly to the team. Otherwise an administrator invites them first from Users and invites, and they are then added to the team.

Must every user belong to an organization? Yes: every account belongs at least to the organization of its invite code. The same account can then join other organizations.

Do the agency's clients need a subscription? No: pricing is per agency, with unlimited clients. The agency pays for its own organization's subscription; client organizations activated on its behalf receive no payment notices.

Can I publish an application with a back end? App Drive hosts the front end (static site). The back end stays on Supabase, Firebase or a dedicated server; public keys are supplied through build variables. If saving the data the application keeps in the browser is enough, cloud data is available.

What does someone opening the link of a restricted platform see? A sign-in page with the organization's brand. Only authorized users get in: whoever published it and the people and teams it is shared with.

An application on Vercel (or Lovable) was made restricted: why is the site's address still reachable? Because the site is not hosted by App Drive: login protects the App Drive link, not the direct address. For complete protection use Host on App Drive.

An application built with AI loses its data when the device changes. How is this solved? By enabling cloud data (Pro plan): with no changes to the application, data is stored on App Drive.

What happens to the data if payment stops? The organization is suspended with no deletion: once paid, everything becomes available again. To request full deletion of the data, write to tickets@somio.it.

Do platforms work offline? On smartphones yes, if the platform has been made available offline. Data the platform retrieves from its own server still requires a connection.

Support Write to tickets@somio.it.