Skip to content

Core Concepts

Now that you have Lombok running, let’s understand the key concepts that make up the platform. These four building blocks — folders, storage provisions, apps, and workers — work together to give you unified storage management and a programmable compute layer.

Folders are the primary way users interact with storage in Lombok. Think of a folder as a sync-enabled storage container that can sync between iOS devices and your S3-compatible storage backend.

Each folder connects to a storage provision which determines where the actual files are stored (AWS S3, Cloudflare R2, Backblaze B2, etc.). Users see folders as simple file containers in their iOS app or web interface, but behind the scenes, Lombok handles the sync logic, conflict resolution, and communication with your chosen S3 provider.

Folders support multiple use cases: personal document storage, photo backups, shared team drives, or any scenario where you need files synced between devices and stored in S3-compatible storage that you control.

Learn more: Storage Management Overview

Storage provisions are configuration profiles that tell Lombok how to connect to your S3-compatible storage providers. Each provision contains the credentials, bucket name, region, and endpoint URL for a specific S3 storage backend.

You can create multiple storage provisions pointing to different providers (one for AWS S3, another for Cloudflare R2, another for Backblaze B2) and then assign folders to different provisions based on your needs. For example, frequently accessed files might go to Cloudflare R2 for zero egress fees, while archival data goes to Backblaze B2 for lower storage costs.

Storage provisions are created through the Lombok admin interface. Once configured, they’re available as options when creating new folders. Lombok validates the credentials and tests connectivity when you save a provision.

Learn more: S3-Compatible Storage Providers

Apps are custom TypeScript applications that run on the Lombok platform. They let you extend Lombok’s functionality with your own code, create custom user interfaces, or build entirely new features on top of your storage infrastructure.

An app consists of TypeScript code, configuration, and optionally a custom UI. Apps can expose API endpoints, serve web pages, and most importantly, run workers that react to events in your storage system. Apps are deployed to Lombok and run in isolated environments with access to Lombok’s APIs for managing storage, users, and folders.

Use cases for apps include: custom file processing pipelines, integration with external services, administrative dashboards, automated workflows, or anything you want to build that interacts with your Lombok data. You write standard TypeScript, and Lombok handles deployment, scaling, and lifecycle management.

Learn more: App Platform Overview (Phase 3)

Workers are the compute component of Lombok apps. A worker is a TypeScript function that runs in response to events or on a schedule. Workers can react to file uploads, file deletions, folder creation, scheduled triggers, or custom events.

Think of workers as serverless functions that run close to your data. When a file is uploaded to a folder, a worker can automatically process it — resize images, extract metadata, run ML inference, send notifications, or trigger other workflows. Workers can also run on schedules (every hour, daily, weekly) for tasks like backups, cleanup, or report generation.

Workers are defined in your app code and automatically registered with Lombok when you deploy your app. Lombok handles event routing, queuing, retries, and logging. You focus on the business logic in TypeScript, and Lombok takes care of the infrastructure.

Learn more: App Platform Overview (Phase 3)

Here’s how these concepts connect in a typical workflow:

  1. Admin configures storage provisions — Connect Lombok to your S3 providers (Cloudflare R2, AWS S3, etc.)
  2. Users create folders — Each folder is assigned to a storage provision, determining where files are stored
  3. Files sync to folders — iOS app or web interface syncs files, Lombok handles S3 communication
  4. Workers react to events — Your TypeScript workers process files as they’re uploaded, run scheduled tasks, or respond to custom events
  5. Apps provide custom functionality — Custom UIs, API integrations, and workflows built on top of the storage layer

This architecture gives you:

  • Data sovereignty — Your files live in your S3 storage, not a third-party service
  • Unified management — Manage multiple S3 providers from one interface
  • Programmability — Build custom logic with TypeScript without managing servers