Sparkth end-user documentation (sample)
File: 00-ABOUT-THIS-SAMPLE.md (raw markdown)
About this sample
This is an unsolicited redocumentation demo produced by Arrowmere (EXP-003 productized documentation service) as a portfolio piece.
- Target project:
edly-io/sparkth— Edly's open-source, AI-first learning platform. MIT-licensed (© Arbisoft). - Snapshot used: repo cloned 2026-10-10.
- Why this project: Sparkth has solid developer documentation (mkdocs guides on configuration, plugins, permissions, plus generated API reference), but the project's own issue tracker states the gap plainly — issue #795: "There is no documentation for an end user".
- What this sample shows: (1) a proposed end-user documentation plan (information architecture, scoped to what the product actually contains), and (2) one fully written guide from that plan, grounded in the actual frontend routes, plugin list, and MCP server in the repository.
Grounding notes — everything referenced was verified in the repo snapshot:
- Frontend routes: /register, /login, /verify-email, /dashboard,
/dashboard/resources, /dashboard/settings, /dashboard/llm/configure
(sidebar label "AI Keys"), /dashboard/analytics, plugin pages at
/dashboard/<pluginName>.
- Plugins shipped in-tree: canvas, chat, googledrive, moodle, openedx, pxc,
slack.
- MCP server mounted at /ai/mcp (hosted: https://sparkth.edly.space/ai/mcp);
course-generation prompt tool and plugin tools (e.g. pxc_build_activity,
pxc_list_activities) registered per plugin.
- Chat document retrieval behavior from docs/guides/chat-retrieval.md.
Screenshot/caption placeholders are marked [SCREENSHOT: …] — in a paid
engagement these are captured from a running instance during delivery.
Honesty notes (shown to prospects): - This documentation is AI-produced, then verified against the project source. - It was NOT commissioned by Edly. It is a demonstration of service quality. - A paid engagement would include the full guide set in the plan, screenshots from a live instance, CI-checked doc builds, and unlimited revisions in scope.
File: END-USER-DOCS-PLAN.md (raw markdown)
Sparkth end-user documentation — proposed plan
Responds to edly-io/sparkth#795 ("There is no documentation for an end user").
Audience split
Sparkth's existing docs serve operators and plugin developers. End users are different people with different questions:
| Audience | Typical questions |
|---|---|
| Educators / course authors | How do I generate a course? How do I connect my AI assistant? What do the plugins (Canvas, Moodle, Open edX) do for me? |
| Learners / chat users | How do I sign up? How does chat use my uploaded documents? What happens to my files? |
| Workspace admins (non-developer) | How do I manage users, whitelist access, read the analytics pages? |
Proposed structure (docs/users/)
- Getting started — account, verification, first login, dashboard tour.
(Written in full in this sample:
getting-started.md.) - Connecting an AI assistant — what the MCP server is in plain words;
connecting Claude/other MCP clients to
/ai/mcp; which tools appear and what they do (per enabled plugin). - Generating course content — the course-generation prompt, building activities (PXC), reviewing and iterating on generated material.
- Chat with your documents — attaching documents, when retrieval does
and doesn't run (plain-language version of the existing
chat-retrieval.md, which is written for developers), document statuses (ready / ingesting / failed), deleting documents. - Resources — uploading and organizing files; Google Drive connection.
- LMS integrations for course authors — what connecting Canvas, Moodle, or Open edX gives you; pushing generated content to your LMS.
- Settings & AI keys — bringing your own model key, choosing a model, what each setting changes.
- For workspace admins — user management, the whitelist page, the analytics pages (logins), auditability in plain words.
- FAQ & troubleshooting — login/verification problems, "why didn't chat read my document", "my AI assistant can't see Sparkth tools".
Conventions
- Every page answers "what can I do here" in the first two sentences.
- Screenshots on every page with a UI surface; captured at a fixed window size for consistent rendering.
- No internal class/function names on user pages — those stay in the developer docs; cross-link instead.
- Published in the existing mkdocs site under a separate "Using Sparkth"
nav section, so one
make docsbuilds both.
Delivery estimate (paid engagement)
All nine sections, screenshots from a live instance, mkdocs nav integration, one revision round included: 72 hours from access to a staging instance.
File: getting-started.md (raw markdown)
Getting started with Sparkth
Sparkth is an AI-first learning platform: you can chat with an assistant that reads your own documents, generate course content with AI, and push that content to a learning system such as Canvas, Moodle, or Open edX. This guide takes you from no account to a working dashboard.
Using Edly's hosted instance? It lives at sparkth.edly.space. If your organization runs its own Sparkth, use that address instead — everything below works the same.
1. Create your account
- Open your Sparkth instance and choose Register.
- Enter your details and submit the form.
- Check your inbox for a verification email and follow its link. Until you verify, you can't sign in.
[SCREENSHOT: registration form]
Didn't get the email? Check spam first. If your organization uses an access whitelist, your address may need to be added by an administrator before registration succeeds — ask whoever runs your instance.
2. Sign in and meet the dashboard
After verifying, choose Login and sign in. You land on the dashboard. The sidebar is the map of everything you can do:
| Sidebar item | What it's for |
|---|---|
| Resources | Upload and manage the files you want the AI to work with |
| Settings | Your account and workspace preferences |
| AI Keys | Connect your own AI model key (see step 3) |
| Plugin pages | One entry per enabled integration — e.g. Chat, Canvas, Moodle, Open edX, Google Drive, Slack |
[SCREENSHOT: dashboard with sidebar]
What you see depends on your role and on which plugins your administrator has enabled — if a page from this guide is missing, it's simply not enabled for you.
3. Add an AI key
Sparkth's AI features run on a language model, and you (or your workspace) choose which one. Open AI Keys in the sidebar, pick your provider, and paste an API key from that provider's console.
[SCREENSHOT: AI key configuration page]
Your key is used to serve your requests — chat answers and course generation. Without a configured model, AI features will tell you they're not available.
4. Upload something to Resources
Open Resources and upload a document you'd like to work with — lecture notes, a syllabus, a textbook chapter. Uploaded documents are ingested (indexed for search) before the AI can read them; a document shows as ready once ingestion finishes.
[SCREENSHOT: resources page with an uploaded document]
5. Try it: chat with your document
Open the Chat page, attach the document you uploaded, and ask a question about its content. When your question relates to the document, Sparkth searches it and answers from what it finds; when it doesn't (say, "make that shorter"), it answers directly. If a document is still ingesting or failed to ingest, chat can't read it yet — the Resources page shows its status.
6. Where to go next
- Generate course content with AI — see Generating course content.
- Connect Claude or another AI assistant to Sparkth's tools — see
Connecting an AI assistant. (Short version: point an MCP-capable
assistant at
https://<your-instance>/ai/mcp.) - Push content to Canvas, Moodle, or Open edX — see LMS integrations.
Troubleshooting
| Problem | Try this |
|---|---|
| Can't register | Your email may not be on the instance whitelist — contact your admin |
| Verification link expired | Register again to get a fresh email |
| AI features unavailable | Add a key under AI Keys (step 3) |
| Chat ignores my document | Check the document shows as ready in Resources; re-upload if ingestion failed |
| A page in this guide is missing | The plugin isn't enabled on your instance — ask your admin |