A Local-First AI Personal Agent Platform
Your Jarvis for the Modern World
Features โข Architecture โข Tech Stack โข Current Focus โข Roadmap
Eve is an AI-native personal assistant platform that aggregates your digital signals, analyzes them with LLMs, and helps you take actionโall while keeping your data local and private.
Think of it as building your own Jarvis: a modular, extensible system where AI capabilities are first-class citizens.
| Component | Role | Description |
|---|---|---|
| Eve | The Mind | Backend intelligence - reasoning, memory, and orchestration |
| Wall-E | The Body | Chrome extension - eyes on the web, hands on the keyboard |
- ๐ง AI-Native Architecture: Built on a capability-based agent framework where every feature is an LLM-invokable tool
- ๐ Local-First: All data stored locally in SQLite - your information never leaves your machine
- ๐ Modular Capabilities: Add new domains (Jobs, Email, Calendar) as pluggable modules
- ๐ Multi-Provider LLM: Seamlessly switch between Anthropic, OpenAI, or Google models
- โก Real-time Sync: SSE-based streaming for live updates
- ๐ฅ Intelligent Inbox: Auto-aggregates job alerts from LinkedIn, Indeed via Gmail
- ๐ Deep Analysis: LLM-powered fit scoring against your resume
- ๐ Smart Tailoring: One-click resume customization for each application
- ๐ Analytics Dashboard: Funnel visualization, skill gap analysis
- ๐ฏ Pre-scoring: Quick compatibility check before full analysis
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Wall-E (Chrome Extension) โ
โ React โข Tailwind โข Milkdown Editor โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ HTTP / SSE
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Eve Backend โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Hono HTTP Server โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โผ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Eve Agent (pi-agent-core) โ โ
โ โ โ โ
โ โ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโโโ โ โ
โ โ โ Jobs โ โ Resume โ โ Email โ โ Analytics โ โ โ
โ โ โ 8 tools โ โ 6 tools โ โ 3 tools โ โ services โ โ โ
โ โ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโ โโโโโโโโโโโโโ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Services: LLM โข Firecrawl โข Gmail โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ SQLite + Drizzle ORM โ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
| Decision | Rationale |
|---|---|
| Capability-based Tools | Each feature exposed as AgentTool - LLM decides when to invoke |
| TypeBox Validation | Runtime type safety for all tool parameters |
| Local SQLite | Zero-config, portable, privacy-preserving |
| Hono + Bun | Blazing fast HTTP with modern runtime |
| SSE for Sync | Real-time progress without WebSocket complexity |
| Layer | Technology | Why |
|---|---|---|
| Runtime | Bun | 3x faster than Node, native TypeScript |
| HTTP | Hono | Ultra-lightweight, edge-ready framework |
| Database | SQLite + Drizzle | Type-safe ORM, zero-config persistence |
| AI Runtime | pi-agent-core | Production-grade agent orchestration |
| LLM | Anthropic Claude | Best reasoning for complex analysis |
| Scraping | Firecrawl | Reliable web content extraction |
| Layer | Technology | Why |
|---|---|---|
| Framework | React 18 | Component-driven, huge ecosystem |
| Bundler | Vite | Instant HMR, optimized builds |
| Styling | Tailwind CSS | Utility-first, consistent design |
| Components | Base UI / Radix | Accessible primitives |
| Editor | Milkdown | Extensible Markdown WYSIWYG |
| Extension | Chrome MV3 | Modern extension architecture |
The first domain implementation - turning job hunting from a chore into a data-driven process.
๐ง Gmail Alert โ ๐ Parse & Store โ ๐ Enrich JD โ ๐ค LLM Analysis โ ๐ Tailor Resume โ ๐ Track Progress
Jobs Capability (8)
jobs_search- Query job databasejobs_list- List with filtersjobs_enrich- Scrape full JDjobs_analyze- Batch LLM analysisjobs_analyze_single- Single job deep analysisjobs_prescore- Quick compatibility checkjobs_tailor- Generate tailored resumejobs_get_tailored_versions- Version history
Resume Capability (6)
resume_list,resume_import,resume_get,resume_update,resume_delete,resume_set_default
Email Capability (3)
email_status,email_setup,email_sync
| Phase | Status | Focus |
|---|---|---|
| 1. Foundation | โ Complete | Core framework, capability system |
| 2. Job Copilot | ๐ Current | Full job hunting workflow |
| 3. Auto-Apply | ๐ Next | Semi-automated applications |
| 4. Multi-Domain | ๐ฎ Future | Calendar, Contacts, Finance |
- PDF generation backend (Playwright)
- Universal Application Protocol (UAP)
- LinkedIn Easy Apply adapter
- Voice interface integration
# Prerequisites: Bun v1.0+
# Install dependencies
bun install
# Start the server (dev)
bun run src/index.ts serve
# Or launch TUI dashboard (dev)
bun run src/index.ts
# Build production dist
bun run build
# Run compiled output
bun dist/index.js serveEve stores data in a user-scoped directory by default:
- Default:
~/.config/eve/eve.db - Override:
EVE_DATA_DIR=/custom/pathor--data-dir=/custom/path
You should not need to interact with this directory directly.
- Drizzle migrations live in
drizzle/ - Build copies them to
dist/drizzle/ - App startup runs migrations automatically
- When schema changes:
npx drizzle-kit generate --name <tag>and commitdrizzle/
# Set up LLM provider
eve config:set services.llm.provider "anthropic"
# Connect Gmail accounts
eve config:set services.google.accounts '["your@gmail.com"]'
# Add Firecrawl for web scraping
eve config:set services.firecrawl.api_key "fc-..."We use semantic versioning for releases.
- Patch: bug fixes, no API changes
- Minor: new capabilities or non-breaking behavior
- Major: breaking changes or data migrations with incompatible behavior
Recommended bump (manual):
- Update version in
package.json - Run
npx drizzle-kit generate --name <tag>if schema changed - Commit changes and tag:
git tag vX.Y.Z
CI should run:
bun install
bun run build
bun dist/index.js --helpdist/folder (compiled backend +dist/drizzle)- Homebrew formula updated to point at the new release artifact
- Users upgrade via Homebrew
- On first run after upgrade, Eve auto-applies new migrations
- Existing data in
~/.config/eveis preserved
| Document | Description |
|---|---|
| ROADMAP.md | Future plans and milestones |
| STATUS.md | Current implementation status |
| TECH_SPEC.md | Technical architecture details |
| AGENTS.md | AI agent development guide |
Local-first, AI-native, privacy-respecting.
Eve is built on the belief that personal AI assistants should:
- Keep your data local - No cloud dependency for core functionality
- Be transparent - You control what the AI sees and does
- Be extensible - Add new capabilities without touching core code
- Be practical - Solve real problems, not demo toys
Built by a software engineer who believes AI should augment human capability, not replace human agency.
Currently exploring: AI agent architectures, local-first software, and the future of personal computing.
Eve & Wall-E โ Building Jarvis, one capability at a time.