Contact

Get in touch.

CheckGen is a small product built by one person. Feedback, bug reports, feature ideas — all welcome.

Email
calebthede@gmail.com

For bug reports, feature requests, or anything else. I read every email.

Built by
Caleb Thede →

QA engineer and developer. CheckGen is a tool I built for myself that turned into something worth sharing.

Changelog

What's new.

Every update, improvement, and fix to CheckGen.

April 2026
Update
v2.4

Reference links, attachments, note feedback, history & workspace overhaul, profile upgrades, mobile nav

Attach screenshots, videos, and up to three reference links to any checklist item — all from a single combined notes panel. Failed and blocked items now prompt for a note automatically, with auto-save feedback and a nudge to add supporting evidence. Plus a complete history overhaul, workspace and profile management, mobile navigation, and a raft of bug fixes.

Notes, files & links panel

  • Single ✎ button — One button per checklist item opens the combined notes, file attachment, and reference links panel. The button turns green when the item has any content and stays active while the panel is open.
  • Directive placeholders for fail/blocked — When an item is marked Failed or Blocked, the note field placeholder changes to "Describe what failed…" or "What's blocking this?" and the ✎ button stays visible as a reminder.
  • Auto-save feedback — Typing a note and tabbing away auto-saves it. A brief "✓ Saved" indicator fades in the corner of the note field so you know it was captured.
  • Attachment nudge — For Failed or Blocked items, the save indicator extends to "✓ Saved · Add a file or link for context" when no file or link has been added yet. Fades away on its own.

File attachments

  • Attach to any item — The Attach file button inside the panel opens a file picker. Supports PNG, JPG, GIF, WebP (max 10 MB) and MP4, MOV, WebM (max 2 min / 100 MB).
  • Inline preview — Uploaded images display as a thumbnail. Videos show as a playable clip with controls. Click the thumbnail to open full size.
  • Secure uploads — Files upload via server-side signed URLs. No direct storage credentials are exposed to the browser.
  • Storage cleanup — Deleting a session from history automatically removes all attached files from storage.
  • Attachment count in history — History cards show an "N attachments" chip alongside the notes count.

Reference links

  • Add up to 3 links per item — Attach reference URLs to any checklist item alongside a file attachment. Accepted from any domain, with automatic service recognition for Zight, Loom, Figma, GitHub, Linear, Jira, Notion, Confluence, and more.
  • Clickable service badge chips — Each link renders as a fully clickable chip (opens in a new tab) showing the recognised service name and URL. A separate × removes it.
  • Validation — Submitting an empty URL or a duplicate shows an inline error rather than silently failing.
  • Independent from file attachments — The Attach file and Add link sections are fully separate. Adding a file never hides the link controls.
  • Max 3 indicator — Once all three slots are filled, the Add link button is replaced with a muted "3 / 3 links added" badge.

Attachments & links in exports and shared view

  • Shared view link — Images display inline in the checklist and in the Failed & Blocked callout. Videos appear as a clearly labelled link. Reference links render as service-badged chips so recipients can open them directly.
  • Markdown export — Notes, attachment URLs, and reference links are included as sub-items under each test case (skipped when exporting as a fresh checklist).
  • CSV & XLSX export — An Attachment column is added when any items have files. A Links column is added when any items have reference links. XLSX renders both as clickable hyperlinks.
  • History counts — History cards count reference links alongside file attachments in the attachments chip.

History improvements

  • Search & filters — Filter history by name or ticket ID, time range (this week / this month / all time), and session status (in progress / complete). Sort by newest, oldest, or A–Z.
  • Pagination — History is paginated so the page stays fast even with many sessions.
  • Edit metadata — Edit the checklist name, ticket ID, and environment directly from history without reopening the session.
  • Share to team — Add any personal session to your team's history from the history card using the member picker.
  • Copy view link from history — Generate and copy a read-only share link from any history card, not just the active session.
  • Section breakdown — History cards show a per-area breakdown so you can see at a glance which testing areas had failures without opening the session.
  • Test case preview — Expanded history cards show the first five test cases with their outcome icons inline, so you can spot what failed without opening the session.
  • Notes & attachment counts — Cards show how many items have notes and how many have file or link attachments at a glance.
  • AC preview — The original user story or AC text is shown in the expanded card for quick context.
  • Re-run session — A re-run button on any history card opens the setup screen pre-filled with the same ticket and settings, ready to generate a fresh checklist.

Team history

  • Dedicated team history page — All shared sessions for your workspace are listed in one place, searchable and filterable the same way as personal history.
  • Participant avatars — Each team session card shows avatar chips for every participant. Profile photos display where available; initials fall back otherwise.
  • Role-based visibility — Sessions you weren't part of show as private with a lock badge. You can see who participated but not the session contents.
  • Manage participants — Admins and moderators can add or remove participants from any team session directly from the history card without reopening it.
  • Role-based actions — Admins and moderators can edit or delete any session. Regular members can only edit sessions they own.

Workspace improvements

  • Settings tab — A dedicated Settings tab (admin only) separates workspace configuration from the members list.
  • Workspace rename — Admins can rename the workspace directly from settings.
  • Role management — Change any member's role (Admin / Moderator / Member) from the members list with a clear tooltip explaining what each role can do.
  • Leave workspace — Members can leave a workspace. Admins are blocked from leaving if they're the last admin, prompting them to promote someone first. Uses a confirmation modal instead of the browser dialog.
  • Disband workspace — Admins can fully disband a workspace from the danger zone. Requires typing the workspace name to confirm. Now reliably removes all members, invites, and the workspace itself.
  • Remove member fixed — Removing a workspace member was silently failing due to a database permissions issue. Now handled server-side and confirmed reliable.
  • Re-invite removed members — Inviting someone who had previously been removed no longer shows a false "already a member" error.
  • Invite expiry — Workspace invite links expire after 7 days. Expired invites show a badge and the join page surfaces a clear error rather than a blank screen.
  • Admin resend — Admins can resend expired or pending invites directly from the team page without cancelling and re-inviting.
  • Team page blank screen fix — New users with no workspace no longer see a blank error screen when navigating to the team page.

Profile improvements

  • Avatar upload — Upload a profile picture (JPEG, PNG, or WebP, max 2 MB) from the account page. Shown in the sidebar and team member list.
  • Name editing — Update your display name from the account page. Used in team sessions and shared views.
  • Password change — Update your password with live validation rules inline — no separate flow.
  • Sign out all devices — Revoke all active sessions in one click from the account page.
  • Plan display — The account page shows your current tier (Free / Pro) with a status pill.

App navigation & mobile UI

  • Collapsible sidebar — The app sidebar can be collapsed to icon-only mode and remembers your preference across sessions.
  • Mobile hamburger nav — On smaller screens the sidebar becomes a slide-in drawer triggered by a hamburger button, with a backdrop overlay to dismiss.
  • Tier badge in sidebar — Your plan tier (Free / Pro) is shown in the sidebar user section.
  • Anonymous lock states — History, Team, and Team History nav items show lock indicators for guest users with a sign-up prompt rather than a broken page.

Bug fixes

  • Remove member silently failing — Removing a workspace member appeared to work but the record was never deleted due to a database permissions issue. Fixed.
  • Disband workspace silently failing — Same root cause. The workspace, its members, and all invites now fully delete as expected.
  • Re-invite shows false "already a member" error — Inviting someone who had previously been removed triggered a stale invite conflict. Now cleaned up before re-sending.
  • Add link collapsing the note field — Clicking "Add link" blurred the note textarea and immediately closed the note wrap. Fixed so the field stays open while a link is being added.
  • Link section disappearing on file upload — Uploading a file was replacing the entire attachment area, wiping any link chips in the process. File and link sections are now independent.

CheckGen Pro — coming soon

We're building a Pro tier for teams that need more. Unlimited history, Jira & Linear export, WCAG and performance testing, team analytics, multiple workspaces, and more.

April 2026
Update
v2.3

New XLSX export, shareable view links & quality fixes

CheckGen now exports to XLSX and introduces shareable read-only view links — two ways to get checklist results in front of a stakeholder without them needing an account. A round of session reliability fixes and AI prompt improvements round out the release.

XLSX Export

  • Two-sheet export — A Summary sheet shows overall pass rate, per-area breakdown, estimated duration, and a Failed & Blocked callout so you can find what went wrong without digging. A Test Cases sheet lists every item with its outcome, notes, and time estimate.
  • Pass rate color coding — Green at 80%+, amber at 50–79%, red below 50% — applied to both the overall rate and each area's breakdown.
  • Full session context — Strategy, output format, active add-ons, and the original ticket and AC text sit at the bottom of the Summary sheet so the export stands on its own.

Shareable view link

  • Read-only link from the export bar — Copy a link to any checklist and share it with anyone. Opens a clean public page — no CheckGen account needed to view.
  • Always live — The page reflects the current state of the session. Stakeholders can bookmark it and refresh as testing progresses.
  • Full breakdown — Stats bar, per-section pass rate, action → expected split, and priority color coding match the app. Print to PDF for a clean document. Pasting the link in Slack or Teams shows a rich preview.

Strategy & metadata

  • Strategy captured at generation time — Full Coverage, Smoke Test, or Deep Dive is stored when you generate and follows the session through history and exports. Changing testing areas after selecting a strategy automatically updates it to "Custom".
  • Add-ons reflected in exports — Break-It and Test Data now appear in the Details section of XLSX exports when they were active.

Bug fixes

  • Team session outcomes saving to a new personal session — Marking outcomes in a team session could create a duplicate personal row instead of updating the original. Fixed, along with several related shared session reliability improvements around refresh behaviour, live sync reconnection, note syncing, and view link stability.
  • Shared session invites not sending — Invite emails were never delivered when creating a team session due to a silent database insert failure. Fixed.
  • Expected results missing in some areas — Integrations, WCAG, Performance, and Error Handling were bundling the action and expected result into one sentence instead of using the step → expected format. Fixed across all areas.
  • Note field and time display — Marking an item Failed or Blocked now automatically opens the note field. Item times no longer display as "2m min".
March 2026
Update
v2.2

Smarter output, cleaner setup, rebuilt generation experience

A quality and experience pass across the board. The AI produces more specific, traceable test cases. Session setup is cleaner and faster. And the generation screen is now a proper loading experience rather than a spinner.

AI & Generation

  • Upgraded to Claude Sonnet 4.6 — Significantly smarter model with better comprehension of complex tickets and more specific, executable test cases.
  • Streaming generation — Switched to Netlify Edge Functions with SSE streaming. No more 504 timeouts on large or complex checklists.
  • Step → expected result format — Every item now explicitly states the action and the expected outcome. No more vague observations.
  • Detailed guidance per testing area — Each section now has specific sub-area instructions so the AI knows exactly what to cover rather than guessing.
  • Realistic time estimates per area — Time is no longer defaulted to 2m across the board. Permissions reflects login/logout cycles; Integrations reflects API round-trips; Edge Cases reflects exploratory depth.
  • Balanced priority distribution — Priority rules now produce a realistic spread of High, Medium, and Low rather than weighting everything High.
  • Quality rules enforced — No near-duplicates, no rephrasing the same check, no generic filler. Every item must be traceable to the specific ticket.
  • Test Data is now a modifier — When selected, specific data values (boundary inputs, realistic strings, edge-case numbers) are woven into items throughout the checklist rather than generating a separate section.
  • Break-It expanded — Now covers SQL injection, XSS payloads, null bytes, emoji in text fields, concurrent duplicate submissions, negative/zero/max integers, and missing required relationships.
  • Error Handling & Feedback — Renamed from Error Handling. Now covers notification text, toast timing, confirmation dialogs, and email triggers alongside error state testing.
  • Regen fully rebuilt — Section regeneration now includes AC text, uses the same step → expected format, avoids duplicating existing items, and recalculates total session time after completing.
  • Quick Checklist output format — When selected, items are written as short action-only reminders (no expected result sentence). Useful for experienced testers who need a reminder list, not a full script.

Session Setup

  • Screen 1 redesigned — Personal and Team Session are now a compact segmented toggle instead of large selection cards. Cleaner, faster to use.
  • Metadata always visible — Checklist Name, Ticket ID, and Environment sit inline below the mode toggle — no "Session Details" accordion to open.
  • Compact resume strip — The unfinished session panel is now a slim strip with a left border accent rather than a full card.
  • Account name auto-filled — Team session and join flows use your account name automatically. No manual name field.
  • Start Session stays in view — The CTA is now sticky so it remains visible even when the Team Session panel is expanded.

Sessions & Checklist

  • Manual test cases — Add your own items to any section directly from the checklist. Set the step, expected result, priority, and time estimate. Manual items survive section regeneration.
  • Completion modal — When all items are marked, a modal appears with pass/fail/blocked counts and options to export, mark complete, or keep reviewing.
  • Session status — Sessions are now tracked as in_progress or complete in cloud storage. The resume strip shows Resume or Review/Export accordingly.
  • Save & Close — Renamed from End Session. Saves your progress and returns to the start screen — pick it up anytime.
  • Page refresh persists — Refreshing the page restores you to your active checklist, including history-restored sessions.
  • History limited to 25 — The app shows your 25 most recent checklists. Older sessions remain in the database and will be surfaced in a future update.
  • Section completion indicator — The item count on each section header hides once every item in that section is marked.

Generation Screen

  • Terminal card animation — The generation screen is now a macOS-style terminal card that types through each step in three phases: analyzing, building, and reviewing.
  • Progress bar — A thin green bar under the terminal title fills as each step completes, then shimmers while the AI finishes writing.
  • Live stats panel — Shows your selected strategy, output format, areas count, and an estimated test case count that increments as generation runs.
  • AI observation line — A rotating line below the stats shows what the AI is noticing in your ticket — distinct from the step list above it.
March 2026
Fix
v2.1

Shared sessions & team fixes

A round of fixes across shared sessions, the team page, and general reliability.

  • Regen stays in place — Regenerating a section no longer moves it to the bottom of the checklist.
  • Regen loading indicator — The section being regenerated now shows a visual loading state while the AI runs.
  • Shared session syncs regen — When one user regenerates a section, the other user's checklist updates automatically.
  • Shared sessions reopen correctly — Reopening a shared session from history now reconnects live sync properly.
  • Team history is now clickable — Sessions in team history open directly in the app.
  • Invite modal fixes — Fixed a double outline on the email field and the role dropdown now displays fully.
  • Who marked what — Improved placement and styling of the name shown next to Pass/Fail/Blocked outcomes in shared sessions.
March 2026
Launch
v2.0

CheckGen v2 — Accounts, Teams & Cloud

The biggest update to CheckGen. v2 introduces accounts, cloud history, team workspaces, smarter AI generation, and a complete overhaul of the session experience.

Accounts & Auth

  • Free accounts — Sign up with email/password or Google SSO. Your profile, history, and sessions follow you across devices.
  • Secure error messages — Sign-in and sign-up errors never reveal whether an email exists. Forgot password always shows the same response.
  • Password requirements — Minimum 8 characters, one uppercase, one number, one special character with live rule indicators.
  • Anonymous limit — Guests can generate 3 checklists before being prompted to create an account. Enforced at both the start and generate steps.

Team Workspaces

  • Workspaces — Create a workspace and invite teammates by email. Three roles: Admin (full access), Moderator (view team history, no settings), User (own history only).
  • Email invites — Workspace and shared session invites are sent by email. Invite links take recipients directly to the accept or join flow.
  • Team history — Shared sessions are saved to team history scoped by role. Joining a session saves it to the joiner's history too.
  • Who marked what — In shared sessions, a name pill appears next to each outcome showing which teammate marked it Pass, Fail, or Blocked.

Sessions & History

  • 3-card session picker — Screen 1 has Personal, Shared (create with email invites), and Join (enter a code). Guests only see Personal and Shared.
  • Cloud-first history — Every checklist generated while signed in is saved automatically. Persists even if you clear browser cache.
  • Click to reopen — Any history card opens that checklist back in the app at screen 3. Outcome changes update the existing record — no duplicates.
  • Resume panel — If your last personal session was incomplete, a continue panel appears on screen 1 with remaining item count and date.
  • Leave session guard — Navigating away from an active session shows a modal: End Session & Leave, Leave Without Saving, or Cancel.
  • Screen 2 always fresh — Starting a new session clears all previous values. No AC or settings persisting from the last run.

AI & Generation

  • Testing areas strictly respected — A system prompt enforces that only the areas you select appear in the output. No more ignored selections.
  • Dynamic item count — Item count scales with areas selected (2–4 items per area). Fewer areas means a tighter, more focused checklist.

Design & Polish

  • Left navigation — New 280px sidebar in the app for New Checklist, History, Team, and Account.
  • Marketing nav profile avatar — When signed in, the homepage replaces Sign In with your initial in a green circle, with a dropdown for Open App, Account, and Sign Out.
  • Branded email templates — All 6 Supabase auth emails match the site's dark design, sent from noreply@checkgen.dev via Resend.
  • Redesigned site — New homepage, about page with FAQ, pricing, terms, privacy, and this page.
  • Green design system — Emerald green throughout. All type sizes scale cleanly from 13" to 27" monitors.
Feb 2026
Update
v1.1 – v1.2

Notes, export, shared sessions & polish

  • Notes per item — Add notes to individual test steps. Notes export with CSV.
  • CSV export — Filter by outcome and export. Notes, priority, type, and time included per row.
  • Time summary — Total estimated session time shown as a pill.
  • Add custom steps — Add your own steps to any section.
  • Delete items — Remove individual items from the checklist.
  • Regen by section — Regenerate just one section without touching the rest.
  • Shared sessions — Real-time Pass/Fail/Blocked sync via Supabase with a 6-character join code.
  • Responsive text — All font sizes use clamp() to scale from 13" to 27" monitors.
  • History improvements — Clear all button, P/F/B stats in cards, live sync with active session.
  • End session reset — Fully clears all form fields, selects, and checkboxes on end.
  • Back button guard — Warns before discarding progress when going back to edit AC.
Feb 2026
Launch
v1.0

Initial launch

CheckGen started as an internal QA tool — a way to stop writing the same test cases every sprint.

  • AI generation — Paste AC, select testing areas, get grouped test cases from Claude Haiku in 3–8 seconds.
  • Pass / Fail / Blocked — Mark outcomes per item as you test.
  • Progress bar — Live count of actioned vs total items.
  • localStorage persistence — Session survives page refresh.
  • Ticket ID, environment, checklist name — Optional metadata shown in the checklist header.