Build your assistant. Keep control.
Create a Jarvis-inspired personal AI assistant that answers from approved sources, drafts useful work, and asks for confirmation before any external action.
An assistant that earns trust.
Build a browser or desktop prototype with text input first; voice is optional. Use a local or private model connection, an explicit tool registry, and a visible action queue. The learner owns the environment and chooses what data it can access.
Safe default
Answer questions, summarize selected files, and draft reminders using synthetic data. Tool calls are off unless intentionally configured. Do not continuously listen, scrape accounts, or auto-send messages.
Controlled action
Before writing a file, sending a message, or triggering automation, show the exact target and payload. Require a deliberate confirmation, keep a redacted audit entry, and support cancellation.
Four product milestones.
Converse
Build a simple chat UI with session reset, source labeling, and graceful model failure.
Ground
Retrieve only from a small approved knowledge folder; show source citations and handle missing evidence.
Plan
Translate a user request into a proposed action with parameters, permissions, and a preview.
Confirm
Execute only allowlisted actions after explicit approval; test denial, cancellation, and audit.
Make consent visible.
→ user confirmation → allowlisted tool → result + audit entry
- Text-first prototype with clear state
- Approved-source retrieval with citations
- Tool allowlist and least-privilege scopes
- Confirmation for external or destructive actions
- No secret storage in prompts or logs
- Denial, cancel, and failure test evidence
Portfolio package
Share a short demo video, UX flow, architecture diagram, permission matrix, redacted logs, and a test suite showing the assistant refusing an unapproved action.
Interview prompt
What distinguishes a helpful assistant from an unsafe autonomous agent? Which decisions stay with the user, and how does the system recover from a mistaken model proposal?
Show the approval boundary in the demo.
Present what you built, what failed, how you verified it, and what you would improve.

