AI-powered screenshot assistant for senior citizens — Upload any app screenshot and get simple, clear step-by-step instructions.
Designed for seniors. Deployed in minutes. Built for everyone.
TechBuddy helps seniors and non-tech-savvy users navigate any app or website by:
- Uploading a screenshot of the confusing screen
- AI analyzes every button, menu, and element
- Returns plain-English instructions in large, readable text
- Reads instructions aloud via text-to-speech
- Warns about scams if a suspicious popup is detected
Example: Upload a Gmail screenshot → TechBuddy says "Tap the blue Compose button in the top right corner to write a new email."
| Feature | Description |
|---|---|
| Screenshot Analysis | AI reads every button, icon, and menu on screen |
| Step-by-Step Instructions | Simple numbered steps in large readable text |
| Voice Read-Aloud | Web Speech API reads instructions at a comfortable pace |
| Scam Detection | Warns immediately if screenshot looks like a phishing/scam attempt |
| Senior-Friendly UI | Extra-large buttons, high contrast, simple layout |
| Mobile Responsive | Works on phones, tablets, and desktop |
| Optional Custom Questions | Ask "How do I send an email?" alongside your screenshot |
- Framework: Next.js 15 (App Router)
- Styling: Tailwind CSS
- AI Vision: Claude claude-sonnet-4-6 (Anthropic)
- Icons: Lucide React
- Voice: Web Speech API (browser native, no cost)
- Deployment: Vercel (zero config)
techbuddy/
├── app/
│ ├── layout.tsx # Root layout + metadata
│ ├── page.tsx # Landing page
│ ├── globals.css # Global styles
│ ├── demo/
│ │ └── page.tsx # Main demo / analysis page
│ └── api/
│ └── analyze/
│ └── route.ts # Claude Vision API route
├── components/
│ ├── ImageUploader.tsx # Drag & drop screenshot upload
│ ├── InstructionCard.tsx # Displays AI instructions
│ ├── VoiceOutput.tsx # Text-to-speech button
│ └── ScamWarning.tsx # Scam alert banner
├── .env.example # Environment variable template
└── README.md
- Node.js 18+
- An Anthropic API key from console.anthropic.com
# Clone the repo
git clone https://github.com/yourusername/techbuddy.git
cd techbuddy
# Install dependencies
npm install
# Set up environment
cp .env.example .env.local
# Edit .env.local and add your ANTHROPIC_API_KEY
# Run development server
npm run devOpen http://localhost:3000 in your browser.
ANTHROPIC_API_KEY=your_key_here- Push this repo to GitHub
- Import into Vercel
- Add
ANTHROPIC_API_KEYin Project Settings → Environment Variables - Deploy!
The /api/analyze endpoint:
- Accepts a
multipart/form-dataPOST with an image file - Converts the image to base64 and sends it to Claude claude-sonnet-4-6 via the Anthropic SDK
- Prompts Claude to respond in structured JSON with:
isScam— boolean flag for scam detectionscamWarning— human-readable warning if scam detectedappName— identified app/websitecurrentScreen— what screen is shownmainInstruction— primary action in plain Englishsteps— numbered step-by-step guidevisibleElements— inventory of buttons/menus visible
- Demo-first design: The
/demopage is the core experience - No auth required: Anyone can upload a screenshot immediately
- Graceful error handling: API key errors display a helpful message
- Mobile tested: Responsive layout from 320px up
MIT — build something great with it.