posted an update

Project Updates – Rekxare Dami June 13, 2026 – Final polish before submission

New Features:

  • Google OAuth Login – Secure, password‑free authentication. Session persists across page refreshes and browser restarts.

  • Per‑User Data Isolation – Each user’s study statistics and weekly schedule are stored in separate JSON files (keyed by email hash). No more data mixing.

  • Persistent “Today’s Schedule” on the home page – shows tasks from the current day, directly synced with the Schedule page.

  • Fully Translated Login Gate – The login screen now supports all three languages with the same dark, glass‑morphism design.

Major Bug Fixes:

  • Fixed data sharing between users, schedule and study data are now completely separate.

  • Fixed language switching breaking other buttons, removed conflicting widget keys and isolated language logic.

  • Fixed “Today’s Schedule” not showing, unified the get_schedule_file() function across all pages.

  • Fixed login redirect loops, switched to official st.login() and st.user API.

  • Fixed missing httpx dependency, added to requirements.txt, solving Authlib errors.

UI/UX Improvements:

  • Logout button in sidebar, clears session and returns to login.

  • Mobile responsiveness enhanced, all buttons have 44px minimum touch targets, safe‑area insets for notched phones.

Under the Hood:

  • Restructured project for Streamlit multi‑page apps (Home.py, Schedule.py, About.py).

  • Added httpx to dependencies, essential for Google OAuth.

  • Refactored all data file helpers to use st.user.email reliably.

  • Removed legacy login gate (email input), replaced with st.login().

Current Status:

  • The app is fully functional.

  • All core features work as intended:

Live timer with progress circle

Weekly schedule (add/delete/sort/copy days)

AI schedule generator (Groq Llama 3)

Study streak, daily goals, session history

Dark mode toggle

Three‑language full UI (Badini, English, Arabic)

Persistent login across browser restarts

Per‑user private data

Log in or sign up for Devpost to join the conversation.