WorkRunner Documentation
Step 3of 3

Submit Your Construct

Submit your Construct for review. Once approved, you'll start earning from every stream.

Before You Submit

Make sure your Construct passes all checks:

$ construct-skill validate ./App.tsx

✓ Construct passes all validations!
Single App.tsx file with default export
Uses only approved shadcn/ui components
localStorage with work-construct- prefix
Responsive design (mobile-first)
Dark mode support
Accessible (labels, aria-labels)
No external API calls
No TypeScript errors

Submission Process

1

Go to Runner Studio

Navigate to Runner Studio in your Work dashboard.

2

Click "New Construct"

Start a new Construct submission.

3

Fill in Details

Add a title, description, and select intent tags.

Title: Clear, descriptive name (e.g., "Expense Tracker")

Description: What it does and who it's for

App Types: tracker, dashboard, form, calculator, etc.

Domains: finance, productivity, hr, sales, etc.

Keywords: Specific terms users might search

4

Paste Your Code

Copy your entire App.tsx content into the code editor.

5

Submit for Review

Click "Submit for Review" to send your Construct to our review queue.

Review Process

StatusMeaningTypical Duration
DraftWork in progress, not submitted-
SubmittedIn review queue24-48 hours
ApprovedPassed review, pending deployment< 1 hour
LiveAvailable for users to stream-
RejectedNeeds changes before approval-

What We Check

Our review team checks for:

  • Technical requirements: Follows all Construct standards
  • Functionality: Works as described, no bugs
  • Accessibility: Meets WCAG AA standards
  • Quality: Good UX, polished design
  • Originality: Not a duplicate of existing Construct
  • Usefulness: Solves a real business need

Common Rejection Reasons

Missing aria-labels on icon buttons

Fix: Add aria-label to all icon-only buttons

Uses fetch() or external APIs

Fix: Use localStorage only

Inline styles instead of Tailwind

Fix: Replace style={{}} with Tailwind classes

Missing localStorage persistence

Fix: Add useState + useEffect pattern

Wrong storage key prefix

Fix: Use work-construct-your-name format

Not responsive on mobile

Fix: Add sm: breakpoints, test on mobile

Uses unsupported components

Fix: Stick to approved shadcn/ui components

Revenue & Payments

Once your Construct is live, you earn from every stream:

Runner TypeRevenue Share
Founders Protocol (first 100)70%
Standard Runners60%

Payment Details

  • • Earnings tracked in real-time in Runner Studio
  • • Payouts processed monthly via Stripe
  • • Minimum payout threshold: $25
  • • Set up payment method in Runner Studio → Payouts

Founders Protocol

First 100 runners get 70% revenue share (locked in at application). The Founder badge is awarded after your first Construct is approved.