Design alignment pass — refactor existing docs & resolve open decisions
Goal
Get the whole team using the same source of truth by having everyone independently research the open design questions before next week's meeting. This is a refactor and fill-in-the-gaps pass, not a from-scratch redesign. We already have real decisions and real code; the point is to stop re-deciding those and figure out what's still open — and where the research points to a doc we don't have yet, propose it.
Why
We keep circling back to the same questions mid-sprint because they were never written down anywhere the whole team can point to. master-doc.md still accurately describes the big picture — what's missing is the layer underneath it: architecture specifics, the card schema, endpoint contracts, and a few decisions that got made verbally (Gemini) but never reconciled with what's written (Bedrock).
Repo & current state
Repo: https://github.com/CoderHub101/LingoLM
Open PRs (includes our current draft of endpoints and card types): https://github.com/CoderHub101/LingoLM/pulls
Read the repo before researching anything — docs/master-doc.md, docs/mvp-v1-tech-stack.md, and the open PRs are your starting point. This isn't a "design LingoLM" exercise, it's "here's what we have, here's what's still undecided, go figure out the undecided parts and tell us if anything in the settled parts needs to change."
What's already settled — treat as context, not up for re-debate
master-doc.md: problem statement, solution, target audience, core use case. The only open thing here is scope (V1 vs. V2), not the vision itself.
- We're using Gemini, not Bedrock (supersedes
mvp-v1-tech-stack.md's Bedrock references).
- API endpoints and card types have a real starting point in the open PRs above.
- Core stack: Next.js frontend, Lambda + API Gateway + DynamoDB backend.
What's genuinely open — starting questions, not a complete list
These are meant to kick off the research, not box it in. If working through one of these surfaces a gap — a doc, a decision, a dependency we haven't named — chase it and document how you got there.
- Caching approach and how it fits into the lookup flow
- Where/how Gemini gets called across use cases (base card gen, misspelling handling, nuance chat)
- Final card schema
- Endpoint details for the 3 Lambdas without logic yet (
editCard, chatNuance, getAllCards)
- Auth implementation specifics for V1
- UI/UX direction
- User flow diagram (doesn't exist yet)
Suggested research order
Work top-down through architecture-level questions before detail-level ones — the details depend on the architecture, so nailing that first avoids redoing detailed work when an upstream decision changes:
- Scope (V1 vs. V2)
- Caching strategy
- cardLookup order of operations
- Gemini use-case map
- Card schema
- Endpoint contracts (
editCard, chatNuance, getAllCards)
- Auth
- UI/UX direction (can happen in parallel with the backend chain)
- User flow diagram (last, since it should reflect the settled flow, not a guess at it)
Guiding principles
- Cost and simplicity should be inputs to every decision, weighed alongside correctness and maintainability — not "always pick the cheapest option," but "know the tradeoff and be able to justify it."
- Stay focused on the actual problem. It's easy to go deep into an interesting technical rabbit hole and lose sight of what we're actually building: a fast, low-friction way to look up a word and save what you learned. If a thread stops connecting back to that, it's probably a V2 tangent — note it and move on.
How to research this
Use Claude, another AI, or your own reading — the tool doesn't matter. Start from the repo so you're reasoning from what we actually have. If using an AI, treat it like a consultant: get its recommendation, then question it rather than accepting it outright.
Starting prompt template (if using an AI):
Refer to our docs in the GitHub repo for information about LingoLM: [link]. Read docs/master-doc.md, docs/mvp-v1-tech-stack.md, and the open PRs for our current endpoints and card schema. Stack: Next.js frontend, AWS Lambda + API Gateway + DynamoDB backend, Gemini as our LLM. This is a student project, so cost and complexity matter, but I want a real analysis, not just "pick the cheapest option."
Help me think through [specific question]. Give me your actual recommendation, not just a list of options. Then I'm going to push back on it, so be ready to defend it or tell me where I'm right.
Things worth pushing on, whatever tool you use:
- Argue the opposite case — ask why the alternative might actually be better, and see if the reasoning holds up.
- Ask what it's assuming about our scale or usage that might not actually be true for us.
- Ask what the weakest part of its own recommendation is.
- If the justification is just "simpler" or "cheaper," push for simpler/cheaper than what, specifically, and what do we give up.
- If it proposes replacing something in the PR, ask what's concretely wrong with the current approach — not just that there's a cleaner pattern.
- Don't accept the first answer as final if something feels off — say so and ask it to reconsider.
Deliverable
Per question or topic explored: list the ideas considered and rejected (with why), the idea you're recommending, your reasoning for it, your confidence level, and any open questions for the group. If your research led you to propose a new doc or decision that wasn't on the original list, include how you got there. This isn't about documenting a back-and-forth with an AI — it's so the team can walk through what was considered and why we landed where we did, and actually remember it later.
Next meeting's outcome
The meeting is for talking through everyone's research and making actual decisions as a team — not for producing final documents on the spot. By the end of the meeting, we should have:
- A decision (or a clearly flagged unresolved item) for each question researched
- Agreement on which new docs are actually needed (beyond the ones already planned)
After the meeting, one person owns turning those decisions into the actual doc updates — master-doc.md (scope section), mvp-v1-tech-stack.md, api-endpoints.md, card schema, user flow diagram, Gemini prompts doc, and any newly-agreed docs — so we're not relying on everyone remembering to update their own piece. Each doc should get a "last updated" date so it's clear it reflects this pass and hasn't quietly gone stale again.
Design alignment pass — refactor existing docs & resolve open decisions
Goal
Get the whole team using the same source of truth by having everyone independently research the open design questions before next week's meeting. This is a refactor and fill-in-the-gaps pass, not a from-scratch redesign. We already have real decisions and real code; the point is to stop re-deciding those and figure out what's still open — and where the research points to a doc we don't have yet, propose it.
Why
We keep circling back to the same questions mid-sprint because they were never written down anywhere the whole team can point to.
master-doc.mdstill accurately describes the big picture — what's missing is the layer underneath it: architecture specifics, the card schema, endpoint contracts, and a few decisions that got made verbally (Gemini) but never reconciled with what's written (Bedrock).Repo & current state
Repo: https://github.com/CoderHub101/LingoLM
Open PRs (includes our current draft of endpoints and card types): https://github.com/CoderHub101/LingoLM/pulls
Read the repo before researching anything —
docs/master-doc.md,docs/mvp-v1-tech-stack.md, and the open PRs are your starting point. This isn't a "design LingoLM" exercise, it's "here's what we have, here's what's still undecided, go figure out the undecided parts and tell us if anything in the settled parts needs to change."What's already settled — treat as context, not up for re-debate
master-doc.md: problem statement, solution, target audience, core use case. The only open thing here is scope (V1 vs. V2), not the vision itself.mvp-v1-tech-stack.md's Bedrock references).What's genuinely open — starting questions, not a complete list
These are meant to kick off the research, not box it in. If working through one of these surfaces a gap — a doc, a decision, a dependency we haven't named — chase it and document how you got there.
editCard,chatNuance,getAllCards)Suggested research order
Work top-down through architecture-level questions before detail-level ones — the details depend on the architecture, so nailing that first avoids redoing detailed work when an upstream decision changes:
editCard,chatNuance,getAllCards)Guiding principles
How to research this
Use Claude, another AI, or your own reading — the tool doesn't matter. Start from the repo so you're reasoning from what we actually have. If using an AI, treat it like a consultant: get its recommendation, then question it rather than accepting it outright.
Starting prompt template (if using an AI):
Things worth pushing on, whatever tool you use:
Deliverable
Per question or topic explored: list the ideas considered and rejected (with why), the idea you're recommending, your reasoning for it, your confidence level, and any open questions for the group. If your research led you to propose a new doc or decision that wasn't on the original list, include how you got there. This isn't about documenting a back-and-forth with an AI — it's so the team can walk through what was considered and why we landed where we did, and actually remember it later.
Next meeting's outcome
The meeting is for talking through everyone's research and making actual decisions as a team — not for producing final documents on the spot. By the end of the meeting, we should have:
After the meeting, one person owns turning those decisions into the actual doc updates —
master-doc.md(scope section),mvp-v1-tech-stack.md,api-endpoints.md, card schema, user flow diagram, Gemini prompts doc, and any newly-agreed docs — so we're not relying on everyone remembering to update their own piece. Each doc should get a "last updated" date so it's clear it reflects this pass and hasn't quietly gone stale again.