CODESTORE GLOBAL

Private code store

Your components are scattered across repos. Nobody can prove which licences you hold.

CodeStore Global is a code store you deploy for your own team. Internal components and third-party kits in one gated catalog, version and changelog on every product, and each purchase written to a per-workspace record you own.

  • Subdomain-isolated workspaces
  • Self-hosted on your database
  • v2.0 β€” onboarding first teams
Workspace products list showing internal components with prices, versions and tags
10%
Commission per completed escrow job, recorded on the job.
5
Languages with real RTL layouts β€” Arabic included, not bolted on.
0
Per-seat charges. Members are unlimited on a workspace.

There are three ways this goes wrong, and the third one is an audit.

01

Duplication

Someone asks in #frontend for the button component. It exists three times, in three repos, and the one in the design system is the old one. Nobody knows which, so the new hire copies the version that compiles.

02

Double purchase

A charting library gets licensed by Platform, then again by Growth six weeks later, because neither team can see the other's receipts. The renewal lands on a card belonging to someone who left.

03

The audit

You cannot answer which teammate may use this, and until when, without opening Stripe, the vendor portal and three email threads. The only tracking that survives an audit is written at the moment of purchase, against a workspace.

The product

What is in it, and what is not

Everything below exists in the current build. Anything absent is not built yet, and you can check that against the source rather than taking our word for it.

Workspaces are a data boundary, not a filter

One subdomain and slug per workspace. Isolation is enforced in the query, so there is no code path that reads another workspace's rows. New workspaces sit in PENDING_APPROVAL until an admin activates them.

Version and changelog on the product

Both are columns on the product row, so "which release are we on" has an answer you can link to instead of a PDF nobody can find.

Invites that carry a role and an expiry

Marked used once. There is no self-signup into a workspace, so nobody reaches your catalog by guessing a URL. Members are unlimited.

Every sale writes a platform transaction

Order id, capture id, amount, platform fee, seller payout β€” scoped to the workspace. That table is the licence record finance stops asking about.

An escrow jobs board

Budget ranges, applications, the escrow amount held against the listing and released on completion. Commission is 10% per completed job.

Five languages with real RTL layouts

English, Arabic, French, German and Spanish. Every page ships in all five β€” not a translation layer added afterwards.

Not in the build: automatic licence-key issuance, SSO/SAML, SCIM, managed hosting, and a usage-based billing model.

How it works

Four screens from the running app

There is no signup form that creates a workspace β€” we provision it with you on a call, then you invite the team. That is the current onboarding, and it is deliberate at this stage.

Workspace products list showing internal components with prices, versions and tags
01

The team's components, in one list

Price, version and tags per row, read straight off the product table. This is the gated catalog your members see and nobody else does.

Admin overview listing all workspaces with status and plan, and all users with their roles
02

Every workspace on one screen

The platform admin sees all workspaces, their status and their plan β€” including the ones still sitting in pending approval β€” plus every user and their role. Row-level access is per workspace, and none of it is visible to a tenant.

Deployment

Self-hosted, because your catalog is none of our business

You run it on your own domain against your own database. That is also the reason nobody else can see your catalog β€” not a permissions setting, an architecture choice.

Runtime
Next.js 14
Database
MySQL 8 Β· Prisma
Payments
PayPal
Node
20+
git clone https://github.com/docksidedirect/codestoreglobal
cd codestoreglobal && npm install

# .env
DATABASE_URL="mysql://user:pass@localhost:3306/codestoreglobal"
JWT_SECRET="$(openssl rand -hex 32)"

npx prisma migrate deploy
npm run build && npm start

Migrations ship in the repository. No proprietary build step, and no lock-in on the data layer.

Proof

v2.0 β€” onboarding first teams now

We have no customer logos to put here yet, and inventing them is the fastest way to lose the only thing this page has to trade on. So: the changelog, and the repository.

If you want this for your team and you are willing to be early, the founder is on the setup call. Bring your worst duplicate component and we will load it together.

Changelog
v2.0Rebuilt marketplace and workspace UI; admin earnings reconciliation; PayPal capture fixes on the checkout path.
v1.4Multi-tenant storefronts: subdomain isolation, workspace membership, pending-approval to active lifecycle.
v1.3Escrow jobs board: budget ranges, applications, escrow amount and release flag, 10% platform commission of record.
v1.2Admin earnings view built off raw transaction tables: order id, capture id, platform fee, seller payout.
v1.1Component marketplace: product CRUD, version and changelog fields per product, image uploads, detail pages.

Source on GitHub Β· support@codestore.global

Pricing

One plan, priced per workspace

No tiers, no "most popular" badge, no per-seat maths. You are paying for the isolated storefront.

Workspace

$49/ workspace / month

Members
Unlimited
Internal components
Unlimited
Completed-job commission
10%
Hosting
Self-hosted

Workspaces are provisioned with you, not by a signup form.

Included
  • Private, gated storefront for your team
  • Unlimited internal components
  • Licensed third-party kits, beside your own
  • Version and changelog on every product
  • Email invites with expiring tokens
  • Escrow jobs board, 10% per job
  • Purchase records per workspace
  • PayPal checkout
  • Five languages, Arabic RTL

Self-hosted is the supported deployment today. You run it on your own domain and your own database, which is also why nobody else can see your catalog.

Your team's catalog, on your own domain

Tell us what your team keeps re-sharing in Slack. If CodeStore cannot hold it, we will say so on the call rather than after you have paid.