π AMD Slingshot Hackathon Submission
PRISMA is a locally-hosted, AI-powered developer productivity assistant that lives on your desktop and in your pocket. It combines a premium Electron desktop app, a Telegram bot, and a voice interface into one unified system β powered by an LLM with 22 autonomous AI tools that can chain together to complete complex multi-step workflows without human intervention.
Built with Node.js, Express, Electron, and SQLite. Runs entirely on your local machine. Your data never leaves your device.
| Traditional AI Assistants | PRISMA |
|---|---|
| Reactive β waits for you to ask | Proactive β monitors, scans, and alerts autonomously |
| Forgets everything between chats | Persistent memory β remembers your contacts, preferences, projects |
| Text-only, browser-only | Desktop app + Telegram + Voice (wake word "Prisma") |
| Can only chat | 22 tools β sends emails, pushes code, creates PRs, scans for secrets |
| No background processing | Pulse Engine β 6 autonomous loops running 24/7 |
PRISMA proactively learns and remembers facts about you β contacts, preferences, GitHub usernames, project details β across all conversations. Stored locally in SQLite.
Read, send, and schedule emails through natural language. Proactively monitors specific senders and pushes urgent Telegram alerts when they email you.
Create events, check your schedule, and get automatic meeting briefs 10 minutes before each event via desktop notification and Telegram.
Drag & drop any project folder and PRISMA will:
- Auto-detect the tech stack (Node, Python, Java, Go, Rust, etc.)
- Generate a professional
README.mdwith directory tree - Generate a stack-specific
.gitignore - Init git, create the repo, commit, and push β all in one step
Every push is automatically scanned for leaked secrets: AWS keys, API tokens, .env files, private keys, and more. Results are emailed as a styled HTML security report.
When a new GitHub issue is opened, PRISMA reads the entire codebase, sends it to an LLM, generates file changes, commits to a new branch via the Git Trees API, and opens a draft Pull Request β fully autonomously.
List repositories for any GitHub user, get repo summaries with stats, and search across all public GitHub repos for code or topics.
Schedule emails for future delivery, set up recurring actions (daily/weekly/hourly), and manage all pending jobs through natural language.
- Wake word detection β Say "Prisma" to activate (Porcupine)
- Speech-to-Text β Local Whisper server for high-accuracy transcription
- Text-to-Speech β Microsoft Edge neural voices for natural responses
- Full hands-free conversation loop
Access PRISMA from anywhere. Text messages, voice notes, and tool execution indicators. Commands: /start, /new, /emailcheck, /emailstop, /syncrepos, /help.
The heartbeat of PRISMA. Runs 6 parallel monitoring loops:
| Loop | Interval | Purpose |
|---|---|---|
| π§ Email | 5 min | Checks Gmail, alerts for monitored senders |
| π Calendar | 5 min | Sends meeting briefs before events |
| β° Reminders | 10 sec | Fires desktop + Telegram notifications |
| π§ Repo Sync | 10 min | Discovers repos, registers GitHub webhooks |
| βοΈ Jobs | 10 sec | Executes scheduled emails and recurring tasks |
| π§Ή Cleanup | 1 hour | Purges old notification logs |
Auto-creates an ngrok tunnel, registers webhooks on all your repos, and handles push, issues, pull_request, pull_request_review, and issue_comment events with instant Telegram alerts.
βββββββββββββββββββββββ ββββββββββββββββββββ
β Electron Desktop ββIPCββΆβ Express API β
β (Glassmorphism UI) β β (server.js) β
βββββββββββββββββββββββ ββββββββββ¬ββββββββββ
β
βββββββββββββββββββββββ β
β Telegram Bot βββββββββββββββββ€
β (Text + Voice) β β
βββββββββββββββββββββββ ββββββββΌβββββββ
β AI Engine ββββΆ OpenRouter LLM
βββββββββββββββββββββββ β (ai.js) β
β GitHub Webhooks βββββββββΆβ β
β (via ngrok) β ββββββββ¬βββββββ
βββββββββββββββββββββββ β
ββββββββΌβββββββ
βββββββββββββββββββββββ β 22 Tools β
β Pulse Engine βββββββββΆβ Registry β
β (6 bg loops) β ββββββββ¬βββββββ
βββββββββββββββββββββββ β
ββββββββΌβββββββ
βββββββββββββββββββββββ β SQLite DB β
β Voice Engine βββββββββΆβ (Local) β
β (Wake + STT + TTS) β βββββββββββββββ
βββββββββββββββββββββββ
| Layer | Technology |
|---|---|
| Desktop App | Electron, HTML/CSS/JS |
| Backend | Node.js, Express |
| AI Model | OpenRouter API (LLM) |
| Database | SQLite (better-sqlite3) |
| Auth | Google OAuth 2.0 |
| Email/Calendar | Gmail & Calendar API (googleapis) |
| Voice STT | Whisper (Python FastAPI server) |
| Voice TTS | Microsoft Edge TTS (edge-tts) |
| Wake Word | Porcupine (Picovoice) |
| Telegram | node-telegram-bot-api |
| Tunneling | ngrok (for webhooks) |
| Validation | Zod |
| GitHub | GitHub CLI (gh) |
- Node.js v18+
- Python 3.8+ (for Whisper STT server)
- GitHub CLI (
gh) installed and authenticated - SoX (for voice recording on Windows)
- ngrok (for GitHub webhooks)
# Clone the repository
git clone https://github.com/iamanimeshdev/Prisma.git
cd Prisma
# Install dependencies
npm install
# Python setup (for voice)
pip install faster-whisper edge-tts fastapi uvicornCreate a .env file in the root directory:
# AI
OPENROUTER_API_KEY=your_openrouter_api_key
# Google OAuth (Register at Google Cloud Console)
GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
GOOGLE_REDIRECT_URI=http://localhost:3000/auth/google/callback
# Telegram Bot
TELEGRAM_BOT_TOKEN=your_telegram_bot_token
TELEGRAM_OWNER_ID=your_telegram_user_id
# Voice
PORCUPINE_ACCESS_KEY=your_picovoice_access_key
TTS_VOICE=en-US-AvaNeural
SOX_PATH=C:/Program Files (x86)/sox-14-4-2/sox.exe
PYTHON_PATH=python
# Server
PORT=3000
SESSION_SECRET=prisma_secure_random_string# Start everything (Electron + Backend server)
npx electron .Prisma/
βββ electron/ # Electron app (frontend)
β βββ main.js # Main process + IPC handlers
β βββ preload.js # Secure IPC bridge
β βββ renderer.js # UI logic + streaming
β βββ index.html # App shell
β βββ styles.css # Glassmorphism dark theme
βββ src/
β βββ core/
β β βββ ai.js # LLM gateway (streaming + tool loops)
β β βββ context.js # System prompt + conversation context
β β βββ database.js # SQLite schema + helpers
β β βββ toolRegistry.js # Dynamic tool registration
β βββ services/
β β βββ auth.js # Google OAuth 2.0
β β βββ pulse.js # Background agent (958 lines)
β β βββ scheduler.js # Job execution engine
β β βββ telegramBot.js # Telegram integration
β β βββ tunnel.js # ngrok tunnel manager
β βββ tools/
β β βββ emailTools.js # Gmail read/send/monitor
β β βββ calendarTools.js # Google Calendar
β β βββ memoryTools.js # Persistent memory CRUD
β β βββ gitTools.js # Smart GitHub push
β β βββ githubTools.js # Repo search/list/summarize
β β βββ repoGuardian.js # Security scanner
β β βββ issuePrTools.js # AI issueβPR generator
β β βββ scheduleTools.js # Job scheduler
β βββ voice/
β β βββ engine.js # Voice conversation loop
β β βββ wakeWord.js # Porcupine wake word
β β βββ stt.js # Speech-to-text client
β β βββ tts.js # Text-to-speech (Edge TTS)
β β βββ voiceServer.js # Local Whisper FastAPI server
β βββ routes/
β β βββ webhookRoutes.js # GitHub webhook handlers
β βββ server.js # Express API + SSE streaming
βββ prisma.db # Local SQLite database
βββ package.json
βββ .env # Configuration (not committed)
PRISMA is local-first by design:
- All data stored in a local SQLite file (
prisma.db) β nothing leaves your machine - Google OAuth uses secure system browser (not embedded webviews)
- API calls are only made with user-requested context
- No telemetry, no tracking, no cloud storage
| Category | Tools |
|---|---|
get_unread_emails, summarize_email, extract_event_from_email, send_email, monitor_email_sender, stop_monitoring_sender |
|
| Calendar | create_calendar_event, get_upcoming_events, create_reminder |
| Memory | store_memory, recall_memory, update_memory, forget_memory |
| GitHub | push_to_github, list_github_repos, summarize_github_repo, search_github, generate_pr_from_issue |
| Security | scan_repo |
| Scheduler | schedule_email, schedule_action, list_scheduled_jobs, cancel_scheduled_job |
Distributed under the MIT License.
PRISMA β Built with β€οΈ for the AMD Slingshot Hackathon