NStrim AI Module Generation

Draft a full set of modules from a one-sentence brief
Describe a session in a sentence — get a full module draft.
NStrim AI generates module names, descriptions, marking lists, info for teachers and amendments. You stay in control: nothing is saved until you accept each card.

NStrim AI module generation lives on the per-session Modules page. It turns a short brief — anything from "a 4-hour PHP/Laravel API task with auth and pagination" to "two short Vue.js exercises for week-3 students" — into ready-to-review module cards.

How to use it

  1. Open your session and go to the Modules page.
  2. Click Generate with NStrim AI.
  3. Pick the scope — one module or a small set — and the programme type (training or competition).
  4. Type a short brief: what topics, what tech, what level of difficulty, how long.
  5. Click Generate. You'll see pulsing dots, a progress bar and a rotating status phrase while the model thinks (typically 30–60 seconds).
  6. Review each card. Accept the ones you like, edit anything you want to change, and Save.
Single-module shortcut
When you ask for just one module, the per-card Accept button is hidden — there's a single Save module action that accepts and saves in one step.

What gets generated

Name & slug Display name and a URL-friendly slug that students will use as their Git repo name.
Description Full markdown brief shown to students on their dashboard.
Marking list Numbered per-requirement marking criteria, ready for the per-requirement marking view.
Info for teachers Notes only experts/teachers see — common pitfalls, suggested checks, what "good" looks like.
Amendments An amendments section, populated when relevant.
Day & mode For multi-day events, the day index and the timing mode (training vs competition).

Writing a good brief

The model gets one shot per generation, so the brief is doing the heavy lifting. Aim for two or three sentences that cover:

  • Topic — "a CRUD task with authentication", "REST API with pagination", "responsive landing page from a Figma mock".
  • Tech — name the framework (Laravel, Vue, React, Express, Next.js…). The model uses this to pick relevant marking criteria.
  • Difficulty — week-3 trainees vs final-week competitors yields very different drafts.
  • Length — "4-hour module" or "two short 90-minute exercises".

Example brief that works well: "Two-hour Laravel module for week-4 trainees: build a small task manager with auth, CRUD endpoints, validation and feature tests. Aim for ~6 marking-list items."

Safety & guardrails

  • Off-topic refusals — if the brief isn't about a coding/dev module, NStrim AI returns a polite refusal with a reason instead of guessing.
  • Schema validation — every response is validated against a strict schema. If the model returns malformed output, you see an error rather than a half-broken module.
  • Nothing saved until you accept — drafts live only in the wizard. Rejected modules are never written to the database.
  • Master prompt is server-side — the system prompt that shapes how NStrim AI behaves can't be changed from the UI; your brief is appended as a separate user message.

Per-session toggle

AI generation is enabled by default on new sessions. To turn it off for a specific session:

  1. Go to Session Settings → Session Features.
  2. Toggle AI module generation off.
  3. The Generate with NStrim AI button is hidden on that session's Modules page.

Resuming after a closed tab

If you close the tab or hit refresh during generation, the result is cached for one hour. Reopen the wizard from the same browser within that window and you can pick up where you left off. After an hour, the cache expires and you'll need to generate again.

Usage & quota

Every generation uses tokens — the unit of work the language model bills against. Each company gets a generous monthly included quota covered by NStrim. If you exceed the included quota, generation pauses cleanly until you opt in to overage billing.

  • Included quota — refreshes monthly, no setup needed. Plenty for normal use across a teaching term.
  • Soft pause at the limit — when the included quota is exhausted, the wizard pauses and shows your usage instead of silently charging extra.
  • Optional overage — admin owners can opt in to overage billing on the NStrim AI usage page (Account → AI usage). Overage is metered per 1k tokens at a published rate.
  • Overage cap — even with overage on, a hard cap protects your account from runaway bills. Owners can raise the cap from the same page.
  • Audit log — every generation is logged so you can see what was generated when, by whom, and how many tokens it used.
Only company owners can change billing settings
Raising the overage cap and toggling overage billing require the owner role on the company. Other admins see usage but can't change limits.

FAQ

Does AI ever overwrite my existing modules?

No. Every generated module is created as a new module only after you click Save. Existing modules are untouched.

Can students see I used AI?

No. Students see modules exactly as they appear in the editor. There's no AI watermark — what you save is what they see.

What if the result isn't quite right?

Two options: edit the card directly before saving, or refine your brief and generate again. The wizard is designed for fast iteration.

Can I use AI for translations?

Not yet — generation produces the default-language module. Translations are still manual via the language switcher on the module edit page.

Related