Today

Dashboard

Welcome back, Lucky 👋

What needs your attention today?

Your schedule and deadlines will appear here.

15 JUL
📚
0

Classes today

0

Due soon

0

Open tasks

📝
0

Saved notes

Today

Class timeline

Deadlines

Tasks to finish

Quick add

New task

Important

Pinned notes

Weekly plan

Your class schedule

Add subjects, rooms, teachers, and no-class dates.

First semester

Classes begin Monday, July 20, 2026

9 subjects25 units16 weekly meetings

JUL 20

Assignments and reminders

Task manager

Keep deadlines, priorities, details, and reminder times together.

Month view

Calendar

Deadlines, classes, and no-class days in one place.

SunMonTueWedThuFriSat

Study library

Notes and highlights

Save key concepts, formulas, reviewers, and important reminders.

Deep work

Focus timer and study log

Use Pomodoro sessions, record study time, and connect each session to a task.

Focus session

25:00

Study record

Focus history

0minutes today
0minutes this week

App controls

Settings and backup

Manage reminders, appearance, backups, and sample data.

🔔

Background reminders and phone push

Subscribe each device once. Your PC server can then send reminders even when the School Hub tab is closed.

Current notification addresschecking…Permissions and push subscriptions belong to this exact address. After moving from Cloudflare to Tailscale, reconnect once.

Permission status: not checked

Push subscription: checking…

Run diagnostics to check the current Tailscale origin and exact phone subscription.

Upcoming server notifications

Loading the next reminders…
🛡️

Required background setup

Android does not allow a website to grant battery or notification permissions for you. School Hub now requires an explicit setup check, detects the exact Tailscale subscription, and keeps warning until setup is complete.

Checking background readiness…
    1. Uninstall the old trycloudflare.com app, then install School Hub from your permanent ts.net link.
    2. Long-press a School Hub notification → Settings → allow notifications, sound, vibration, lock-screen alerts, and pop-ups.
    3. App info → Battery → choose Unrestricted or enable Allow background usage.
    4. Settings → Battery → Background usage limits → remove it from Sleeping/Deep sleeping apps, then add it to Never sleeping apps. If School Hub is not listed, apply these settings to Chrome.
    5. App info → Mobile data → allow background data and allow data while Data Saver is on.
    6. Turn off Power saving while testing. Do not press Force stop on School Hub or Chrome. Keep the PC server and Tailscale Funnel running.

    Notification logo, vibration, and sound

    The logo you provided is used for app and push notifications. When School Hub is open, it can play the included school-bell chime. When it is closed, Android/Chrome uses the notification sound selected in your phone settings.

    For closed-app sound: long-press a School Hub notification → Settings → make sure Sound and vibration are enabled and choose your preferred notification sound.

    📱

    Send a notification from PC to phone

    Open this page on your phone through HTTPS, enable reminders there, then use this control from localhost on your PC.

    Checking subscribed phones…

    ⬇️

    Install School Hub

    Install it like an app for a standalone window and home-screen icon.

    Install status: checking…

    💾

    Export backup

    Download all classes, tasks, notes, and no-class dates as one JSON file.

    📥

    Import backup

    Restore data from a School Hub JSON backup.

    🧹

    Reset app data

    Remove your saved data and restore the example ISU schedule.

    Beginner tip

    How this app works

    1. HTML creates the pages, forms, buttons, and containers.
    2. CSS controls the layout, colors, responsive design, and dark mode.
    3. JavaScript listens for clicks, saves data, builds cards, and checks reminders.
    4. localStorage keeps your data in the same browser even after refresh.