Design a template.
Ship it to the world.
temploracraft's template marketplace is open. Design a template in the canvas, publish it via GitHub, land in the gallery on the next redeploy. MIT-licensed, credited to you, free forever.
Three steps.
Community templates are what makes the gallery interesting. Yours will live at app.temploracraft.com/templates as soon as the PR merges.
- 01DesignOpen the canvas author tool. Drag placeholders (
fullName,experience[].title), tune typography, decide on layout. You’re composing flexbox sections + text nodes; the tool writes validtemplate.jsonfor you. - 02PublishClick Publish. Connect your GitHub (a scoped
public_repotoken, one click). The tool forks vineethpawar/temploracraft-templates, creates a branch, writes yourtemplate.json+README.md, and opens the PR on your behalf. Prefer no OAuth? Level-2 fallback opens GitHub’s file editor pre-filled with your JSON. - 03MergeCI runs the Zod validator + auto-renders your
preview.pngvia satori/Playwright. A maintainer reviews (usually within a day) and merges. Your card appears in the gallery on the next redeploy — credited to your GitHub profile, MIT-licensed, free forever.
Community is free. Curated is Pro.
Everything the community submits stays free forever. The only paywall is the small curated set Vineeth hand-designs and iterates on — those land as Pro-only. If your submission is exceptional and the maintainer wants to promote it into the curated library, you’re credited on the pricing page and get a Pro comp indefinitely (see the pricing FAQ).
- MIT-licensedYour template stays open for anyone to remix, fork, or build on.
- CreditedGallery card + detail page link to your GitHub profile.
- No lock-inDelete the PR any time before merge; the template is entirely yours.
- Same schema as first-partyCommunity and premium templates go through the same validator and render pipeline. No second-class citizen shape.
What tends to get merged fast
Schema in one glance
The author tool writes this JSON for you — but if you’d rather hand-author, this is the shape.
{
"version": 1,
"domain": "resume",
"slug": "my-template",
"name": "My Template",
"description": "One-sentence hook that shows up on the card.",
"author": {
"name": "You",
"url": "https://your-site.com",
"githubUsername": "your-github"
},
"license": "MIT",
"page": { "width": 816, "height": 1056 },
"fonts": [
{ "family": "Inter", "weights": [400, 700], "source": "google" }
],
"root": {
"type": "section",
"layout": "flow-vertical",
"padding": [64, 72, 64, 72],
"gap": 28,
"children": [ /* nodes */ ]
}
}Full type definitions: src/types.ts ↗ · Zod validator: src/zod.ts ↗ · Full guide: CONTRIBUTING.md ↗