Welcome to the official Pebble framework docs!
Pebble is a full-stack framework developed at Spacefix.xyz Limited. It consists of two independent but complementary frameworks: PebbleUI for the frontend and PebbleSRV for the backend.
Each framework is built, maintained, and consumed separately, allowing teams to use either one on its own. When used together, they form a twin-framework system designed to integrate seamlessly while remaining fully decoupled.
At Spacefix.xyz Limited, we use the concept of Pebblets: UI-Pebblets and SRV-Pebblets.
A UI-Pebblet (or SRV-Pebblet) is a usage blueprint tied to a specific MAJOR version of PebbleUI (or PebbleSRV). It defines how new applications are generated and structured using that version of the framework.
In practical terms, every MAJOR release of PebbleUI (or PebbleSRV) has a corresponding Pebblet. That Pebblet serves as the official blueprint for creating new apps based on that framework version.
At any point in time, there can only be two active MAJOR versions of PebbleUI (or PebbleSRV):
All new projects must be built using the Stable version.
This means every new project must use the Stable UI-Pebblet (or Stable SRV-Pebblet).
During the last quarter of every two years, the Spacefix team performs a process called Pebble Shedding (or simply Shedding).
Shedding involves:
Once Shedding is complete:
This cycle repeats.
Each version of a UI-Pebblet (Stable or Latest) includes clear usage instructions in its README.md.
The steps below describe the general setup process:
From the GitHub repository, download the UI-Pebblet starter project corresponding to the version of PebbleUI you want to use (e.g., stable-ui-pebblet).
The starter project contains the required folder structure and startup files that guide how PebbleUI applications are built.
Create a .env file in the project root and provide values for the following environment variables:
VITE_APP_DEPLOYMENT_MODE=test
VITE_APP_SERVER_PORT=7777
VITE_APP_API_PROXY_PATH=/api/
# Backend NetBird IP (represents the API machine's localhost) + port + API prefix
VITE_APP_API_ROOT_URL=http://100.108.226.160:8888/api/
VITE_GOOGLE_MAPS_API_KEY=
VITE_PAYSTACK_TEST_PUBLIC_KEY=
VITE_PAYSTACK_LIVE_PUBLIC_KEY=
VITE_STREAM_API_KEY=
PEBBLE_UI_AUTH_TOKEN=
npm i
If the installation above completes successfully:
npm run install:envConfigure PebbleAppProvider with the minimum required setup to verify that the app can build and run in development mode.
npm run dev
If the app starts successfully, you’re all set 🎉
You can now continue building your application.
PebbleUI requires access to environment variables during installation in order to authenticate and download the privately published package. For this reason, we use the custom script “npm run install:env” instead of a standard install.
Each version of an SRV-Pebblet (Stable or Latest) includes clear usage instructions in its README.md.
The steps below describe the general setup process:
From the GitHub repository, download the SRV-Pebblet starter project corresponding to the version of PebbleSRV you want to use (e.g., stable-srv-pebblet).
The starter project contains the required folder structure and startup files that guide how PebbleSRV applications are built.
Create a .env file in the project root and provide values for the following environment variables:
APP_DEPLOYMENT_MODE=test
# DB
DB_TEST_URI=''
DB_LIVE_URI=''
# Auth
AUTH_COOKIE_NAME='-id'
AUTH_COOKIE_SECRET=''
SESSION_PREFIX='healthsenta:'
SESSION_STORE_URI=redis://127.0.0.1:6379
SESSION_ID_ENCRYPTION_KEY=
PRODUCT_KEY_SECRET=
# Root User Credentials
ROOT_EMAIL=
ROOT_PASSWORD=
ROOT_WORK_EMAIL=
# APP UI
API_SERVER_PORT=8888
APP_UI_URL=http://localhost:5173
API_DOCS_SERVE_ROOT=/docs/healthsenta-service
API_DOCS_URL=http://localhost:8888/docs/healthsenta-service
PLATFORM_NAME=HealthSenta
# OTP
OTP_VERIFICATION_KEY_SECRET=
OTP_HASH_SECRET=
# EMAIL SMTP SETUP
SMTP_TRANSPORTER=''
HOST_USER_EMAIL=''
# Required if Zoho Transporter
ZOHO_APP_PASSWORD=
# Required if Google (Oauth2 SMTP) Transporter
CLIENT_ID=''
CLIENT_SECRET=''
OAUTH_PLAYGROUND=''
REFRESH_TOKEN=''
# Cloudinary
CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
# Error Monitoring - Sentry
# This SENTRY_DSN value will be invalid if you put in in any string quotes
SENTRY_DSN=
# Payment Processor
PROCESSOR_CRYPTO_SECRET=
PAYSTACK_TEST_SECRET_KEY=
PAYSTACK_LIVE_SECRET_KEY=
FLUTTERWAVE_TEST_SECRET_KEY=
FLUTTERWAVE_LIVE_SECRET_KEY=
# Stream.io
STREAM_API_KEY=
STREAM_SECRET_KEY=
PEBBLE_SRV_AUTH_TOKEN=
npm i
If the installation above completes successfully:
npm run install:envConfigure PebbleServer with the minimum required setup to verify that the app can build and run in development mode.
npm run start:dev
If the app starts successfully, you’re all set 🎉
You can now continue building your application.
PebbleSRV requires access to environment variables during installation in order to authenticate and download the privately published package. For this reason, we use the custom script “npm run install:env” instead of a standard install.
Last updated: February 2026
Maintained by: Spacefix.xyz Limited