Skip to content

royisme/eve

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

83 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

TypeScript Bun React SQLite

Eve & Wall-E

A Local-First AI Personal Agent Platform
Your Jarvis for the Modern World

Features โ€ข Architecture โ€ข Tech Stack โ€ข Current Focus โ€ข Roadmap


๐ŸŽฏ What is Eve?

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

โœจ Features

Core Platform

  • ๐Ÿง  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

Current Capability: Job Hunting

  • ๐Ÿ“ฅ 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

๐Ÿ— Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                    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                     โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Key Design Decisions

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

๐Ÿ›  Tech Stack

Backend (Eve)

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

Frontend (Wall-E)

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

๐ŸŽฏ Current Focus: Job Hunting Copilot

The first domain implementation - turning job hunting from a chore into a data-driven process.

Workflow

๐Ÿ“ง Gmail Alert โ†’ ๐Ÿ” Parse & Store โ†’ ๐ŸŒ Enrich JD โ†’ ๐Ÿค– LLM Analysis โ†’ ๐Ÿ“ Tailor Resume โ†’ ๐Ÿ“Š Track Progress

Implemented Tools (17 AgentTools)

Jobs Capability (8)

  • jobs_search - Query job database
  • jobs_list - List with filters
  • jobs_enrich - Scrape full JD
  • jobs_analyze - Batch LLM analysis
  • jobs_analyze_single - Single job deep analysis
  • jobs_prescore - Quick compatibility check
  • jobs_tailor - Generate tailored resume
  • jobs_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

๐Ÿ—บ Roadmap

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

Next Up

  • PDF generation backend (Playwright)
  • Universal Application Protocol (UAP)
  • LinkedIn Easy Apply adapter
  • Voice interface integration

๐Ÿš€ Quick Start

# 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 serve

Data Directory

Eve stores data in a user-scoped directory by default:

  • Default: ~/.config/eve/eve.db
  • Override: EVE_DATA_DIR=/custom/path or --data-dir=/custom/path

You should not need to interact with this directory directly.

Migrations

  • 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 commit drizzle/

Configuration

# 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-..."

๐Ÿšข Release Flow

Versioning

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 Build

CI should run:

bun install
bun run build
bun dist/index.js --help

Release Artifacts

  • dist/ folder (compiled backend + dist/drizzle)
  • Homebrew formula updated to point at the new release artifact

Upgrade Behavior

  • Users upgrade via Homebrew
  • On first run after upgrade, Eve auto-applies new migrations
  • Existing data in ~/.config/eve is preserved

๐Ÿ“– Documentation

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

๐Ÿค Philosophy

Local-first, AI-native, privacy-respecting.

Eve is built on the belief that personal AI assistants should:

  1. Keep your data local - No cloud dependency for core functionality
  2. Be transparent - You control what the AI sees and does
  3. Be extensible - Add new capabilities without touching core code
  4. Be practical - Solve real problems, not demo toys

๐Ÿ“ซ Connect

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.

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •