Skip to content
This repository was archived by the owner on Mar 21, 2026. It is now read-only.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Julie AI Assistant

A Modern, Real-Time AI Assistant with Voice and Visual Capabilities

.NET 8 WPF License Build Status

Julie is a sophisticated AI assistant application built with .NET 8 and WPF, featuring real-time voice interaction, screen sharing capabilities, and seamless integration with Google's Gemini API. Experience the future of AI assistance with a beautiful, modern interface and powerful multimodal capabilities.

๐Ÿ“ธ Screenshots

Main Chat Interface

Julie Main Interface Beautiful chat interface with modern UI design

Settings & Configuration

Julie Settings Pop-up to allow the permision for using mic and the screen context

Live Conversation

Julie Live Chat Comprehensive settings panel for API configuration and preferences

โœจ Features

๐Ÿค– AI-Powered Conversations

  • Real Gemini Integration: Direct integration with Google's Gemini 1.5 Flash API
  • Intelligent Responses: Context-aware AI conversations with advanced reasoning
  • Message History: Complete conversation tracking and management
  • Error Handling: Robust error handling with user-friendly feedback

๐ŸŽ™๏ธ Voice Interaction

  • Real-time audio capture and playback with NAudio
  • Voice recording with privacy disclaimer
  • High-quality voice processing capabilities
  • Audio device selection and management

๐Ÿ–ฅ๏ธ Screen Context & Sharing

  • Multi-monitor screen capture capabilities
  • Screen context integration for visual assistance
  • Selective screen area capture
  • Performance-optimized rendering

๐Ÿ’ฌ Modern Chat Experience

  • Beautiful UI: Professional gradient backgrounds and modern design
  • Message Bubbles: Elegant message display with timestamps
  • Typing Indicators: Real-time connection status and thinking indicators
  • Welcome Messages: Guided user experience from first launch

๐ŸŽจ Beautiful Interface

  • Modern WPF Design: Clean, professional interface with smooth gradients
  • Responsive Layout: Adaptive design that works on different screen sizes
  • Visual Feedback: Interactive elements with hover effects and focus states
  • Status Indicators: Real-time connection status with visual cues

โš™๏ธ Advanced Configuration

  • API Key Management: Secure storage and validation of Gemini API keys
  • Connection Testing: Automatic API key validation and connection testing
  • Real-time Updates: Instant settings application without restart
  • Device Preferences: Audio device configuration and management

๐Ÿ—๏ธ Architecture

Julie follows a clean, modular architecture with clear separation of concerns:

๐Ÿ“ Julie/
โ”œโ”€โ”€ ๐Ÿง  Julie.Core/          # Core business logic and models
โ”œโ”€โ”€ โš™๏ธ Julie.Services/      # Service implementations and interfaces  
โ”œโ”€โ”€ ๐ŸŽจ Julie.UI/           # WPF views and ViewModels
โ””โ”€โ”€ ๐Ÿš€ Julie.App/          # Application composition and startup

๐Ÿงฉ Technology Stack

Component Technology Purpose
Framework .NET 8 Cross-platform runtime
UI Framework WPF Native Windows UI with MVVM
MVVM CommunityToolkit.Mvvm Data binding and commands
Audio NAudio Audio capture/playback
AI API Google Gemini 1.5 Flash AI conversation engine
HTTP Client System.Net.Http API communication
JSON System.Text.Json Data serialization
DI Container Microsoft.Extensions.DependencyInjection Service management
Logging Microsoft.Extensions.Logging Structured logging

๐Ÿ”ง Current Implementation

  • โœ… HTTP-based Gemini Client: Direct REST API integration with Gemini 1.5 Flash
  • โœ… Real-time Chat: Working text conversations with AI responses
  • โœ… Connection Management: API key validation and connection status
  • โœ… Modern UI: Beautiful WPF interface with gradients and animations
  • โœ… Message History: Complete conversation tracking and storage
  • ๐Ÿ”„ Live API Integration: Planned for voice and multimodal features

๐Ÿš€ Getting Started

๐Ÿ“‹ Prerequisites

  • Windows 10/11 (version 1903 or later)
  • .NET 8 SDK or later
  • Visual Studio 2022 (recommended) or Visual Studio Code
  • Google Gemini API Key from Google AI Studio

๐Ÿ”ง Installation

  1. Clone the repository

    git clone https://github.com/infinit-X/Julie.git
    cd Julie
  2. Restore dependencies

    dotnet restore
  3. Configure API Key

    • Obtain a Google Gemini API key from Google AI Studio
    • Launch the application and enter your API key in the Settings panel
    • The app will automatically test and validate your key
  4. Build the solution

    dotnet build
  5. Run the application

    dotnet run --project src/Julie.App

๐ŸŽฎ Quick Start Guide

  1. Launch Julie from the built executable or Visual Studio
  2. Enter API Key: Open Settings and enter your Google Gemini API key
  3. Verify Connection: Check that the status shows "Connected" with a green indicator
  4. Start Chatting: Type a message and press Enter or click Send
  5. Explore Features: Try voice recording (with privacy disclaimer) and screen context
  6. Enjoy: Experience seamless AI assistance with beautiful UI!

๐Ÿ” API Key Setup

To use Julie, you need a Google Gemini API key:

  1. Visit Google AI Studio
  2. Sign in with your Google account
  3. Navigate to "Get API Key" section
  4. Create a new API key for your project
  5. Copy the key and paste it into Julie's Settings
  6. Click "Save Settings" to validate and connect

Supported Models:

  • gemini-1.5-flash-latest (Currently used for chat)
  • gemini-2.0-flash-live-001 (Planned for voice features)
  • gemini-1.5-pro-latest (Available for complex tasks)

๐Ÿ“š Documentation

Document Description
๐Ÿš€ Development Progress Current development status and milestones
๐Ÿ“‹ Guidelines Development guidelines and best practices
๐Ÿ—๏ธ Project Structure Detailed architecture documentation
๐ŸŽจ UI/UX Design Guide Design principles and UI guidelines
๐Ÿ”Œ API Integration Guide Gemini API integration documentation
๐Ÿค Contributing Guidelines How to contribute to the project

๐Ÿ“– Additional Resources

๐Ÿ›๏ธ Project Structure

Julie/
โ”œโ”€โ”€ src/
โ”‚   โ”œโ”€โ”€ Julie.Core/              # ๐Ÿง  Core Models & Utilities
โ”‚   โ”‚   โ”œโ”€โ”€ Models/              # Data models and entities
โ”‚   โ”‚   โ”œโ”€โ”€ Audio/               # Audio processing utilities
โ”‚   โ”‚   โ”œโ”€โ”€ Screen/              # Screen capture functionality
โ”‚   โ”‚   โ””โ”€โ”€ API/                 # API client implementations
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ Julie.Services/          # โš™๏ธ Service Layer
โ”‚   โ”‚   โ”œโ”€โ”€ Interfaces/          # Service contracts
โ”‚   โ”‚   โ”œโ”€โ”€ Implementations/     # Service implementations
โ”‚   โ”‚   โ””โ”€โ”€ Configuration/       # Service configuration
โ”‚   โ”‚
โ”‚   โ”œโ”€โ”€ Julie.UI/               # ๐ŸŽจ User Interface
โ”‚   โ”‚   โ”œโ”€โ”€ Views/              # XAML views and code-behind
โ”‚   โ”‚   โ”œโ”€โ”€ ViewModels/         # MVVM ViewModels
โ”‚   โ”‚   โ””โ”€โ”€ Controls/           # Custom user controls
โ”‚   โ”‚
โ”‚   โ””โ”€โ”€ Julie.App/              # ๐Ÿš€ Application Host
โ”‚       โ”œโ”€โ”€ Configuration/       # App configuration
โ”‚       โ”œโ”€โ”€ Services/           # DI container setup
โ”‚       โ””โ”€โ”€ Startup/            # Application initialization
โ”‚
โ”œโ”€โ”€ docs/                       # ๐Ÿ“š Documentation
โ”œโ”€โ”€ tests/                      # ๐Ÿงช Unit and integration tests
โ””โ”€โ”€ assets/                     # ๐ŸŽจ Images and resources

๐Ÿ”ง Configuration

API Configuration

{
  "GoogleAI": {
    "ApiKey": "your-gemini-api-key-here",
    "Model": "gemini-1.5-flash-latest", 
    "ApiVersion": "v1beta",
    "BaseUrl": "https://generativelanguage.googleapis.com"
  }
}

Current Features Status

  • โœ… Text Chat: Fully functional with Gemini 1.5 Flash
  • โœ… API Integration: HTTP-based REST API client
  • โœ… Connection Management: Real-time status updates
  • โœ… Message History: Complete conversation tracking
  • ๐Ÿ”„ Voice Features: In development with Live API
  • ๐Ÿ”„ Screen Context: Planned multimodal integration

Audio Settings (Future Implementation)

{
  "Audio": {
    "SampleRate": 16000,
    "BufferSize": 1024, 
    "InputDevice": "default",
    "OutputDevice": "default",
    "EnableVoiceRecording": true
  }
}

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guidelines for details.

๐Ÿ”€ Development Workflow

  1. Fork the repository
  2. Create a 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

๐Ÿ› Bug Reports

Please use the GitHub Issues page to report bugs.

๐Ÿ“Š Development Status

  • โœ… Core Architecture: Complete and stable
  • โœ… Service Layer: Fully implemented with proper interfaces
  • โœ… Gemini API Integration: Working HTTP client with real responses
  • โœ… Chat Functionality: Text conversations fully operational
  • โœ… UI Implementation: Modern WPF interface with beautiful design
  • โœ… Connection Management: API key validation and status tracking
  • โœ… Message History: Conversation storage and display
  • โœ… Error Handling: Comprehensive error management and user feedback
  • ๐Ÿ”„ Voice Features: Live API integration in progress
  • ๐Ÿ”„ Screen Context: Multimodal capabilities planned
  • โณ Testing: Unit tests and integration tests needed
  • โณ Packaging: MSI installer and deployment automation

Current Build Status: โœ… All core features functional, 0 compilation errors

๐Ÿš€ Recent Updates (v1.0)

  • โœ… Implemented working Gemini 1.5 Flash integration
  • โœ… Added real-time chat with AI responses
  • โœ… Created beautiful gradient UI with modern design
  • โœ… Added API key validation and connection testing
  • โœ… Implemented message history and conversation management
  • โœ… Added voice recording disclaimer and privacy notices
  • โœ… Enhanced error handling with user-friendly messages

๐Ÿ”ฎ Roadmap

๐ŸŽฏ Phase 1: Core Functionality โœ… Complete

  • Basic text chat with Gemini API
  • Modern WPF user interface
  • API key management and validation
  • Message history and conversation tracking
  • Connection status and error handling

๐ŸŽฏ Phase 2: Advanced Features ๐Ÿ”„ In Progress

  • Live API Integration: Real-time voice conversations with Gemini 2.0 Flash Live
  • Multimodal Capabilities: Screen context analysis and image understanding
  • Voice Input/Output: Audio recording and speech synthesis
  • Advanced Models: Integration with Gemini 2.5 Pro for complex tasks
  • Screen Analysis: Context-aware responses based on screen content

๐ŸŽฏ Phase 3: Enhancement ๐Ÿ“‹ Planned

  • Multi-language support and localization
  • Custom AI model integration and fine-tuning
  • Plugin system for extensibility
  • Cloud synchronization and backup
  • Advanced voice commands and shortcuts
  • Mobile companion app

๐Ÿš€ Performance Improvements

  • Audio processing optimization for real-time performance
  • Memory usage reduction and garbage collection optimization
  • Startup time improvement and lazy loading
  • Background processing for non-blocking operations
  • Caching strategies for improved response times

๐Ÿ“„ License

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

๐Ÿ™ Acknowledgments

  • Google Gemini Team for the powerful AI API
  • Microsoft for .NET 8 and WinUI 3
  • CommunityToolkit for MVVM utilities
  • NAudio for audio processing capabilities

๐Ÿ“ž Support


โญ If you find Julie helpful, please consider giving it a star! โญ

Made with โค๏ธ by Infinit-X

About

Julie A native Windows AI assistant that can see your screen. Built with C# and WinUI 3, powered by Google Gemini. This project is the first step towards a full-featured AI assistant that can provide real-time, contextual help by understanding what's on your screen

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages