01What Frontary sells
the catalogue in one page
Frontary sells frontend interface work: the kind of screen element that takes a day to build badly and an hour to build properly. The families are named by the store, not by this page — they are listed underneath, straight out of the data layer. Each product is offered as up to two separate deliverables:
- A prompt — a written build specification you paste into your own coding agent or tool, which produces the result inside your project.
- Source code — the working implementation, downloaded and shipped as-is or taken apart.
Access to either is decided per product, by published rules rather than by a sales page. Two subscription terms and a small set of one-time bundles cover everything; a bundle is never part of a subscription and never expires.
23 products across 9 families, 1 bundles, 0 of them free.
02How a prompt delivery works
copy, build, ship
A prompt delivery is one text field. Copy it, paste it into Cursor, v0, Lovable, Claude Code or your own agent, and let it build against your codebase — your framework, your naming, your design tokens. Nothing installs, nothing is vendored, and there is no runtime to keep updated.
The sample below is the live prompt field from a real product record in the data layer, not a written-for-docs example.
- 01 · Open the product
The deliverable rows on the product page tell you, before you buy anything, whether the prompt, the source, both or neither is included for your current access.
- 02 · Copy
Copying is the delivery. The full text lands on your clipboard and the toast confirms it — no download, no email link that expires.
- 03 · Build
Run it once against an empty file, then again against your app shell. Prompts describe structure and behaviour; your tool decides the component API.
- 04 · Adjust
Where a product ships configurable properties, the prompt names each one and its default so you can steer the result instead of guessing at it.
Prompt sample · Ballpit · 684 characters
Build Ballpit as a self-contained WebGL scene with three.js: a floor of shaded balls that fall under gravity, bounce off the walls with the given restitution, and lose speed to friction each step. One ball leads toward the pointer and the rest respond to it. Sort by depth so nearer balls overlap farther ones, and map the face atlas so some balls carry eyes and special shapes.
Keep the shipped look exactly as it is; only these values are configurable:
- Ball count: {{count}}
- Gravity: {{gravity}}
- Friction: {{friction}}
- Wall bounce: {{wallBounce}}
- Follows the cursor: {{followCursor}}
Honour prefers-reduced-motion by stilling the simulation at its settled state.03What a source package contains
files, licences, harnesses
A source package is the implementation, unminified, plus the smallest harness that runs it standalone. You should be able to open the folder, run one command, and see the thing you bought before it touches your application.
Verified against Ballpit: Three.js, React, Vite · 5 configurable properties · licence: standard. 0 of 23 published products declare no source package at all, and say so on the product page.
04The two terms
names and prices read from the data layer
There are exactly two subscription terms. They differ in scope, in duration and in one fixed rule that is not a tier detail.
| Term | Length | Price | Prompt | Source | In scope |
|---|
| 3-Month Access | 3 months | ₹2,499 per term · IN | included | never | 5 / 23 |
| 6-Month Access | 6 months | ₹5,499 per term · IN | included | included | 23 / 23 |
05Bundles
one-time · both deliverables · never expires
A bundle is a fixed set of products sold once. Both deliverables ship with every bundle — the prompt and the source — for every asset inside it, and the purchase has no expiry date. Subscribers get a discount on the bundle price for their region; the base price itself never moves.
| Bundle | Assets | Base | 3-Month Access | 6-Month Access |
|---|
| Cursor Effects | 14 assets | ₹1,499 | ₹1,34910% off | ₹1,19920% off |
06How entitlements resolve
override → family rule → plan default
Access is computed the moment a page renders, in this order, and the first match wins:
- 1 · Product override
An explicit yes or no on one product for one plan. Used for launches and retirements. It can narrow access, and it can never lift the source rule below.
- 2 · Family rule
A category-level decision — all, only, except or none — with a per-deliverable allow or deny on top.
- 3 · Plan default
The plan-wide fallback when neither of the above speaks.
| Product | 3-Month Access | 6-Month Access |
|---|
| Adaptive Chromatic AuraCursor Systems · In 6-Month | out of scopevia category · prompt no · source no | in scopevia category · prompt yes · source yes |
| Chrono Precision DialInteractive Sections · In 6-Month | out of scopevia category · prompt no · source no | in scopevia category · prompt yes · source yes |
| Ethereal StardustInteractive Sections · In 6-Month | out of scopevia category · prompt no · source no | in scopevia category · prompt yes · source yes |
07Regional pricing
published numbers · never converted
Prices are published per region as deliberate numbers. Nothing is converted at view time and no exchange rate is applied anywhere in the code. If a region has no entry of its own, the default region's figure is shown unchanged, in its own currency — we never relabel a number.
| Region code | Currency | Published price | Stored for this region? |
|---|
| AE | not displayed | 105 | yes |
| AU | not displayed | 45 | yes |
| CA | not displayed | 39 | yes |
| EU | € | €27 | yes |
| INcurrent | ₹ | ₹2,499 | yes |
| UK | not displayed | 24 | yes |
| US | $ | $29 | yes |
The storefront displays ₹, $ and €. Every other code above is a number Admin has published and the site stores, shown here as it is held — a visitor in one of those regions is served the default figure rather than a converted one, because relabelling a number is a conversion this store refuses to do silently.
08Licences
what you may do with a deliverable
A licence governs what you may build with a deliverable, not which deliverables you may open. The set below is the whole set; the full text for your order is on the legal page.
Default licence on every order: standard. Assets may declare their own, and the product page always prints the one that applies. What a licence permits is written on the legal page, not here, so the two cannot drift apart.
09Affiliate & showcase
how promotion and selection work
Frontary pays commission on purchases attributed to a shared link. Attribution is a query parameter on the storefront URL held in a first-party cookie for the published window; the parameters and cookie lengths are on the affiliate page itself.
The creator showcase on the home page is a separate thing from the affiliate programme, and it is the reward rather than the mechanism. Videos are chosen by the team from submissions and from public posts. There is no algorithm, no minimum follower count published as a gate, and no paid placement — a slot cannot be bought.
Submissions land in the admin queue as submitted and stay invisible until a person approves them.
| Term | Value |
|---|
| Commission | 20% |
| Attribution window | 30 days |
| Payout | Monthly, ₹4,000 min |
| Featured on Home | By team selection |
10When something is wrong
the five things that actually happen
Short list, honestly. If your problem is not here, write to us — the form is read by the same people who curate the catalogue.
A prompt built something that looks nothing like the preview
Re-run it against an empty file first. Agent toolchains that already hold your design system will blend the prompt into it. If it still misses, paste the product's configuration names — motion, depth, intensity — into the request verbatim; they are the vocabulary the implementation uses.
The source runs in the harness but not in my app
Almost always a stacking context, a global overflow , or a framework StrictMode double-mount. The demo harness is there to prove the asset works standalone; diff your container against it before suspecting the code.
A deliverable is locked although I paid
Check which viewer you are rendering as: a ?viewer= flag or a local overlay can make the site show someone else's access. Clear it in the address bar, then check the product's rule in how entitlements resolve . Locked rows always name what unlocks them.
The price changed between pages
The region selector in the header is sticky per browser, so a device that switched regions will disagree with the one that did not. Set it back and reload; we never convert silently, and we never round a published figure.
I downloaded source I did not expect to be able to
Report it. Access decisions are computed at render time and at delivery time from the same function, so a mismatch is a defect in the rules table, not a loophole. Do not use it before we hear about it.
Something here is unclear? Ask.