playtranslate
Real-time screen translation app for Android for both language learners and casual gamers
CA Final Nov 2026 revision: case drills, clause hunt, MCQs, law library, notes, flip cards.
Translation pending
EducationJavaScript · HTMLGitHub @shivamsodha-ship-itOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Active-recall revision app for CA Final Group 1 (FR · AFM · AAA), Nov 2026 attempt.
Each chapter is a casebook: rule on real cases, hunt the clause, sprint through MCQs, then read the law. Handwritten notes, SM-2 flip cards and typed practice sit alongside.
app/globals.css) from the Ethics Casebook artifact: Bricolage Grotesque, Public Sans, IBM Plex Mono, Special Elite. Light and dark themes, flat hairline surfaces, 44px tap targets, phone bottom bar..hand).npm install
npm run dev
# → http://localhost:3000
git init -b main
git add .
git commit -m "ca-revise: v0.1 with AAA Ch 19"
git remote add origin [email protected]:<you>/ca-revise.git
git push -u origin main
Chapters are data only. No component changes are needed.
npm run new-chapter -- fr 3 "Ind AS 115 Revenue" --casebook
This creates data/fr/ch03-ind-as-115-revenue.json (notes, flip cards, written practice) and,
with --casebook, data/fr/ch03-casebook.json (case drill, provision hunt, MCQs, law library, cheat sheet),
then registers the chapter in lib/registry.ts. Fill in the JSON and it appears on the home page.
Everything chapter-specific lives in the casebook's meta block:
| key | what it controls | example |
|---|---|---|
sources | drill filter pills, [kind, label] | [["rtp","RTP Nov 2026"]] |
verdicts | ruling buttons and stamps; omit for reveal-and-self-mark | [{"label":"Guilty","tone":"bad","hint":"misconduct"}] |
caseNoun / provisionNoun | wording across the app | "case" / "clause", "question" / "standard" |
huntQuestion | Provision Hunt prompt | |
tagline / intro | chapter home headline (*word* is highlighted; {cases} is the case count) | |
scopeTitle / scopeNote / methodTitle | home page section headings |
Provisions with "hunt": true are the answer options in Provision Hunt (all provisions if none are flagged).
A casebook may also carry formulas (a formula bank: families led by a master formula, each formula with its logic,
derivation, exam cue and trap). It adds a Formulas tab to the chapter and feeds the subject-wide bank at /<subject>/formulas.
Every AFM chapter has one.
See data/_CASEBOOK_TEMPLATE.json for the full shape.
Drop the ICAI study-material PDF in inbox/ and ask Claude Code, for example:
"add FR chapter 3, SM is inbox/fr-ch3.pdf". The ca-chapter skill (.claude/skills/ca-chapter/) runs the
same steps every time: extract every illustration and TYK question, verify the attempt's amendments,
collect RTP / MTP / past-paper questions from the ICAI BoS portal, rank topics by exam frequency, write
both data files, validate and build. Its research report lands in research/<chapter-id>.md.
The programs it uses can also be run by hand:
npm run unlock-pdf # inbox/*.pdf -> inbox/unlocked/ (removes copy restrictions)
npm run extract-sm -- inbox/unlocked/sm.pdf work/fr-ch03/sm # text + inventory of illustrations / TYK
npm run assemble -- fr-ch03 # work/fr-ch03/parts/*.json -> data files
npm run validate -- fr-ch03 # schema, links, source labels, coverage
{
"id": "aaa-ch19", // unique across all chapters
"subject": "aaa", // "aaa" | "fr" | "afm"
"number": 19, // ICAI SM chapter number
"title": "Professional Ethics",
"summary": "...", // one line for the list
"currency": "...", // optional — Nov 2026 flag
"sections": [
{
"id": "sch1-part1",
"title": "First Schedule Part I",
"emoji": "📙",
"cards": [
{
"id": "s1p1c11",
"type": "clause", // clause | concept | illustration | mnemonic | section | case
"tags": ["Cl 11", "Reg 190A"],
"front": "Cl 11 — Other business or occupation",
"back": {
"bareText": "engages in any business or occupation…",
"simplified": "Cannot engage in any business…",
"exception": "General list…",
"explanation": "…",
"trap": "25-hour cap…",
"cases": ["Nov 2023: Editor 'Company Audit' → NOT GUILTY"],
"cross": ["Reg 190A", "Sec 2(2)(iv)"]
}
}
]
}
],
"practice": [
{
"id": "q-cl11-editor",
"prompt": "CA X becomes the editor of a professional journal…",
"clauseRef": "Cl 11 Part I 1st Sch",
"hints": ["Reg 190A general list…"],
"modelAnswer": "Step 1 — CITE: …\nStep 2 — RULE: …\nStep 3 — APPLY: …\nStep 4 — CONCLUDE: …",
"markingPoints": ["Cites Clause 11", "Refs Reg 190A", "Concludes: not guilty"]
}
]
}
Casebook modes — available when the chapter registers a casebook JSON (see data/aaa/ch19-casebook.json, shape in lib/casebook.ts):
Core modes — every chapter (from the chapter JSON):
Built for personal revision — Ss ([email protected]). Not for redistribution.
Optional per chapter: data/<subject>/chNN-learn.json, registered with a learn: loader in lib/registry.ts.
Shapes are in lib/learnData.ts; views are components/views/{Path,Compare,Games,Solve}View.tsx.
Adds four menu items (Mastery path, a side-by-side compare, Games, Step solver) and a floating scratch pad (Jotter).
Progress is stored per chapter (ca-revise:v1:learn:<id>) and synced like everything else.
match, sort and order types, all data-driven.Ch 14 is generated from scripts/learn-src/ch14-*.mjs: node scripts/build-learn.mjs aaa-ch14 (recomputes every solver
figure before writing) and node scripts/merge-ch14-additions.mjs (CFA-style and one-line questions, with a figure check).