Skip to main content

Sign in to your account

KnowledgeCheckr supports multiple authentication methods powered by Better Auth.
1

Choose your authentication method

Navigate to the application and select one of the available sign-in options:
  • Email & Password - Create an account with email (minimum 8 characters for password)
  • GitHub - Sign in with your GitHub account
  • Google - Sign in with your Google account
  • Dex - Use your organization’s custom OAuth provider
  • Anonymous - Start without an account (can be linked later)
Anonymous accounts are perfect for quick testing. You can link them to a registered account later to preserve your knowledge checks and results.
2

Complete registration

If using email/password, create your account with:
// Email and password authentication is configured with:
emailAndPassword: {
  enabled: true,
  minPasswordLength: 8,
  autoSignIn: true,
}
After successful authentication, you’ll be automatically signed in and redirected to your dashboard.

Create your first knowledge check

Once authenticated, you can start creating knowledge assessments.
1

Navigate to the create page

From your dashboard at /checks, click the “Create KnowledgeCheck” button or navigate directly to /checks/create.If you have no existing checks, you’ll see a helpful prompt:
New to KnowledgeCheckr? The create flow uses a multi-stage wizard to guide you through each step of building your assessment.
2

Stage 1: Basic information

Configure the fundamentals of your knowledge check:
  • Name - Give your check a descriptive title
  • Description - Add context about what this assessment covers
  • Categories - Create categories to organize your questions (optional but recommended)
  • Collaborators - Invite other users to help create questions
The multi-stage progress bar will show your current position:
stages: [
  { stage: 1, title: 'basic-information' },
  { stage: 2, title: 'questions' },
  { stage: 3, title: 'settings' },
  { stage: 4, title: 'conclusion' },
]
3

Stage 2: Add questions

Create questions using four different types:
Traditional multiple choice with one correct answer:
type: 'single-choice'
answers: [
  { id: uuid, answer: 'Answer 1', correct: false },
  { id: uuid, answer: 'Answer 2', correct: true },  // Only one correct
  { id: uuid, answer: 'Answer 3', correct: false },
]
For each question, configure:
  • Question text - Must be at least 3 words long
  • Points - How much this question is worth
  • Category - Organize questions by topic
  • Accessibility - Where the question appears:
    • all - Both practice and examination
    • practice-only - Only in practice mode
    • exam-only - Only in examination mode
Questions must have unique answers. The schema automatically validates that no duplicate answers exist within a question.
4

Stage 3: Configure settings

Set up how users will interact with your knowledge check:Practice mode settings:
  • Enable/disable practice mode
  • Allow category filtering
  • Show immediate feedback
Examination mode settings:
  • Set attempt limits
  • Configure time constraints
  • Enable/disable navigation between questions
  • Randomize question order
settings: {
  practice: {
    enablePracticing: true
  },
  examination: {
    examinationAttemptCount: 3,  // Limit attempts
    // Additional exam-specific settings...
  }
}
5

Stage 4: Review and save

Review your complete knowledge check in the overview section. Once satisfied, save your work.The system will:
  • Validate all questions and answers
  • Save the check to the database
  • Redirect you back to your checks list
Make sure all questions have at least one correct answer before saving. The validation will prevent saving incomplete questions.

Share your knowledge check

After creating your check, share it with others.
1

Generate a share link

From your knowledge check card or edit page, click the share button (Share2Icon).The system will:
  • Generate a unique share token
  • Create a shareable URL: /checks/{share_token}/practice
  • Copy the link to your clipboard
// Share token generation
const token = generateToken()
storeKnowledgeCheckShareToken(checkId, token)

// Generated URL format
`${window.location.origin}/checks/${token}/practice`
Share tokens are permanent unless explicitly revoked. You can regenerate a new token at any time.
2

Distribute the link

Share the generated URL with your users via:
  • Email
  • Learning management systems
  • Social media
  • Direct messaging
Users can access the check in two modes:
  • Practice: /checks/{token}/practice
  • Examination: /checks/{token}/

Take a knowledge check

When users access your shared knowledge check, they experience different flows depending on the mode.

Practice mode

Practice mode provides a flexible learning environment:
1

Select a category (optional)

If your check has multiple categories, users can filter questions by category:
// Categories are extracted from questions
const categories = Array.from(
  new Set(questions.map(q => q.category))
)

// Filter by selected category
practiceQuestions = questions.filter(
  q => q.category.toLowerCase() === selectedCategory
)
2

Answer questions

Users can:
  • Navigate freely between questions
  • See immediate feedback on their answers
  • Track progress with a visual indicator
  • Return to previous questions
The practice interface includes:
  • Question navigation menu
  • Progress bar showing completion
  • Previous/Next buttons for easy navigation
3

Review and learn

In practice mode, users can see correct answers immediately, making it ideal for learning and skill building.

Examination mode

Examination mode provides a formal assessment experience:
1

Check attempt eligibility

The system verifies:
  • User hasn’t exceeded attempt limits
  • Examination mode is enabled
  • User has authentication (anonymous users supported)
// Attempt validation
const attempts = await getExaminationAttempts(userId, checkId)

if (attempts.length >= check.settings.examination.examinationAttemptCount) {
  redirect(`/checks/${token}/attempt-limit`)
}
2

Complete the examination

During examination:
  • Questions may be presented in random order
  • Navigation may be restricted based on settings
  • Timer displays if time limits are set
  • Answers are not revealed until submission
3

Submit and view results

After completing all questions:
  • Submit the examination
  • View your score and results
  • See which questions were correct/incorrect
  • Track your attempt history

Next steps

Install locally

Set up KnowledgeCheckr on your own infrastructure

API reference

Integrate KnowledgeCheckr with your applications

Core features

Explore question types and assessment modes

Configuration

Learn how to configure knowledge checks

Build docs developers (and LLMs) love