Skip to content

Stefz29/kel

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

121 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Kel — The AI Agent that sees what you see

Watch the Demo

🏆 Winner of the Anthropic AI Hackathon in Toronto!

Kel is an AI agent desktop application that lives on your computer. Access it instantly with a keyboard shortcut (Control+K) — it appears as a sleek sidebar window, ready to assist you with anything you need.

Kel's Interface

Features

  • Always Accessible: Toggle Kel with Control+K from anywhere on your system
  • Sidebar Experience: Clean, distraction-free interface that docks to the edge of your screen
  • Persistent Conversations: All your chats are saved locally in a SQLite database
  • Privacy-First: Everything runs locally on your machine — your data never leaves your computer
  • Multi-Model Support: Powered by OpenRouter, giving you access to multiple AI models

Development

Want to contribute or build from source? Check out the development setup below.

Prerequisites

  • Node.js 18+ (or compatible version)
  • pnpm package manager

Setup

# Clone the repository
git clone https://github.com/not-manu/kel.git
cd kel

# Install dependencies
pnpm install

# Copy environment variables
cp .env.example .env

# Run in development mode
pnpm dev

Available Scripts

pnpm dev              # Start development server with hot reload
pnpm build            # Build for production
pnpm build:mac        # Build and package for macOS
pnpm build:win        # Build and package for Windows
pnpm build:linux      # Build and package for Linux

pnpm typecheck        # Run TypeScript type checking
pnpm lint             # Run ESLint
pnpm format           # Format code with Prettier

pnpm db:generate      # Generate database migrations
pnpm db:push          # Push schema changes to database
pnpm db:studio        # Open Drizzle Studio (database GUI)

Tech Stack

  • Framework: Electron (multi-process architecture)
  • Frontend: React 19 with TypeScript
  • Routing: React Router v7
  • Styling: Tailwind CSS v4
  • Database: SQLite with Drizzle ORM
  • AI Integration: Vercel AI SDK + OpenRouter
  • UI Components: Radix UI primitives
  • Forms: React Hook Form with Zod validation
  • State Management: TanStack Query (React Query)

Project Structure

src/
├── main/          # Electron main process (Node.js backend)
│   ├── api/       # IPC handlers for renderer communication
│   ├── db/        # Database schema and configuration
│   └── lib/       # Utilities and OpenRouter integration
├── preload/       # Electron preload script (security bridge)
└── renderer/      # React frontend
    └── src/
        ├── components/  # UI components
        ├── hooks/       # React hooks for API calls
        ├── routes/      # Page components and routing
        └── lib/         # Frontend utilities

Architecture

Kel follows standard Electron best practices:

  1. Main Process: Manages windows, global shortcuts, database, and system tray
  2. Preload Script: Securely exposes APIs to the renderer via contextBridge
  3. Renderer Process: React application for the user interface

Communication between processes uses IPC (Inter-Process Communication) with a handler-based architecture for type-safe API calls.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is open source and available under the MIT License.

Acknowledgments

🏆 Winner of the Anthropic AI Hackathon in Toronto

Special thanks to:

  • Anthropic for hosting the hackathon and recognizing this project
  • The open source community for the amazing tools and libraries

Author

Made with ❤️ by @not-manu


Need help? Open an issue on GitHub

Kel Poster

About

The AI agent that sees what you see.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 92.0%
  • CSS 6.5%
  • Other 1.5%