Getting Started
Go from sign-up to your first graded paper in under 10 minutes.
The Kwagly workflow
Kwagly has two apps that work together: the web dashboard (for managing everything) and the mobile app (for scanning). Here's the full loop:
- 1Create a class on the web dashboard — give it a name, subject, and grade level.
- 2Add students to the class — manually, or import them from a CSV file.
- 3Create a quiz — set the number of items, choices per item, and fill in the answer key.
- 4Generate an answer sheet — export as PDF or DOCX, then print and distribute to students.
- 5Scan with the mobile app — point your phone at a completed answer sheet; Kwagly grades it automatically in under 2 seconds.
- 6Review results on the web dashboard — see scores, item analysis, and class analytics.
Creating your account
- 1Go to kwagly.com and tap Sign up.
- 2Enter your email address and choose a password (minimum 8 characters, with at least one uppercase letter and one number).
- 3Check your inbox for a verification email and click the link inside. You must verify your email before you can use Kwagly.
- 4Once verified, you're taken to the dashboard automatically.
Frequently Asked Questions
Quick answers to the most common questions.
What is Kwagly?
Kwagly is a quiz grading platform for teachers. It lets you create multiple-choice quizzes, print bubble-sheet answer sheets, and grade them automatically by scanning with your phone's camera — no special hardware required.
Do I need the mobile app to use Kwagly?
You need the mobile app to scan and grade answer sheets — the camera and grading engine live exclusively on mobile. Everything else (creating classes, students, quizzes, printing sheets, and viewing results) is available on the web dashboard.
Does Kwagly work without an internet connection?
The mobile app is fully offline-capable. You can scan and grade papers without any connection. Results are stored on your device and automatically uploaded to the cloud the next time you're online.
The web dashboard requires an internet connection to load data from the cloud.
What's the difference between Free and Pro?
The Free plan lets you create classes, students, quizzes, and scan papers up to a monthly limit. Pro removes all limits, unlocks advanced analytics, and supports larger answer sheets (up to 100 items). You can upgrade via the Paywall screen in the app, or by redeeming a voucher code.
How do I redeem a voucher code?
On mobile: go to Profile → Subscription → Redeem voucher.
On web: go to Profile → Subscription → Redeem voucher.
Enter your code in the format KWG-XXXX-XXXX-XXXX and tap Redeem. A valid code upgrades your account to Pro for 1 year instantly.
How accurate is the automatic grading?
Under normal conditions (good lighting, flat sheet, camera held steady), Kwagly achieves over 95% per-item accuracy. Items with low confidence are automatically flagged with a warning badge so you can review and override them manually.
Can I edit a result after scanning?
Yes. Open any paper and tap any item to override the detected answer. Your correction is saved and the score is recalculated automatically.
What file formats can I export?
Answer sheets can be exported as PDF or DOCX. Both use a legal-landscape, two-sheets-per-page layout optimised for printing and cutting. Results and item analysis can be exported as CSV.
Can I import my student roster?
Yes — on the web dashboard only. Go to Students → Import CSV. Your file should have columns for First Name, Middle Name, Last Name, and optionally LRN (Learner Reference Number). Kwagly previews the import and shows you any duplicates or errors before committing.
Is my data private and secure?
Yes. All data is isolated to your account — no other teacher can see your classes, students, or results. Kwagly uses Firebase App Check to prevent unauthorized access, enforces email verification before any data can be written, and locks all billing fields server-side so they can't be tampered with by clients.
What happens if I delete my account?
Deleting your account permanently removes your Firebase account and all your Kwagly data — classes, students, quizzes, and results. This cannot be undone. If you only want to clear data without closing your account, use the Danger Zone in Settings instead.
Account & Subscription
Managing your profile, password, plan, and billing.
Editing your profile
Go to Profile (bottom of the sidebar on web, or the Me tab on mobile). You can update your display name and change your password from the Account section.
Changing your password
- 1Open Profile → tap Change password.
- 2Enter your current password, then your new password twice.
- 3Tap Save. You'll stay signed in.
Plan tiers
| Feature | Free | Pro |
|---|---|---|
| Classes | Unlimited | Unlimited |
| Students | Unlimited | Unlimited |
| Quizzes | Limited | Unlimited |
| Scans / month | Limited | Unlimited |
| Items per quiz | Up to 50 | Up to 100 |
| Item analysis | Basic | Full (DepEd/CHED standard) |
| CSV export | ✓ | ✓ |
| DOCX export | ✓ | ✓ |
Signing out
Profile → Sign out. On web, you can check Remember me at login to stay signed in across browser sessions.
Classes
Organise students and quizzes into classes.
Creating a class
- 1Go to Classes in the sidebar.
- 2Tap New class (top right).
- 3Enter the class name, subject, and grade level. Pick a colour.
- 4Tap Save. Your class appears in the list immediately.
Class detail
Tap any class to open its detail view. You'll see the student roster, linked quizzes, and a summary of recent scan activity. From here you can edit the class name, add students, or link quizzes.
Deleting a class
Open the class → tap the ⋯ menu → Delete. You can only delete a class once all quizzes linked to it have been deleted first. Students are not deleted when a class is deleted — they remain in the Students list.
Students
Add, import, and manage your student roster.
Adding students manually
- 1Open a class and tap Add student, or go to Students → New student.
- 2Enter the student's first name, middle name (optional), last name, and LRN (optional).
- 3Tap Save.
Importing from CSV Web only
- 1Go to Students → Import CSV.
- 2Select the target class (or create one).
- 3Upload your CSV file. Required columns:
First Name,Last Name. Optional:Middle Name,LRN. - 4Review the preview — each row shows its status: New, Enroll, Registered, Skip, or Error.
- 5Tap Import to commit.
Filtering and sorting students
The Students table on the web has sortable columns (First Name, Middle Name, Last Name, LRN, Classes) and per-column text filters. Use the Class filter dialog to filter by class membership using CONTAINS, EQUALS, or NOT EQUALS rules.
Deleting students
Students can always be deleted. Select one or more rows and tap Delete. Note: deleting a student does not delete their scanned papers — historical results are preserved.
Quizzes
Create quizzes, set answer keys, and manage versions.
Creating a quiz
- 1Go to Quizzes → New quiz.
- 2Enter a title, select the number of items (10, 20, 25, 50, or 100), and the number of choices per item (4 or 5).
- 3Optionally link the quiz to one or more classes.
- 4Tap Save, then tap Edit answer key to fill in the correct answers.
Editing the answer key
The answer key screen shows a grid of all items. Tap each item and select A, B, C, D (or E for 5-choice quizzes). You can navigate with the keyboard on desktop. The key is saved automatically.
Quiz detail
Tap a quiz to open its detail screen. You'll see a summary of all scanned papers for that quiz, the answer key, and links to the item analysis report. From here you can also generate an answer sheet.
Deleting a quiz
A quiz can only be deleted if it has zero scanned papers. Delete all papers for that quiz first, then delete the quiz.
Answer Sheet Generation & Printing
Generate, export, and print bubble-sheet answer sheets.
Generating a sheet
- 1Open a quiz and tap Generate answer sheet, or go to the Sheets screen.
- 2Tap Export PDF or Export DOCX.
- 3The file downloads to your computer. Open and print from any PDF or Word viewer.
Print layout
Both PDF and DOCX use legal landscape (13 × 8.5 inches) with two sheets per page separated by a dashed cut guide. Print double-sided if you want to save paper, or print single-sided and cut along the guide.
What's on the sheet?
| Element | Purpose |
|---|---|
| 4 corner squares (fiducials) | Allow the CV engine to locate and warp the sheet, even at an angle. |
| Bubble grid | One row per item, one bubble per choice. Students fill the bubble that matches their answer. |
| Name / Section / Date fields | For the student to write in — not read by the scanner. |
| Footer | Shows the quiz title for reference. |
Scanning & Grading
Use the mobile app to capture and grade answer sheets automatically.
Scanning a sheet
- 1Open the mobile app and tap the Scan button (center of the bottom tab bar).
- 2Select the quiz you're grading from the quiz picker.
- 3Point the camera at the answer sheet. Four corner viewfinders appear on screen.
- 4Align the sheet so all four corners are visible in the viewfinders. When all four turn green, the app auto-captures.
- 5The grading result appears immediately — score, per-item answers, and any flagged items.
- 6Review and tap Save (or override any flagged items first).
Lighting and positioning tips
- Use bright, even lighting. Avoid harsh shadows across the sheet.
- Keep the sheet flat — no curls or folds over the bubble area.
- Hold the phone parallel to the sheet, not at an angle.
- The sheet doesn't need to fill the entire screen — keep some margin around all four corners.
- Natural daylight or a well-lit desk lamp works better than overhead fluorescent light.
Flagged items
Items where the scanner isn't confident (e.g. lightly filled bubble, stray mark, double-mark) are highlighted with a flag badge. Tap any flagged item on the review screen to see the detected answer and override it manually.
Offline scanning
Scans are saved to your device immediately, even without an internet connection. As soon as connectivity is restored, the app silently uploads all pending scans in the background. You'll see a sync indicator if there are papers waiting to upload.
Results & Analysis
View scores, item analysis, and class-wide analytics.
Viewing papers
Go to Papers in the sidebar to see all scanned papers across all quizzes. You can filter by quiz, class, or student. Tap any paper to see the full per-item breakdown, score, and flagged items.
Quiz summary & item analysis
Open a quiz and tap View summary to see the full analytics report. The report follows the DepEd/CHED psychometric standard and includes:
| Metric | What it means |
|---|---|
| Difficulty (p) | Proportion of students who got the item correct (0.00–1.00). Higher = easier. |
| Difficulty level | Very easy / Easy / Moderate / Difficult / Very difficult (Hopkins & Antes scale). |
| Discrimination (D) | Upper-lower 27% index. Measures how well an item separates high and low scorers. |
| D-level | Excellent / Good / Fair / Poor / Very poor. |
| Action | Retain (p 0.30–0.70 and D ≥ 0.30), Revise, or Discard. |
Score distribution
The summary screen shows a histogram of scores across 10 buckets, with a passing-line annotation at 75%. This gives you an at-a-glance view of how the class performed.
Student history
Go to Students → tap a student → View history to see all quizzes that student has taken, their scores, and a trend over time.
Analytics dashboard
The Analytics page shows class-wide statistics: total papers, average score, pass rate, and recent scan activity across all your quizzes.
Import & Export
CSV, PDF, DOCX — moving data in and out of Kwagly.
| Action | Format | Where |
|---|---|---|
| Import student roster | CSV | Web — Students → Import CSV |
| Export student list | CSV | Web — Students table → Export CSV |
| Export answer sheet | Web — Quiz → Generate sheet → Export PDF | |
| Export answer sheet | DOCX | Web — Quiz → Generate sheet → Export DOCX |
| Export raw results | CSV | Web — Quiz summary → Export CSV |
| Export item analysis | CSV | Web — Quiz summary → Export item analysis CSV |
CSV import format (students)
Your CSV file should have a header row. Accepted column names (case-insensitive):
| Column | Required? | Notes |
|---|---|---|
First Name | Yes | |
Last Name | Yes | |
Middle Name | No | |
LRN | No | Learner Reference Number — used for duplicate detection. |
Answer sheet export tips
- Use PDF for most printers — it preserves exact sizing.
- Use DOCX if you need to add a school letterhead or custom header above the sheet.
- Both formats use legal-landscape, 2-up layout. Print at 100% scale.
Settings & Preferences
Configure Kwagly to fit your workflow.
Settings are accessible from the bottom of the sidebar on the web dashboard. The mobile app's preferences live inside the Profile screen.
| Section | What's here |
|---|---|
| General | Dark mode (coming soon). |
| Scanner | Auto-capture, capture quality, flagged threshold. Configured on mobile; displayed here for reference. |
| Cloud sync | Shows your Firebase connection status and explains how offline sync works. |
| Support | Help center, contact email, Privacy & Terms. |
| Danger zone | Bulk-delete papers, quizzes, classes, or students. Wipe all data. Delete account. |
Danger zone
The recommended deletion order is: Papers → Quizzes → Classes → Students. Kwagly will block you if you try to delete in the wrong order (e.g., you can't delete a quiz that still has papers).
Troubleshooting
Common issues and how to fix them.
The scanner can't find the sheet corners
Causes: bad lighting, camera too close or too far, sheet is tilted or curled, fiducial corners are in shadow.
Fix: Move to a brighter location. Hold the phone about 30–40 cm above the sheet, parallel to it. Flatten any curled corners. Make sure all four corner squares are fully visible in the frame.
Many items are flagged even though the student filled the sheet correctly
Causes: the sheet was printed at a reduced scale, or the student used a very light pencil.
Fix: Check that the sheet was printed at 100% scale (not "fit to page"). Ask students to use a dark pen or 2B pencil. You can manually override all flagged items on the review screen.
The app scanned the sheet but selected the wrong quiz
The quiz is determined by whichever quiz you selected before scanning. If the wrong quiz was active, go back, select the correct quiz from the picker, and re-scan the sheet.
Scans aren't appearing on the web dashboard
Scans upload in the background when the mobile device has an internet connection. Check:
1. The mobile device has Wi-Fi or mobile data.
2. You are signed in with the same account on both web and mobile.
3. Wait 30–60 seconds and refresh the web dashboard.
If scans still don't appear, open the mobile app — a banner will show if there are sync errors.
Verification email never arrived
Check your spam or junk folder first. If it's not there, go back to the verification screen in the app and tap Resend. There is a 60-second cooldown between resends. If email still doesn't arrive after several attempts, contact support.
The web app is a blank white page
This usually happens due to a cached old version of the app. Try a hard refresh:
— Chrome/Edge: Ctrl+Shift+R (Windows) or Cmd+Shift+R (Mac)
— Firefox: Ctrl+Shift+R
— Safari: Go to Settings → Apps → Safari → Advanced → Website Data → clear Kwagly's data.
My voucher code says "already used" but I haven't redeemed it
Each voucher code is single-use and tied to one account. If you redeemed it while signed into a different account, it cannot be transferred. Contact support@kwagly.app with your code and we'll investigate.
I accidentally deleted data — can I recover it?
Unfortunately, deletions in Kwagly are permanent and cannot be recovered. This is why a confirmation dialog is shown before every destructive action. If you deleted account data by accident, contact support immediately — in some cases we may be able to help within a short window.
The app is slow or unresponsive on the web
Kwagly is a Flutter Web app and loads a WebAssembly runtime on first visit. Subsequent loads are faster. If slowness persists, try: clearing your browser cache, switching to Chrome or Edge (best Flutter Web performance), or checking your internet connection.
Best Practices & Tips
Get the most out of Kwagly.
For answer sheets
- Always print at 100% scale with no page scaling.
- Use a laser printer for crisp fiducials and bubbles. Inkjet works but may bleed on humid days.
- Print on 80 gsm paper or heavier — thin paper can cause show-through from the other side.
- Cut along the dashed guide before distributing — one sheet per student.
- Tell students to use a dark ballpen or 2B pencil and fill bubbles completely.
- Remind students not to fold the sheet — creases over the bubble area confuse the scanner.
For scanning
- Scan at a desk or table, not hand-held in the air — flat surfaces give the most consistent results.
- Keep a dark background under the sheet (a dark desk or folder) so the white sheet stands out.
- Scan in natural daylight or under a bright desk lamp — avoid direct overhead fluorescent strips.
- Review flagged items before saving — it takes less than 10 seconds per paper.
- Scan one paper at a time. Don't stack sheets or have multiple sheets visible to the camera.
For quiz design
- Keep answer keys varied — a run of 5+ identical answers in a row (e.g., all A) is a common sign of a key entry error.
- Use the item analysis after each quiz to identify items with very high or very low difficulty — these often point to ambiguous questions or clerical errors in the key.
- A good item has a p-value between 0.30 and 0.70 and a discrimination index above 0.30 (Retain recommendation).
- Aim for an overall class average around 60–75% — consistently high averages may suggest the quiz is too easy.
For class management
- Import students from CSV at the start of the term — it's much faster than adding them one by one.
- Use the LRN field to prevent duplicates when importing from different sections.
- Link quizzes to the relevant class so results show up correctly in the class-level analytics.
Contact Support
Can't find what you're looking for? We're here to help.
When contacting support, please include: your account email, a description of the issue, the device and browser (or phone model) you're using, and any screenshots if possible. This helps us resolve your issue faster.