Pilot programme targeting Q3 2026. Register your interest now.Pilot EOI
UPAS
Getting Started

Installation

Deployment options for UPAS (prototype)

Prototype Documentation: These deployment instructions describe the intended production architecture. The prototype may have additional development dependencies.

UPAS is designed to be deployed in several ways depending on your requirements.

Static Hosting

UPAS is a Progressive Web App that can be served from any static hosting provider:

# Clone the repository
git clone https://github.com/NuwaStudios/upas-oss.git
cd upas-core/upas-app

# Serve the web directory
npx serve web

Popular static hosting options:

  • GitHub Pages — Free, integrates with GitHub Actions
  • Netlify — Free tier, automatic SSL
  • Vercel — Free tier, edge network
  • Cloudflare Pages — Free tier, global CDN

Static hosting is sufficient for UPAS because all inference happens on-device. There are no server-side APIs to deploy.

Local Development

For development and testing:

# Clone the repository
git clone https://github.com/NuwaStudios/upas-oss.git
cd upas-core/upas-app

# Install dependencies (if any)
pnpm install

# Start local server
pnpm dev

The application will be available at http://localhost:3000.

Container Deployment

For containerised environments:

FROM nginx:alpine

COPY upas-app/web /usr/share/nginx/html

EXPOSE 80

HEALTHCHECK --interval=30s --timeout=3s \
  CMD wget --no-verbose --tries=1 --spider http://localhost/ || exit 1

Build and run:

docker build -t upas .
docker run -p 8080:80 upas

Service Worker Requirements

UPAS requires service worker support. Ensure your hosting:

  1. Serves over HTTPS (required for service workers in production)
  2. Does not strip or modify the sw.js file
  3. Sets appropriate cache headers for static assets

Storage Considerations

UPAS caches significant data locally:

ComponentTypical Size
Application shell~1MB
AI model (WebGPU)500MB–2GB
AI model (WASM fallback)50–500MB
Procedure packs10–100MB each

Ensure devices have sufficient storage before deployment.

Storage Quota: Browsers impose storage quotas. Chrome typically allows up to 80% of available disk space. Safari has stricter limits, especially in private browsing mode.

Next Steps