Skip to content

Repository files navigation

StudyAssistant

Android Ios

Kotlin Swift API Jetpack Compose material


GitHub code size in bytes


Download on the RuStoreDownload APK from Github

πŸŽ“ Your Ultimate Academic Organizer

StudyAssistant is a completely free planner for school, college, and university. There is no subscription, no account, and no cloud copy of your diary. Your schedule, homework, TODOs, organizations, and profile stay on the device.

Free forever. Every feature is included. We do not collect personal identity β€” no email, no sign-in, no friends graph.

🌐 Offline by design

Classes, homework, TODOs, organizations, employees, subjects, settings, and your local profile work without the internet. The network is used only when you choose to share or import something, talk to the assistant, or import a timetable from a photo.

πŸ“š Organizations & classes

Keep school, college, courses, and university in separate organizations. Subjects, teachers, classrooms, and assignments stay grouped where they belong.

πŸ“· Import a timetable from a photo

Photograph a timetable (table, diary, or weekly grid). Review the draft, fix times if needed, then apply it locally β€” including rooms and locations when they are on the image.

⏰ Flexible scheduling

Build a repeating week and override a single day when the plan changes. Adjust start times, lesson length, and breaks without rebuilding the whole timetable.

πŸ“ Homework linked to classes

Add homework and attach it to the next lesson of a subject. During the day the app already knows what is coming up, so you are not hunting through the week by hand.

πŸ€– AI assistant

Chat in the app about your local data. The assistant can look up organizations, subjects, and classes, then propose homework or TODOs β€” nothing is written until you confirm. History stays on the device. A shared daily quota keeps the service free for everyone.

πŸ”— Temporary sharing

Hand someone a short code or QR link for a schedule or homework item. They preview it, then import into their own local database. No friend list, no cloud profile, no permanent link.

🎯 Daily goals & timers

Set the day’s goals and track them with a timer or stopwatch so focus sessions stay honest.

βœ… TODO list

Keep personal tasks next to homework β€” with reminders, not with another login.

πŸ“Š Workload

See the week’s load on the home screen and how many tasks sit on each day before it piles up.

πŸ”” Notifications

Get alerts for the start and end of classes, unfinished homework, and a heavy day. Full reminder coverage is on Android; iOS is still catching up.


Screenshots

Screen 1 Screen 2 Screen 3 Screen 4
Screen 5 Screen 6 Screen 7 Screen 8

Privacy & staying free

Your timetable, homework, messages, and profile do not leave the phone as a backup or an account. There is no sign-in and we do not collect personal data such as email, phone number, or a public user profile.

The only things that go over the network are what you explicitly send:

  • a temporary share you create (encrypted in transit, short-lived on the server)
  • an AI chat turn or a photo used to extract a timetable
  • optional ads / a rewarded ad if you want extra AI messages

AppMetrica records crashes and coarse product usage so we can keep AI and sharing online without charging you. It is not a dump of your classes or homework, we do not sell study data, and we do not turn it into a marketing profile of you.

Short Yandex ads (and an optional rewarded ad for extra AI messages) exist for the same reason: they pay for the shared backend, not for unlocking the app.

Markets

Service Availability
GitHub βœ“
RuStore βœ“
AppGallery βœ“
Play Market Planned
App Store Planned

Technical capabilities

Platform Local data Temporary sharing AI Local reminders
Android βœ“ βœ“ βœ“ βœ“
iOS βœ“ βœ“ βœ“ In progress

Project Dependencies

This project utilizes the following technologies and libraries:

πŸ“ Architecture & Design Patterns

πŸ’Ύ Data & Storage

  • Kodein: Dependency injection framework for Kotlin Multiplatform.
  • SQLDelight: Type-safe SQL for Kotlin Multiplatform.
  • filekit: A library for file management.

🌐 Networking & API

  • Ktor: Asynchronous HTTP client and server framework for Kotlin.
  • PostgreSQL: Transactional quotas and encrypted temporary sharing storage.
  • DeepSeek API: Server-side shared AI through the fixed Flash model.
  • Tracer: Android crash reporting.
  • AppMetrica: Crash and usage analytics for the shared AI and sharing backend.

🎨 UI & Navigation

πŸ› οΈ Android Specific

πŸ“… Utilities

πŸ› οΈ Tooling & Build Systems

This list provides an overview of the key technologies and libraries used in this Kotlin Multiplatform project. For detailed documentation and usage, please refer to the linked resources.

Project Modules

graph LR;
    androidApp --> shared
    iosApp --> shared

    shared --> core

    subgraph one [Core]
    direction LR;
    core --> common & ui & presentation & domain & data
    data --> remote & database
    end

    shared --> features

    subgraph two [Features]
    direction LR;
    features --> preview-impl --> preview-api
    features --> schedule-impl --> schedule-api
    features --> tasks-impl --> tasks-api
    features --> analytics-impl --> analytics-api
    features --> info-impl --> info-api
    features --> profile-impl --> profile-api
    features --> settings-impl --> settings-api
    features --> users-impl --> users-api
    features --> editor-impl --> editor-api
    features --> chat-impl --> chat-api
    end
Loading

License

Copyright 2026 Stanislav Aleshin

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Releases

Packages

Used by

Contributors

Languages