Warning
JetTop is very much unfinished. Many features don't work or don't exist at all. See below for what is implemented.
Built with Jetpack Compose and Material 3 Expressive, JetTop is a free and open source alternative to the WebTop Android app. It's what the official app should have been: native, fast, and usable offline.
Download the latest build zip from GitHub Actions, extract it, and install the extracted APK.
- Native Material 3 Expressive UI
- Support for both English and Hebrew
- Offline-first (info is cached when you're offline)
- Better login
- No Captcha required
- No relogin required every single launch
- Did you know they had an unused
rememberMeflag in their login API this whole time?
- Did you know they had an unused
- Schedule
- With identical lesson colors to official app/website
- Rules
- Rules allow you to modify the schedule, fixing typos, merging/removing lessons, and more.
- Messages
- Details
- Action buttons
- Contrast fix
- Should fix yellow highlights and such having awful contrast in dark mode.
- Downloads
- Folders
- Filters
- Search
- Multi-select
- Compose
- Details
- Student Card
- Class Events
- Compose justifications
- View justification requests
- Filter/search events
- Events outside of class
- Private lessons
- Grades
- Class Events
- Notifications
- Settings
My use of LLMs for this project is very limited, as I wanted to focus on learning Jetpack Compose. LLMs were used:
- As a teacher, teaching me how to do specific things in Compose, best practices, etc.
- To reverse engineer WebTop's obfuscated JavaScript in the places where that was needed such as getting the lesson colors to match and some cryptography stuff in the login request.
- Very simple refactorings, such as renames and converting hardcoded strings to localized ones.
- To fix some issues in Google Sans's Hebrew glyphs. (see googlesans-hebrew-fixes)