Sell your project on Showcase
Any project you own can be listed on Showcase as a template — free, or priced in rupiah. Buyers clone your code into their own workspace, and you keep 85% of every sale.
Publishing a listing
The Showcase button sits in the project header, and only the owner sees it. It opens Publish to Showcase.
- Fill in Title (up to 80 characters) and Description (up to 2,000).
- Pick a Category — landing, dashboard, e-commerce, SaaS, blog, portfolio, tool, or other.
- Choose Pricing: Free, or Paid at a price between
Rp20.000andRp2.000.000. - Optionally add a Demo URL and up to 4 cover images (PNG, JPG, WebP or GIF, 5 MB each).
- Click Publish.
A project carries one listing. Once it exists, the header button becomes Manage listing with the current status beside it.
The safety gate
Before anything goes live, your project is snapshotted and that snapshot is scanned.
Files that hold credentials by nature never make it in: every .env file however it is spelled, keystores and private keys (.jks, .pem, .p12, SSH keys), service-account files (firebase-adminsdk-*.json, service-account.json, credentials.json), secret stores (secrets.yaml, terraform.tfvars), google-services.json, .npmrc, and anything under .aws/, .ssh/ or .gnupg/. Build output is dropped too — node_modules, .next, dist, build, coverage. Where a .env was removed, a value-less .env.example is generated from its keys so buyers know what to fill in.
Everything that survives is then read line by line for hardcoded secrets: API keys, access tokens, database connection strings, private key blocks. If one is found, publishing is refused. The dialog stays open and lists every offending file and line:
lib/config.ts:14 (stripe_secret_key)
Move those values into .env, then click Publish again. Nothing is created until the scan passes, so a blocked publish leaves nothing behind.
A buyer receives your code and your database schema. They never receive your data, and never your secrets.
Pricing and review
A free listing goes live straight away. A paid listing lands in pending_review first, and reaches the public catalog once someone has looked at it.
Trusted-seller status removes that wait. It is granted on a review — when a listing of yours is approved and at least two of your listings have been published and stayed up — or directly by an admin. Your paid listings then go live immediately, and a Trusted seller badge appears on your listing pages.
If a listing is rejected, the reason is shown on it — fix what it names, then submit it again. Switching an existing listing between free and paid re-runs this gate, so a listing you turn paid goes back through review.
Managing a listing
Open Manage listing from the project header, or Edit… from the row menu on your Showcase settings page.
- Save changes updates the title, description, category, price, demo URL and covers. It leaves the code alone.
- Sync latest code re-snapshots the project so buyers clone your current work. The safety gate runs again, and the listing only switches over once the new snapshot passes — so a blocked sync leaves the published version untouched.
- Withdraw listing takes it out of the public catalog. People who already cloned it keep their copy.
- Publish again — or Submit again, after a rejection — puts a withdrawn listing back. Paid listings re-enter review.
Your earnings
Settings → Showcase opens Showcase earnings, with three figures:
- Balance — everything you have earned and not yet spent or withdrawn.
- Held (14-day) — recent sales still maturing.
- Withdrawable — what you can cash out today.
Each sale credits you the price minus a 15% platform commission, so you receive 85% of it, rounded in your favour. That amount is held for 14 days before it becomes withdrawable. The listings table below shows Sales and Earnings for each listing.
This balance is money, in rupiah. It is not the same thing as credits, which meter AI work — but you can convert it into credits, one way only. Credits never turn back into money.
Cashing out
Click Cash out, fill in Amount (IDR), Bank, Account number and Account holder name, then Request cashout. You need at least Rp300.000 withdrawable to start one.
A cashout is a manual bank transfer made by our team — not an instant payout. The request appears under Cashout history as pending and moves to paid once the transfer has gone out. Your bank details are used for that transfer and nothing else.
You can also spend the balance here instead of withdrawing it: it pays for a subscription, buys someone else's template, or converts into credits for your own AI work — the last from Credit top-up on the billing page. Converting spends withdrawable balance only, so earnings still inside their 14-day hold cannot be used yet.
Limits & notes
- One listing per project. To list a different app, publish from a different project.
- Title up to 80 characters, description up to 2,000, up to 4 cover images at 5 MB each.
- Price is either free, or between
Rp20.000andRp2.000.000. - A project with more than 2,000 files, or holding a single file over 5 MB, cannot be snapshotted.
- Publishing, managing and cashing out are owner-only. An editor on the project cannot list it or touch the money.
- Tax on what you earn is your responsibility.
- Cashouts are transferred by hand, so allow time for one to land.
- Limits may change during alpha.