An offline library for knowledge cartridges — portable .pack files holding reference cards, checklists, workflows, and quizzes. Your data lives in the file, not on a server.
Drag & Drop your .pack file here
or
No library yet? Start a new one or download the Welcome pack
Your server keeps the most recent backups. Choose one to load — it replaces the open library.
Tap the card to flip
Great job reviewing this material.
Edit the raw JSON structure of your card below:
Use this guide to understand how to build and format your cards.
Every card needs these core attributes to show up in the library.
"id": "unique-card-123", // Must be unique — change it in the editor and you get a copy, not a rename
"title": "My Card Name",
"path": ["Shelf Name", "Book Name"], // Generates the sidebar folders
"tags": ["tag1", "tag2"] // Helps with search
All media must be placed inside the media/ folder of your ZIP package.
"media": {
"coverImage": "media/my-image.jpg",
"audio": "media/voice-note.mp3",
"video": "media/clip.mp4",
"videoUrl": "https://www.youtube.com/embed/...",
"attachments": [
{ "name": "Cheat Sheet", "file": "media/doc.pdf" }
]
}
The reading mode for the card. Text supports Markdown: headers (#), **bold**, *italic*, `code`, lists, > quotes, [links](url), tables, and ``` fenced code blocks. Existing HTML also still works.
"reference": {
"enabled": true,
"blocks": [
{ "type": "text", "content": "## Markdown works here\n- point one\n- point two" },
{ "type": "image", "file": "media/diagram.jpg" },
{ "type": "video", "file": "media/clip.mp4" },
{ "type": "video", "url": "https://www.youtube.com/embed/..." },
{ "type": "audio", "file": "media/note.m4a" },
{ "type": "code", "language": "js", "content": "console.log('hi');" },
{ "type": "quote", "content": "Well begun is half done.", "cite": "Aristotle" },
{ "type": "callout", "variant": "tip", "content": "Variants: note, tip, warning" },
{ "type": "divider" }
]
}
A tickable list. Ticks are saved into the card, so a checklist's state travels with the pack.
"checklist": {
"enabled": true,
"items": [
{ "task": "First thing to do", "completed": false },
{ "task": "Second thing", "completed": true }
]
}
Creates a step-by-step swiping workflow. You can optionally ask for input to generate a report.
"process": {
"enabled": true,
"steps": [
{ "id": 1, "text": "Basic instruction step." },
{
"id": 2,
"text": "Step asking for data.",
"input": { "type": "text", "prompt": "Enter notes:" }
}
]
}
Creates flashcards and multiple-choice quizzes.
"testing": {
"enabled": true,
"flashcard": {
"front": "Question?",
"back": "Answer!"
},
"quiz": [
{
"question": "Which is correct?",
"options": ["Wrong", "Right", "Wrong"],
"correctIndex": 1
}
]
}
Current files in media/ folder: