Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

6 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

BIL

A multi-platform AI assistant system with desktop control, mobile app, and wearable device support.

License: MIT Node.js TypeScript

🌟 Features

πŸ€– AI Assistant

  • Gemini AI Integration - Powered by Google's Gemini AI
  • Natural Language Processing - Conversational AI interactions
  • Context-Aware Responses - Remembers conversation history
  • Multi-Device Sync - Seamless experience across devices

πŸ’» Desktop Control

  • Remote Desktop Control - Control your computer from your phone
  • Application Launcher - Open Steam, CS2, Spotify, Chrome, etc.
  • Command Execution - Run shell commands remotely
  • SSH Support - Connect to servers from your desktop
  • Cross-Platform - Windows, macOS, and Linux support

πŸ“± Mobile App

  • React Native - iOS and Android support
  • Voice Input - Talk to your AI assistant
  • Desktop Control - Control your computer remotely
  • Device Management - Manage connected devices
  • Offline Support - Works without internet

πŸ–₯️ Desktop App

  • Electron-based - Native desktop experience
  • System Tray - Runs in background
  • Floating Window - Quick access assistant
  • Global Shortcuts - Keyboard shortcuts for quick access
  • Auto-updates - Automatic updates via Electron

⌚ Wearable Support

  • ESP32-based - Custom wearable device
  • Gesture Control - Control with hand gestures
  • Voice Detection - Wake word detection
  • Haptic Feedback - Vibration feedback
  • BLE Communication - Bluetooth Low Energy

πŸš€ Quick Start

Prerequisites

Installation

# Clone the repository
git clone https://github.com/dilyorm/bil.git
cd bil

# Install dependencies
npm install

# Start PostgreSQL and Redis
docker-compose -f docker-compose.dev.yml up -d

# Setup environment variables
cp packages/backend/.env.example packages/backend/.env
# Edit packages/backend/.env and add your API keys

# Start backend
cd packages/backend
npm run dev

# Start desktop app (new terminal)
cd packages/desktop
npm run dev

# Start mobile app (new terminal)
cd packages/mobile
npx expo start

πŸ“š Documentation

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                     BIL System                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                         β”‚
β”‚  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”            β”‚
β”‚  β”‚  Mobile  β”‚  β”‚ Desktop  β”‚  β”‚ Wearable β”‚            β”‚
β”‚  β”‚   App    β”‚  β”‚   App    β”‚  β”‚  Device  β”‚            β”‚
β”‚  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜            β”‚
β”‚       β”‚             β”‚              β”‚                   β”‚
β”‚       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                   β”‚
β”‚                     β”‚                                   β”‚
β”‚              β”Œβ”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”                           β”‚
β”‚              β”‚   Backend   β”‚                           β”‚
β”‚              β”‚     API     β”‚                           β”‚
β”‚              β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜                           β”‚
β”‚                     β”‚                                   β”‚
β”‚       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”                   β”‚
β”‚       β”‚             β”‚             β”‚                   β”‚
β”‚  β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”              β”‚
β”‚  β”‚ Gemini  β”‚  β”‚PostgreSQLβ”‚  β”‚  Redis  β”‚              β”‚
β”‚  β”‚   AI    β”‚  β”‚ Database β”‚  β”‚  Cache  β”‚              β”‚
β”‚  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜              β”‚
β”‚                                                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ› οΈ Tech Stack

Backend

  • Node.js + TypeScript - Runtime and language
  • Express - Web framework
  • PostgreSQL - Primary database
  • Redis - Caching and pub/sub
  • WebSocket - Real-time communication
  • JWT - Authentication

Desktop

  • Electron - Desktop framework
  • React - UI framework
  • TypeScript - Type safety
  • Vite - Build tool

Mobile

  • React Native - Mobile framework
  • Expo - Development platform
  • TypeScript - Type safety

Wearable

  • ESP32 - Microcontroller
  • C++ - Programming language
  • BLE - Communication protocol

AI

  • Google Gemini - Primary AI model
  • OpenAI (optional) - Alternative AI model

πŸ“¦ Project Structure

bil/
β”œβ”€β”€ packages/
β”‚   β”œβ”€β”€ backend/          # Node.js backend API
β”‚   β”œβ”€β”€ desktop/          # Electron desktop app
β”‚   β”œβ”€β”€ mobile/           # React Native mobile app
β”‚   └── wearable/         # ESP32 firmware
β”œβ”€β”€ infrastructure/       # Deployment configs
β”‚   β”œβ”€β”€ k8s/             # Kubernetes manifests
β”‚   β”œβ”€β”€ terraform/       # Terraform configs
β”‚   └── nginx/           # Nginx configs
β”œβ”€β”€ scripts/             # Utility scripts
β”œβ”€β”€ tests/               # Integration tests
└── docs/                # Documentation

πŸ”§ Configuration

Backend Configuration

Edit packages/backend/.env:

# Required
GEMINI_API_KEY=your_api_key_here
DATABASE_URL=postgresql://user:pass@localhost:5432/bil
JWT_SECRET=your_secret_here

# Optional
OPENAI_API_KEY=your_openai_key
REDIS_URL=redis://localhost:6379

Desktop Configuration

Edit packages/desktop/.env:

VITE_API_URL=http://localhost:3000

Mobile Configuration

Edit packages/mobile/src/config/constants.ts:

export const API_URL = 'http://localhost:3000';

πŸ§ͺ Testing

# Run all tests
npm test

# Run backend tests
cd packages/backend
npm test

# Run desktop tests
cd packages/desktop
npm test

# Run mobile tests
cd packages/mobile
npm test

πŸš€ Deployment

Deploy to Railway

# Install Railway CLI
npm install -g @railway/cli

# Login
railway login

# Deploy
railway up

Deploy to AWS

# Configure AWS credentials
aws configure

# Deploy with Terraform
cd infrastructure/terraform
terraform init
terraform apply

Deploy with Docker

# Build images
docker-compose build

# Start services
docker-compose up -d

🀝 Contributing

Contributions are welcome! Please read our Contributing Guide first.

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

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • Google Gemini - AI capabilities
  • Electron - Desktop framework
  • React Native - Mobile framework
  • Expo - Mobile development platform

πŸ“ž Support

πŸ—ΊοΈ Roadmap

  • Voice control from mobile
  • Scheduled commands
  • Command macros
  • Multi-language support
  • Cloud sync
  • Plugin system
  • Web interface

⭐ Star History

Star History Chart


Made with ❀️ by the BIL Team

About

No description, website, or topics provided.

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages