Skip to content

Android client for interacting with AI models via OpenRouter.ai

License

Nu11Object/open-router-android-client

Repository files navigation

English | Русский Logo

Education Project Android Room Retrofit2 Hilt Flow

OpenRouter::client — Android application for communicating with neural networks via the OpenRouter.ai service.
The project was developed for educational purposes to strengthen skills.

Features

  • Sending requests to a neural network through the OpenRouter API
  • Selecting and saving favorite AI models from the OpenRouter catalog
  • Switching context mode (using chat history in the request)
  • Saving message history as a chat
  • Using a custom API key
  • Clearing chat history

Screenshots

Screenshots Screenshots of messages

Architecture

The project is built according to the principles of Clean Architecture and divided into layers:

  • Presentation (UI, Activity, Fragments, ViewModels)
  • Domain (UseCases, Entities, Repository interfaces)
  • Data (Room, Retrofit, Repositories, Mappers)
  • DI (Component, Modules, Scope, Qualifiers)

The MVVM pattern is implemented (ViewModel + Flow).
Dependency Injection is handled via Hilt.

Tech Stack

  • Kotlin, Android SDK, Coroutines, Flow, ViewBinding
  • Room (storing chat history and favorite AI models)
  • Retrofit2 (network requests to the OpenRouter API)
  • Hilt (dependency injection)
  • Markwon (markdown rendering)

Build and Run

  1. Clone the repository:
  git clone git@github.com:Nu11Object/open-router-android-client.git
  cd open-router-android-client
  1. Build the project and run the application.

  2. Add your OpenRouter API key:

Screenshot API key