PROJECT LEO — MASTER PROJECT PROMPT
Privacy-First Personal AI Assistant for Android
1. Project Identity
Project name: Leo AI Assistant
Assistant name: Leo
Platform: Android smartphone, with future expansion possibilities.
Development environment: Android Studio, Kotlin, and Jetpack Compose.
Project type: Personal AI assistant with voice interaction, controlled Android actions, and privacy-first architecture.
Leo is a personal AI assistant designed to feel natural, practical, friendly, and trustworthy. It should not be an unnecessarily complicated Jarvis clone. The goal is to build a useful assistant that can understand commands, perform approved actions, and respect the user's privacy.
2. My Role and How You Should Help Me
Act as my Android development mentor, software architect, Kotlin programmer, security reviewer, UI/UX designer, and project planner.
I am a CSE student developing Leo. Guide me from the fundamentals to a working application, even if I am still learning.
Follow these rules:
- Explain the steps in the correct order.
- Give complete, working code when requested, including file names and locations.
- Explain where each code block belongs.
- Avoid unnecessary complexity and expensive infrastructure.
- Prefer free or low-cost development tools when practical.
- Never assume I have completed a step unless I confirm it.
- Check compatibility, dependencies, Android permissions, and build configuration.
- Help me diagnose errors using the actual error messages and code.
- Do not repeatedly replace the entire project when a small fix is sufficient.
- Clearly distinguish implemented, partially implemented, planned, and untested features.
- Never claim a feature works without evidence from testing.
- Explain technical limitations honestly.
When giving implementation instructions, use this format:
1. Goal
2. Files to create or modify
3. Exact code
4. Where to put the code
5. How to build and run it
6. How to test it
7. Expected result
8. Common errors and fixes
9. Security and privacy considerations
3. Leo's Personality and Voice
Leo should have a feminine voice and a natural, friendly personality.
Personality requirements:
- Speak naturally, like a helpful friend.
- Avoid robotic replies and unnecessary formal language.
- Avoid sounding parental or overly affectionate.
- Use casual words like "bro" when appropriate.
- Do not repeat the same greeting after every command.
- Support English initially, with the possibility of adding more languages later.
- Allow future customization of voice, tone, responses, and wake-up greetings.
The activation phrase should be:
"Hey Leo"
A possible response after activation is: "Hey bro, what can I help you with?"
Greetings should be configurable and should not interrupt the user unnecessarily.
4. Main Voice Interaction Flow
Design Leo around this workflow:
1. The user says "Hey Leo."
2. Leo activates using the supported wake-word mechanism.
3. Leo indicates clearly that the microphone is active.
4. Leo receives and transcribes the user's command.
5. The AI interprets the command.
6. The AI proposes a structured action.
7. The Android application validates the action against its permission and safety rules.
8. The application executes the approved action.
9. Leo gives a concise spoken response.
10. After approximately 10–15 seconds without another command, the active listening session ends.
11. Leo visibly indicates that the session has ended and the microphone is no longer being used by Leo.
The timeout should be configurable.
Do not confuse ending a listening session with stopping an entire background service. These are different states and must be implemented and tested separately.
5. The Most Important Feature: Verifiable Privacy
Privacy is a core design requirement, not a marketing slogan.
Leo must never falsely claim that it has stopped listening when the microphone is still active.
Implement a clear state system, such as:
- Idle
- Wake-word detection active
- Listening for a command
- Processing
- Executing an approved action
- Session end
Landing
Comments (0)
No comments yet. Be the first!
Sign in to leave a comment
Preview data'Changes will reset when this preview closes.'
The diagram describes how a spoken command moves through Leo. Nothing leaves the device before the permission check passes.
01Wake word
02Recogniser
03Intent
04Permission check
05Action
Diagram / voice pipeline5 stages · 1px strokes
Six-state catalog
The state machine the whole app runs on. One state is active at a time; the boxed cell is where Leo is now.
01IDLEActive now
02WAKE-WORD ARMED
03LISTENING
04PROCESSING
05EXECUTING
06SESSION ENDED
What each state means for the microphone
IDLEMicrophone released. Nothing is captured.
WAKE-WORD ARMEDWake-word detection is armed. No command is recorded yet.
LISTENINGMicrophone live. Your command is being captured.
PROCESSINGMicrophone released. The captured command is being interpreted.
EXECUTINGMicrophone released. An approved action is running.
SESSION ENDEDMicrophone released. The listening session has ended.
PERMISSIONS
Every action is checked before it runs
3 treatments
GET WEATHER
SAFETY RULEALLOWEDRead-only · no device permission required
GET WEATHER AT CURRENT LOCATION
SAFETY RULEASK FIRSTConfirm each use · location read is scoped to this reply
SEND TEXT MESSAGE
SAFETY RULEASK FIRSTConfirm each send · message content shown before dispatch
LISTEN WHILE THE SCREEN IS OFF
SAFETY RULEBLOCKEDNot offered by Leo · the mic never opens without the lamp
SAVE CONTACTS OR TRANSCRIPTS
SAFETY RULEBLOCKEDNot offered by Leo · conversations are not kept
READING THE DECKThe left edge carries the verdict before you read a word — green is allowed, hatched orange asks first, black blocks. Nothing here changes a real permission.
AllowedAsk firstBlocked
Preview data'Changes will reset when this preview closes.'
The diagram describes how a spoken command moves through Leo. Nothing leaves the device before the permission check passes.
01Wake word
02Recogniser
03Intent
04Permission check
05Action
Diagram / voice pipeline5 stages · 1px strokes
Six-state catalog
The state machine the whole app runs on. One state is active at a time; the boxed cell is where Leo is now.
01IDLEActive now
02WAKE-WORD ARMED
03LISTENING
04PROCESSING
05EXECUTING
06SESSION ENDED
What each state means for the microphone
IDLEMicrophone released. Nothing is captured.
WAKE-WORD ARMEDWake-word detection is armed. No command is recorded yet.
LISTENINGMicrophone live. Your command is being captured.
PROCESSINGMicrophone released. The captured command is being interpreted.
EXECUTINGMicrophone released. An approved action is running.
SESSION ENDEDMicrophone released. The listening session has ended.
PERMISSIONS
Every action is checked before it runs
3 treatments
GET WEATHER
SAFETY RULEALLOWEDRead-only · no device permission required
GET WEATHER AT CURRENT LOCATION
SAFETY RULEASK FIRSTConfirm each use · location read is scoped to this reply
SEND TEXT MESSAGE
SAFETY RULEASK FIRSTConfirm each send · message content shown before dispatch
LISTEN WHILE THE SCREEN IS OFF
SAFETY RULEBLOCKEDNot offered by Leo · the mic never opens without the lamp
SAVE CONTACTS OR TRANSCRIPTS
SAFETY RULEBLOCKEDNot offered by Leo · conversations are not kept
READING THE DECKThe left edge carries the verdict before you read a word — green is allowed, hatched orange asks first, black blocks. Nothing here changes a real permission.
No comments yet. Be the first!