CaseMaker (Figma2Checklist)
A full-stack tool where you paste a document URL (a public Notion page) and GPT-4o-mini drafts and groups a QA test checklist - an experiment testing "from design/docs to QA" (shift-left), wired up through auth and payments.
- QA
- OpenAI
- FastAPI
- React
- SaaS
Setup
- Problem
There's no shared standard between design/planning outputs and QA. Without a spec, QA can hardly infer the test scope, and building checklists by hand every time breeds omissions and inconsistency.
- Context
An attempt to fill the gap I saw most often as a QA engineer - "the output exists, but there's no test standard." I stood up a React + FastAPI full stack with auth, PostgreSQL storage, and Toss payment integration, then wired the path that parses a public Notion page and has GPT-4o-mini extract a checklist. The name and vision were "Figma2Checklist," but the actual build was Notion-document-based. A full-stack build made at James Company in 2025.
Build
- What I did
- Document URL input → read a public Notion page with Playwright and extract text (BeautifulSoup) → GPT-4o-mini drafts and groups QA checklist items
- Save and reload generated checklists per account
- A React + FastAPI full stack with email/password auth, PostgreSQL, and Toss payment-integration code
- The Figma path was only a URL-reachability check - it stopped with a gap between the vision (Figma parsing) and what was built
- Product decisions
- Infer test scope without a spec - let QA participate early from the output (a document) alone, instead of waiting for a perfect spec
- Draft the checklist grouped into sections - so QA doesn't start from a blank page
- Wire up payments (Toss) early to test the SaaS shape - though it never led to real usage or real payments
- QA considerations
- How do you measure an auto-generated checklist's accuracy and omissions and prevent regressions - without that, plausible items still don't earn trust (the core problem this project didn't solve)
- GPT-4o-mini can emit different items and groupings for the same document across runs, so without a regression-prevention design the accuracy can't be pinned down in the first place - which is why it stopped
- Does the public-Notion-page parsing (Playwright + BeautifulSoup) fail robustly on structure changes, private pages, and empty pages?
- Is the gap between the name (Figma2Checklist) and the actual build (the Notion path) surfaced honestly rather than hidden?
Outcome
- Result / Learning
Stood up as a full stack (auth, storage, payment integration) and then dormant. It never reached real usage or real payments, and there's no live URL. The real reason it stopped wasn't features - it was that without a design to regression-test an auto-generated checklist's accuracy and omissions, plausible items still don't earn trust - and that lesson is what the project leaves behind. The gap between the name (Figma2Checklist) and the actual build (Notion-based) is left honestly as is.
- Tech stack
- React 19
- Vite
- FastAPI
- PostgreSQL
- GPT-4o-mini
- Playwright