Project launch kit for Plainer
Project launch brings a brief, a checklist in a Reference subfolder, a two-record sample board, an interactive overview and a reusable assistant command together.
Free, no account needed. Opens Plainer with an example plan and shows what the template adds before you install it. Sign in when you want to keep it.
Folder structure
- Project launch /
- Project launch / Reference /
Includes 2 sample records. They will be copied too.
Project launch / Project brief.mdDocument
# Project brief ## Who is this for? ## What will change for them? ## The smallest useful version ## What does done look like? ## Next decisions
Project launch / Reference / Launch checklist.mdDocument
# Launch checklist ## Before sharing - Test the main flow - Write a clear introduction - Pick a few people for feedback ## After sharing - Read the feedback - Fix the most useful thing - Decide the next step
Project launch / Launch board.jsonData
Fields: Project, Status, Next step.
2 sample records. Add and edit your own after copying.
Fields and opening view
{
"fields": [
{
"key": "title",
"name": "Project",
"type": "text",
"options": [],
"required": false
},
{
"key": "status",
"name": "Status",
"type": "select",
"options": [
"Planned",
"Doing",
"Done"
],
"required": false
},
{
"key": "next",
"name": "Next step",
"type": "text",
"options": [],
"required": false
}
],
"presentation": {
"id": "00000000-0000-4000-8000-000000001110",
"name": "Launch board",
"source": "00000000-0000-4000-8000-000000001110",
"layout": "board",
"fields": [
"title",
"next"
],
"groupBy": "status",
"descending": false,
"plannerLayout": "both",
"bindings": {},
"code": {
"html": "",
"css": "",
"javascript": ""
},
"filters": []
},
"format": "records",
"rootShape": "array",
"valueRows": false
}[
{
"title": "Make the first useful version",
"status": "Doing",
"next": "Test the core flow"
},
{
"title": "Share with a few people",
"status": "Planned",
"next": "Write a short introduction"
}
]Project launch / Launch overview.htmlInteractive page
Opens one of the included data files.
Referenced files, fields and filters
{
"source": "00000000-0000-4000-8000-000000001110",
"bindings": {},
"fields": [],
"filters": []
}Runs only when you choose Run view. Its code can edit the files it references.
<main><small>PROJECT LAUNCH</small><h1>A little progress. One clear place.</h1><section class="stats"><div><span>On the board</span><strong id="total" data-plainer-count>0</strong></div><div><span>In progress</span><strong id="active" data-plainer-count="status=Doing">0</strong></div></section><h2>The next useful step</h2><section id="cards" data-plainer-records></section></main>
CSS and JavaScript
:root{color-scheme:light dark;font:15px system-ui;color:#26312a;background:#f6f7f2}*{box-sizing:border-box}body{margin:0}main{max-width:900px;margin:auto;padding:32px}small{letter-spacing:.12em;font-size:11px;color:#647063}h1{font-size:40px;letter-spacing:-.04em;max-width:600px;line-height:1.1;margin:25px 0}.stats{display:grid;grid-template-columns:1fr 1fr;gap:15px}.stats>div{display:grid;gap:14px;padding:24px;background:#fff;border:1px solid #dce2d8;border-radius:14px}.stats>div:nth-child(2){background:#e3edda}.stats strong{font-size:46px;font-weight:500}h2{font-size:19px;margin-top:30px}#cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card{display:grid;gap:8px;padding:18px;border:1px solid #dce2d8;border-radius:12px;background:#fff}.card span{font-size:12px;color:#647063}@media(prefers-color-scheme:dark){:root{background:#1b221d;color:#edf2e8}.stats>div,.card{background:#263128;border-color:#414d40}.stats>div:nth-child(2){background:#364730}.card span,small{color:#b8c6b0}}@media(max-width:500px){main{padding:20px}h1{font-size:30px}.stats>div{padding:16px}#cards{grid-template-columns:1fr}}body[data-plainer-surface="home"] main{padding:20px}body[data-plainer-surface="home"] h1{font-size:29px;margin:14px 0}body[data-plainer-surface="home"] .stats>div{padding:12px;gap:5px}body[data-plainer-surface="home"] .stats strong{font-size:32px}body[data-plainer-surface="home"] .stats span{font-size:10px}body[data-plainer-surface="home"] h2{font-size:13px;margin:14px 0 9px}body[data-plainer-surface="home"] #cards{grid-template-columns:1fr 1fr}body[data-plainer-surface="home"] .card{padding:10px;font-size:10px}
async function render(){const rows=await plainer.getRecords('primary');document.querySelector('#total').textContent=rows.length;document.querySelector('#active').textContent=rows.filter(r=>r.values.status==='Doing').length;const root=document.querySelector('#cards');root.replaceChildren();for(const row of rows){const card=document.createElement('article'),title=document.createElement('strong'),status=document.createElement('span');card.className='card';title.textContent=row.values.title;status.textContent=row.values.status;card.append(title,status);root.append(card);}}plainer.onChange(render);await render();Project launch / Find my next launch step.commandCommand
Review the brief and board, then suggest the next useful step.
Runs with the assistant after you sign in. Nothing runs when you add a copy.
Read Project brief.md, Launch checklist.md and the Launch board file in my workspace. Suggest one next step and explain why it matters. Ask before editing any file.
Referenced files and inputs
{
"bindings": {
"projects": "00000000-0000-4000-8000-000000001110"
},
"inputs": []
}What it does
- Replace the brief with your own audience, outcome and definition of done.
- Edit the board and its two fictional sample records.
- Run Launch overview to see the current board in an interactive page.
- Run Find my next launch step with the assistant after signing in. It reads the brief, checklist and board and asks before editing.
Sample records are fictional. Nothing runs automatically when you add the folder.
What you get after installing
- Launch board.json
- A data file with 3 fields: Project, Status, Next step. Includes 2 sample records.
- Launch overview.html
- Opens Launch board.json as an HTML, CSS and JavaScript view.
- Find my next launch step.command
- A command file. Runs with the planning assistant when you choose Run.
- Project brief.md
- An editable document with its full content and heading outline.
- Launch checklist.md
- An editable document with its full content and heading outline.
- Project launch/
- A folder that keeps the included files organized.
- Reference/
- A folder that keeps the included files organized.
Installed files are your own copies. Files that use your tasks, projects or goals keep using your existing content. Commands run only when you choose Run.
Who it is for
- People who want a small project organized across notes, data and a custom view.
How to install it
- Select Use this template. Plainer opens with an example plan, no account needed.
- Check what the template adds, then choose Install my own copy. Without an account, it is saved in this browser.
- Sign in or create a free account to keep it. Your guest plan, with the template, moves into your account. Commands that use the assistant need the account.
Free, no account needed. Opens Plainer with an example plan and shows what the template adds before you install it. Sign in when you want to keep it.
Public template contents
{
"collections": [
{
"id": "00000000-0000-4000-8000-000000001110",
"name": "Launch board",
"description": "",
"fields": [
{
"key": "title",
"name": "Project",
"type": "text",
"options": [],
"required": false
},
{
"key": "status",
"name": "Status",
"type": "select",
"options": [
"Planned",
"Doing",
"Done"
],
"required": false
},
{
"key": "next",
"name": "Next step",
"type": "text",
"options": [],
"required": false
}
],
"format": "records",
"rootShape": "array",
"valueRows": false,
"presentation": {
"id": "00000000-0000-4000-8000-000000001110",
"name": "Launch board",
"source": "00000000-0000-4000-8000-000000001110",
"layout": "board",
"fields": [
"title",
"next"
],
"groupBy": "status",
"descending": false,
"plannerLayout": "both",
"bindings": {},
"code": {
"html": "",
"css": "",
"javascript": ""
},
"filters": []
}
}
],
"records": [
{
"id": "00000000-0000-4000-8000-000000001130",
"collectionId": "00000000-0000-4000-8000-000000001110",
"values": {
"title": "Make the first useful version",
"status": "Doing",
"next": "Test the core flow"
},
"createdAt": "2026-11-06T00:00:00Z",
"updatedAt": "2026-11-06T00:00:00Z"
},
{
"id": "00000000-0000-4000-8000-000000001131",
"collectionId": "00000000-0000-4000-8000-000000001110",
"values": {
"title": "Share with a few people",
"status": "Planned",
"next": "Write a short introduction"
},
"createdAt": "2026-11-06T00:00:00Z",
"updatedAt": "2026-11-06T00:00:00Z"
}
],
"views": [
{
"id": "00000000-0000-4000-8000-000000001140",
"name": "Launch overview",
"source": "00000000-0000-4000-8000-000000001110",
"layout": "custom",
"fields": [],
"descending": false,
"plannerLayout": "both",
"bindings": {},
"code": {
"html": "<main><small>PROJECT LAUNCH</small><h1>A little progress. One clear place.</h1><section class=\"stats\"><div><span>On the board</span><strong id=\"total\" data-plainer-count>0</strong></div><div><span>In progress</span><strong id=\"active\" data-plainer-count=\"status=Doing\">0</strong></div></section><h2>The next useful step</h2><section id=\"cards\" data-plainer-records></section></main>",
"css": ":root{color-scheme:light dark;font:15px system-ui;color:#26312a;background:#f6f7f2}*{box-sizing:border-box}body{margin:0}main{max-width:900px;margin:auto;padding:32px}small{letter-spacing:.12em;font-size:11px;color:#647063}h1{font-size:40px;letter-spacing:-.04em;max-width:600px;line-height:1.1;margin:25px 0}.stats{display:grid;grid-template-columns:1fr 1fr;gap:15px}.stats>div{display:grid;gap:14px;padding:24px;background:#fff;border:1px solid #dce2d8;border-radius:14px}.stats>div:nth-child(2){background:#e3edda}.stats strong{font-size:46px;font-weight:500}h2{font-size:19px;margin-top:30px}#cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}.card{display:grid;gap:8px;padding:18px;border:1px solid #dce2d8;border-radius:12px;background:#fff}.card span{font-size:12px;color:#647063}@media(prefers-color-scheme:dark){:root{background:#1b221d;color:#edf2e8}.stats>div,.card{background:#263128;border-color:#414d40}.stats>div:nth-child(2){background:#364730}.card span,small{color:#b8c6b0}}@media(max-width:500px){main{padding:20px}h1{font-size:30px}.stats>div{padding:16px}#cards{grid-template-columns:1fr}}body[data-plainer-surface=\"home\"] main{padding:20px}body[data-plainer-surface=\"home\"] h1{font-size:29px;margin:14px 0}body[data-plainer-surface=\"home\"] .stats>div{padding:12px;gap:5px}body[data-plainer-surface=\"home\"] .stats strong{font-size:32px}body[data-plainer-surface=\"home\"] .stats span{font-size:10px}body[data-plainer-surface=\"home\"] h2{font-size:13px;margin:14px 0 9px}body[data-plainer-surface=\"home\"] #cards{grid-template-columns:1fr 1fr}body[data-plainer-surface=\"home\"] .card{padding:10px;font-size:10px}",
"javascript": "async function render(){const rows=await plainer.getRecords('primary');document.querySelector('#total').textContent=rows.length;document.querySelector('#active').textContent=rows.filter(r=>r.values.status==='Doing').length;const root=document.querySelector('#cards');root.replaceChildren();for(const row of rows){const card=document.createElement('article'),title=document.createElement('strong'),status=document.createElement('span');card.className='card';title.textContent=row.values.title;status.textContent=row.values.status;card.append(title,status);root.append(card);}}plainer.onChange(render);await render();"
},
"filters": []
}
],
"commands": [
{
"id": "00000000-0000-4000-8000-000000001150",
"name": "Find my next launch step",
"description": "Review the brief and board, then suggest the next useful step.",
"inputs": [],
"mode": "assistant",
"code": "",
"bindings": {
"projects": "00000000-0000-4000-8000-000000001110"
},
"prompt": "Read Project brief.md, Launch checklist.md and the Launch board file in my workspace. Suggest one next step and explain why it matters. Ask before editing any file.",
"steps": []
}
],
"documents": [
{
"id": "00000000-0000-4000-8000-000000001120",
"name": "Project brief",
"format": "md",
"content": "# Project brief\n\n## Who is this for?\n\n## What will change for them?\n\n## The smallest useful version\n\n## What does done look like?\n\n## Next decisions\n",
"updatedAt": "2026-11-06T00:00:00Z"
},
{
"id": "00000000-0000-4000-8000-000000001121",
"name": "Launch checklist",
"format": "md",
"content": "# Launch checklist\n\n## Before sharing\n\n- Test the main flow\n- Write a clear introduction\n- Pick a few people for feedback\n\n## After sharing\n\n- Read the feedback\n- Fix the most useful thing\n- Decide the next step\n",
"updatedAt": "2026-11-06T00:00:00Z"
}
],
"folders": [
{
"id": "00000000-0000-4000-8000-000000001100",
"name": "Project launch",
"parentId": null
},
{
"id": "00000000-0000-4000-8000-000000001101",
"name": "Reference",
"parentId": "00000000-0000-4000-8000-000000001100"
}
],
"fileAppearance": {
"document:00000000-0000-4000-8000-000000001120": {
"categories": [],
"folderId": "00000000-0000-4000-8000-000000001100",
"pinned": false,
"color": "default"
},
"document:00000000-0000-4000-8000-000000001121": {
"categories": [],
"folderId": "00000000-0000-4000-8000-000000001101",
"pinned": false,
"color": "default"
},
"data:00000000-0000-4000-8000-000000001110": {
"categories": [],
"folderId": "00000000-0000-4000-8000-000000001100",
"pinned": false,
"color": "default"
},
"view:00000000-0000-4000-8000-000000001140": {
"categories": [],
"folderId": "00000000-0000-4000-8000-000000001100",
"pinned": false,
"color": "default"
},
"commands:00000000-0000-4000-8000-000000001150": {
"categories": [],
"folderId": "00000000-0000-4000-8000-000000001100",
"pinned": false,
"color": "default"
}
},
"attachments": [],
"rootFolderId": "00000000-0000-4000-8000-000000001100"
}More templates
- Weekly reset folder A weekly plan, reflection notes and a review command together.
- Meeting notes A clear document for context, decisions and next actions.
- Weekly review The assistant reviews your week, picks up to 3 weekly goals and gives next actions a day.
- Daily planner (Plan my day) Rolls over unfinished tasks and fits the day around routines, priorities and your calendar.