CarbCam: о приложении

О CarbCam

CarbCam: это приложение для оценки углеводов по фотографиям для людей с диабетом, ориентированное на точность, конфиденциальность и понятный, быстрый рабочий процесс для повседневного использования.

Приложение доступно на iOS и Android и функционально идентично в обоих магазинах. Общее ядро написано как модуль Kotlin Multiplatform, интерфейс же нативный (SwiftUI на iOS, Jetpack Compose на Android).

Идея

CarbCam возникла из экосистемы 10be: изначально как дополнение к хостингу Nightscout на ns.10be.de в виде удобного инструмента для фотографий.

Оценка углеводов за обеденным столом: одна из наиболее часто повторяемых микрозадач в повседневном лечении диабета. Одна камера, одно нажатие, одна обоснованная оценка: вот идея.

Платформа и архитектура

iOS

  • iOS 18+
  • SwiftUI, Swift 5.9+

Android

  • Android 8+
  • Jetpack Compose, Kotlin

Общий модуль

Kotlin Multiplatform: логика питания, обмен данными с Nightscout, i18n, валидация, расчет формул. Единый источник истины.

Сервер

ns.10be.de: прокси анализа к нескольким провайдерам ИИ (Anthropic Claude, Google Gemini, OpenAI, xAI Grok, Mistral, OpenRouter) плюс Azure OpenAI и Zhipu GLM при BYOK, система обратной связи, распространение обновлений, страница статуса. Тот же сервер, на котором работает и управляемый хостинг Nightscout.

Используемые библиотеки с открытым исходным кодом

CarbCam использует следующие библиотеки: большое спасибо их разработчикам:

Специфично для iOS

  • TOCropViewController MIT: обрезка изображений
  • Apple Vision: распознавание штрихкодов и локальный анализ изображений

Специфично для Android

  • Jetpack Compose Apache 2.0: набор инструментов интерфейса
  • Room Apache 2.0: локальная БД
  • Google Maps Compose Apache 2.0: карты и местоположение
  • Coil Apache 2.0: загрузка изображений
  • Retrofit / OkHttp Apache 2.0: HTTP (Square)
  • ML Kit Barcode Apache 2.0: сканер штрихкодов (Google)

Общее (Kotlin Multiplatform)

  • Kotlin и Coroutines Apache 2.0: JetBrains
  • Ktor Apache 2.0: HTTP для KMP
  • kotlinx.serialization Apache 2.0
  • kotlinx.datetime Apache 2.0

Сборка и инструменты

  • XcodeGen MIT: генерация проекта iOS
  • Gradle: сборка

Полные сведения о лицензиях по каждой библиотеке доступны в приложении в разделе Настройки → Библиотеки с открытым исходным кодом.

Источники данных

CarbCam использует следующие внешние источники данных для проверки оценок ИИ:

USDA FoodData Central

Стандартные значения пищевой ценности продуктов

fdc.nal.usda.gov

Open Food Facts

База данных продуктов для поиска по штрихкоду

openfoodfacts.org

OpenStreetMap / Nominatim

Обратное геокодирование для названия местоположения (только локально)

openstreetmap.org

Контакты и обратная связь

Совет: четкого описания и, по возможности, соответствующего блюда обычно достаточно, чтобы мы могли обработать баги и запросы поддержки.