feat(ai): answer grounded portfolio questions through a streaming assistant
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 38/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
- Domain
- accessibility, ai, backend-api-design, frontend, testing
Research direction
Start with parent issue #330 and trace the canonical portfolio content, then map the visitor-to-model-to-rendered-response path through the provider-neutral server boundary. Use the contract and component tests as the first validation point, and use Preview to demonstrate first token, grounded answer, refusal, cancellation, and navigation.
Written by the indexing model from the issue text.
Description
Parent
#330
What to build
A visitor can open an accessible assistant, ask about the portfolio, receive a streaming answer grounded only in canonical portfolio content, follow relevant destinations, and get an honest refusal when the answer is unsupported.
Acceptance criteria
- Derive assistant knowledge from canonical portfolio content instead of a second manually drifting biography.
- Validate bounded message input and stream through a server-only provider boundary.
- Render accessible launcher, dialog, messages, sample prompts, pending state, cancellation, clear history, and recovery UI.
- Include relevant internal destinations while rejecting unsupported claims and out-of-scope requests.
- Keep provider credentials server-only and environment-validated.
- Cover grounded response, refusal, malformed input, streaming cancellation, and keyboard interaction.
Validation evidence
Provide contract/component tests and a Preview demonstration of first token, grounded answer, refusal, cancellation, and navigation.
Out of scope
Long-term conversation storage, autonomous actions, open-web retrieval, and provider-specific branding in the core interface.
Blocked by
None. This ticket can start immediately.
Ownership boundary
Own the named visitor-to-model-to-rendered-response slice through a provider-neutral server boundary. Grounding, safety, accessibility, and observability remain explicit contracts rather than prompt-only assumptions.
Coordination
Coordinate through #330. The grounded streaming path lands before hardening; production evaluation consumes both and must not replace deterministic contract tests.
- Dominant language
- TypeScript
- Stars
- 1
- Forks
- 0
- Avg merge
- 1h 18m
- Merged PRs (30d)
- 586
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from fderuiter/deruiter.dev
-
area:infra p3-medium ready-for-agent type:docs
Difficulty 2/5 1-3 hours Newbie friendliness 73/100
fderuiter/deruiter.dev#3611 ·
Maintainers usually reply within 1 day
-
area:quality p3-medium ready-for-agent type:docs
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
fderuiter/deruiter.dev#3589 · 1 comment ·
Maintainers usually reply within 1 day
-
area:study-data needs-info p4-low type:docs
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
fderuiter/deruiter.dev#3539 ·
Maintainers usually reply within 1 day
-
area:arcade p3-medium ready-for-agent type:docs
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
fderuiter/deruiter.dev#3522 ·
Maintainers usually reply within 1 day
-
area:arcade p3-medium ready-for-agent type:feature ui-ux
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
fderuiter/deruiter.dev#3521 ·
Maintainers usually reply within 1 day
All issues in fderuiter/deruiter.dev
Similar issues
-
area:frontend kind:bug priority:p2 ready
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
handsontable/hyperformula#1879 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
RunestoneInteractive/rs#1661 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
capricorn86/happy-dom#2594 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day