Android Study Companion · Apache Cordova
A hybrid study companion forged for competitive examination preparation — chemistry, physics, and performance analytics in one application.
Platform: Android SDK 29–34 · Package: com.asphalts001.legacy
Explore the ApplicationGet the App
The latest build is always available directly from GitHub Releases. No account required.
Google Play Protect may flag this file during installation as the app is not yet listed on the Play Store. This is expected behaviour for sideloaded APKs. Tap "Install anyway" on the warning prompt to proceed safely.
01 · Overview
Legacy is a hybrid Android application built with Apache Cordova, designed as a comprehensive study companion for students preparing for competitive examinations including NEET.
The application delivers a richly styled WebView interface combining static reference material, two independent quiz engines, real-time performance tracking, and optional cloud synchronisation — all within a single, self-contained APK.
Study sessions are logged, scored, and persisted locally. Progress is surfaced through a live dashboard with accuracy metrics, recent activity feeds, and exportable JSON logs. For multi-device continuity, a manual Supabase cloud sync transfers session data on demand.
02 · Capabilities
A searchable, tabbed reference covering Inorganic, Physical, and Organic chemistry with inline search filtering and named-reaction highlights.
Configurable MCQ runner loading from 24 external JSON question sets. Full NEET scoring, 60-minute sessions, and per-set attempt history.
45 hard-coded trap questions across seven difficulty categories, with a live timer and type-wise performance breakdown after each session.
Real-time accuracy metrics, session tracking, recent activity feed, and one-tap JSON export of your complete study log.
Manual push/pull synchronisation of activity logs via a Supabase edge function. Keep your progress consistent across devices.
Persistent music playback using the Cordova Media plugin. Per-session preference storage keeps your study atmosphere consistent.
03 · Technical
Architecture Overview
The application is built on a modular JavaScript layer running inside a native Android WebView, with clearly separated concerns across scoring, state management, and cloud synchronisation.
Scoring Engine
A dedicated middleware module processes raw quiz responses and applies domain-specific scoring logic before dispatching update events to the dashboard. The UI re-renders reactively without page reloads, keeping the experience fluid.
State Management
Application state is persisted locally using a versioned schema, ensuring forward compatibility as the data model evolves. All session and performance data is stored under a single namespaced key, with schema validation on every read and write.
Cloud Synchronisation
State is serialised and synced to a secure cloud backend via authenticated API calls. A background process maintains sync integrity throughout active sessions, with both automatic and on-demand sync supported.
Authentication
User authentication is handled via Google OAuth, routed through a secure browser context to ensure compatibility with modern WebView security policies. On successful login, tokens are captured and a persistent cloud session is established automatically.
CI / CD Pipeline
Builds run on GitHub Actions using a reproducible environment (Node 18, JDK 17, Gradle 8.7, Android SDK 34). APKs are signed with a securely stored keystore and automatically attached to tagged releases.
Security
Cloud data storage enforces row-level security, ensuring each user can only access their own records. No cross-user data access is possible at the database level.
Migration Path
The current architecture is designed with native migration in mind. The local state layer maps directly to a Room Database, and the existing event-driven UI model translates naturally to ViewModels and StateFlows in Jetpack Compose.
Auth & Cloud Sync — Full Data Path
This diagram traces the complete authentication and synchronisation lifecycle. Login is handled via Google OAuth 2.0, routed through a secure browser context to satisfy modern WebView security requirements. On successful authorisation, a signed session token is returned to the sync module and used for all subsequent authenticated requests. Study data is persisted locally and pushed to a secure cloud endpoint either on demand or via an hourly background process. The backend validates each request against the authenticated session before writing to the user data store, with row-level access controls ensuring strict per-user data isolation at the database layer.
04 · Updates
similar to pharoah,the physics stress test, a section named germania added ,it is a chemistry stress test, with explanation and also the theme, now its more consistent accross the app.
A brand-new immersive reference module inspired by ancient Egyptian manuscripts has been added to Legacy. Styled as a royal parchment scroll with ornamental borders, hieroglyphic motifs, and gold-leaf typography, the Egyptian module presents physics commandments — Newton's laws, electromagnetism, optics, thermodynamics, and wave mechanics — in a richly designed, filterable interface. Each law is laid out as a royal decree with clearly separated name, formula, and plain-language explanation. The module is fully searchable by keyword across title, formula, and description fields, and adapts gracefully to mobile viewports.
Introduced manual Supabase cloud sync for session logs across devices. Dashboard accuracy metrics now update in real time, and the activity feed surfaces your five most recent sessions with per-set attempt history. JSON export of the complete study log added to settings.
Added 45 hard-coded adversarial physics trap questions across seven difficulty categories with a live countdown timer and type-wise performance breakdown. Persistent background audio via the Cordova Media plugin introduced, with per-session preference storage.
05 · Privacy Policy
Last updated: April 21, 2026
Legacy is a hybrid Android study application built with Apache Cordova. This policy explains what data we collect, how we use it, and your rights regarding that data. We are committed to handling your information with full transparency.
When you sign in with Google, we receive the following from your Google account:
We do not collect passwords, payment information, location data, or any other personal data beyond what is listed above.
The information received from Google is used solely to:
We do not sell, rent, trade, or share your personal information with any third parties for marketing or any other purpose.
Study session data — including quiz scores, accuracy percentages, and timestamps — is stored locally on your device using browser localStorage. This data never leaves your device unless you explicitly choose to use the Cloud Sync feature.
If you use Cloud Sync, your session log is sent to a private Supabase endpoint accessible only via your unique user ID. No personally identifiable information is included in this sync.
We do not permanently store your Google account information on our servers. Session authentication data is temporary and is cleared when you log out. Local study data persists on your device until you reset or uninstall the application.
Legacy uses the following third-party services:
Legacy is intended for students preparing for competitive examinations. We do not knowingly collect personal information from children under the age of 13. If you believe a child has provided us with personal information, please contact us so we can delete it.
You can revoke this app's access to your Google account at any time by visiting Google Account Permissions. You may also clear all local study data from within the application settings.
We may update this privacy policy from time to time. Any changes will be reflected on this page with an updated date at the top. Continued use of the application after changes constitutes acceptance of the revised policy.
If you have any questions or concerns about this privacy policy, please open an issue on the project's GitHub repository at github.com/asphalts001.