WIP App to Process Chem Data and Have Access to some LLM providers to chat with llm(Zai, Chutes, Openrouter)
C#
0
68 commits
updated Sep 10, 2026
A .NET 9 MAUI cross-platform (Android, iOS, Mac Catalyst, Windows) lab/research assistant that combines chemistry-focused batch image analysis, LLM-powered chat, voice-to-text transcription, and Google Sheets/Drive connectivity.
readings/ Drive folder..so), with automatic fallback.| Provider | Auth | Notes |
|---|---|---|
OpenRouter | API key | https://openrouter.ai/api/v1/chat/completions; sends HTTP-Referer. |
ZAI | API key | Standard or Coding/Subscription endpoint, selected by a setting. |
Chutes | API key | https://llm.chutes.ai/v1/chat/completions; UUID|Name model IDs normalized. |
OpenAIProxy | API key | OpenAI-compatible gateway; base URL normalized via OpenAiProxyEndpoint.BuildUrl. |
CommunityToolkit.Mvvm source generators
([ObservableProperty], [RelayCommand]).Microsoft.Extensions.DependencyInjection (MauiProgram.cs).OpenRouterService (multi-provider chat/vision/streaming),
BatchAnalysisService, GoogleSheetsService, AiModelService,
TranscriptionRouterService, SettingsService, PersonalOrganizerClassifier.sqlite-net-pcl via DatabaseService + ChatRepository /
PersonalOrganizerRepository; platform path abstracted via
IDatabasePathProvider.Preferences; Google OAuth IDs/secrets in
SecureStorage with environment-variable fallback.# Build the entire solution
dotnet build ChemCalculationAndManagementApp.sln
# Run the Windows desktop app
dotnet build -t:Run -f net9.0-windows10.0.19041.0
# Run the Android app (emulator or device)
dotnet build -t:Run -f net9.0-android
# Run all tests
dotnet test ChemCalculationAndManagementApp.Tests/ChemCalculationAndManagementApp.Tests.csproj
Requirements:
WhisperNet.dll/Whisper.dll referenced from a sibling ..\..\Whisper\
build output).so libraries in Platforms/Android/jniLibs/)xUnit suite (net9.0, non-MAUI, compiles source directly to avoid loading MAUI dependencies): covers OpenAI-proxy URL normalization, multi-provider routing, model filtering, streaming/SSE models, chat search logic, personal organizer classification, and a secret-regression scan for known leaked API-key patterns.
dotnet test # 77 passed, 2 skipped (verified 2026-07-29)
ChemCalculationAndManagementApp/
├── ChemCalculationAndManagementApp.sln
├── README.md
├── ChemCalculationAndManagementApp/ # MAUI app project
│ ├── MauiProgram.cs # DI + SSL handler factory
│ ├── APIServices/ # Python backend client
│ ├── Models/ # SQLite-mapped entities
│ ├── Data/ # DatabaseService, ChatRepository
│ ├── Services/
│ │ ├── OpenRouterService.cs # Multi-provider chat/vision/streaming
│ │ ├── BatchAnalysisService.cs # Image-folder -> AI -> JSON -> Sheets
│ │ ├── GoogleSheetsService.cs # OAuth + Sheets/Drive CRUD
│ │ ├── AiModelService.cs / AiModelFilter.cs
│ │ ├── AnalysisPrompts.cs # Machine-specific vision prompts
│ │ ├── PersonalOrganizer*.cs
│ │ ├── Audio/ # AudioRecorderService
│ │ └── Transcription/ # Router + 5 Whisper backends
│ ├── ViewModels/ # CommunityToolkit.Mvvm VMs
│ ├── Converters/ # 8 XAML value converters
│ ├── *.xaml / *.xaml.cs # Pages (Chat, Batch, Voice, Settings, ...)
│ └── Platforms/ # Android (JNI/.so), Windows, iOS, MacCatalyst
└── ChemCalculationAndManagementApp.Tests/ # xUnit + Moq + FluentAssertions
See LICENSE.txt.
WIP App to Process Chem Data and Have Access to some LLM providers to chat with llm(Zai, Chutes, Openrouter)
C#
0
68 commits
updated Sep 10, 2026
A .NET 9 MAUI cross-platform (Android, iOS, Mac Catalyst, Windows) lab/research assistant that combines chemistry-focused batch image analysis, LLM-powered chat, voice-to-text transcription, and Google Sheets/Drive connectivity.
readings/ Drive folder..so), with automatic fallback.| Provider | Auth | Notes |
|---|---|---|
OpenRouter | API key | https://openrouter.ai/api/v1/chat/completions; sends HTTP-Referer. |
ZAI | API key | Standard or Coding/Subscription endpoint, selected by a setting. |
Chutes | API key | https://llm.chutes.ai/v1/chat/completions; UUID|Name model IDs normalized. |
OpenAIProxy | API key | OpenAI-compatible gateway; base URL normalized via OpenAiProxyEndpoint.BuildUrl. |
CommunityToolkit.Mvvm source generators
([ObservableProperty], [RelayCommand]).Microsoft.Extensions.DependencyInjection (MauiProgram.cs).OpenRouterService (multi-provider chat/vision/streaming),
BatchAnalysisService, GoogleSheetsService, AiModelService,
TranscriptionRouterService, SettingsService, PersonalOrganizerClassifier.sqlite-net-pcl via DatabaseService + ChatRepository /
PersonalOrganizerRepository; platform path abstracted via
IDatabasePathProvider.Preferences; Google OAuth IDs/secrets in
SecureStorage with environment-variable fallback.# Build the entire solution
dotnet build ChemCalculationAndManagementApp.sln
# Run the Windows desktop app
dotnet build -t:Run -f net9.0-windows10.0.19041.0
# Run the Android app (emulator or device)
dotnet build -t:Run -f net9.0-android
# Run all tests
dotnet test ChemCalculationAndManagementApp.Tests/ChemCalculationAndManagementApp.Tests.csproj
Requirements:
WhisperNet.dll/Whisper.dll referenced from a sibling ..\..\Whisper\
build output).so libraries in Platforms/Android/jniLibs/)xUnit suite (net9.0, non-MAUI, compiles source directly to avoid loading MAUI dependencies): covers OpenAI-proxy URL normalization, multi-provider routing, model filtering, streaming/SSE models, chat search logic, personal organizer classification, and a secret-regression scan for known leaked API-key patterns.
dotnet test # 77 passed, 2 skipped (verified 2026-07-29)
ChemCalculationAndManagementApp/
├── ChemCalculationAndManagementApp.sln
├── README.md
├── ChemCalculationAndManagementApp/ # MAUI app project
│ ├── MauiProgram.cs # DI + SSL handler factory
│ ├── APIServices/ # Python backend client
│ ├── Models/ # SQLite-mapped entities
│ ├── Data/ # DatabaseService, ChatRepository
│ ├── Services/
│ │ ├── OpenRouterService.cs # Multi-provider chat/vision/streaming
│ │ ├── BatchAnalysisService.cs # Image-folder -> AI -> JSON -> Sheets
│ │ ├── GoogleSheetsService.cs # OAuth + Sheets/Drive CRUD
│ │ ├── AiModelService.cs / AiModelFilter.cs
│ │ ├── AnalysisPrompts.cs # Machine-specific vision prompts
│ │ ├── PersonalOrganizer*.cs
│ │ ├── Audio/ # AudioRecorderService
│ │ └── Transcription/ # Router + 5 Whisper backends
│ ├── ViewModels/ # CommunityToolkit.Mvvm VMs
│ ├── Converters/ # 8 XAML value converters
│ ├── *.xaml / *.xaml.cs # Pages (Chat, Batch, Voice, Settings, ...)
│ └── Platforms/ # Android (JNI/.so), Windows, iOS, MacCatalyst
└── ChemCalculationAndManagementApp.Tests/ # xUnit + Moq + FluentAssertions
See LICENSE.txt.