WebsitePublisher.ai
Some work needs real code: a data pipeline, a scientific model, a nightly job in Python, Go or R. Run it at the cloud provider you choose, and let your WebsitePublisher site show the results. You keep full control of the code. We keep your site fast, secure and online.
Forms, shops, bookings, payments, email: the platform has building blocks for all of that. But when your work is decoding gigabytes of model data every hour, or running a library that only exists in your language, the right place for it is a machine you control.
So we do not run your programs on our servers. We give you a clear, secure way to connect them instead. Any language, any runtime, any provider.
Each run produces files plus one small manifest. The manifest is written last, so visitors never see a half-finished run.
An open data feed, an API, your own database.
Your container on a schedule, in any language, with your own dependencies.
Files in a new run folder, then latest.json pointing to it.
The page reads the manifest and shows the newest run. Nothing is computed per visitor.
Rule of thumb: more than a few dozen files per run, or files above a few MB, go to your own bucket.
Your worker writes to a bucket you own, for example DigitalOcean Spaces, Amazon S3, Cloudflare R2 or Backblaze B2. Your page loads the files straight from there.
Your worker uploads a JSON summary or a few images straight into your project, overwriting a fixed path each run.
A project API key can change everything in that project, not only assets. Keep it on the worker only, give it an expiry date, and revoke it when you stop the worker. If you would rather keep keys away from your site entirely, use route B.
| Route A limits | Free | Solo | Starter | Pro | Agency |
|---|---|---|---|---|---|
| Assets per project | 25 | 100 | 300 | 1,500 | 3,000 |
| Storage per project | 25 MB | 100 MB | 250 MB | 1 GB | 2.5 GB |
Max file size: images and PDF 5 MB; JSON, JS, CSS, TXT and HTML 1 MB; CSV and TSV 50 MB; MP4, MP3 and OGG 20 MB. Binary science formats such as NetCDF, GRIB or ZIP are not accepted as assets: convert them in your worker first. API rate limit: 60 requests per minute.
Whatever your worker does, it ends every run the same way: upload the files to a new run folder, then overwrite latest.json. Your page only ever reads that one file.
Your worker downloads its input from the source.
Your code, your libraries, pinned in your own container image.
All output files go into a new run folder.
Last of all, overwrite latest.json. The site picks up the new run on the next load; keep the cache time of this one file short.
Tell your connected assistant where your manifest lives. It builds the page that reads it and shows the newest run, including the run time, so visitors can see how fresh the data is. See supported AIs →
A few setups that work well. Pick the one you already know.
App Platform scheduled job, or a small Droplet with Docker and cron. Spaces as bucket.
Visit →EventBridge Scheduler with an ECS Fargate task, or Lambda for short jobs. S3 as bucket.
Visit →Cloud Scheduler with a Cloud Run job. Cloud Storage as bucket.
Visit →Enough for light jobs of a few minutes. Secrets in your repository settings.
Visit →We support the site side: the page that reads your manifest, assets, forms and integrations. The worker, its code and your cloud account stay yours.
Connect your assistant, point it at your manifest, and your site shows your results. Want us to look at your setup first? Just ask.
Questions about your setup? support@websitepublisher.ai