The calendar you already have, laid out so you can read it.
Schedule reads the calendars already synced to your phone — Google, work, whatever is on there — and draws the day, the week and the month properly. Edits go back to the same calendars, so everything else you use keeps working.
Today
Sunday 18 October
Current event
Design review
Until 14:30 · 1h 10m left
Then: Budget call at 14:00
Day at a glance
Tap a free hour to add an event. A line marks a task deadline.
Agenda
02 Today
A day you can take in at a glance.
The day is twenty-four cells, two rows of twelve. An event fills the part of the hour it actually takes, so a meeting from 19:15 to 19:45 is a short bar inside its cell rather than a block over the whole evening.
- What's on now comes before what's next. The top card names the event you're in and how much of it is left — “Until 14:30 · 1h 10m left” — then the one after it.
- A stacked row means a clash. Overlapping events take a lane of their own, and the Clashes card names the contested stretch, not the events' full spans: “Double-booked 14:00–14:30 · 2 events”.
- Tap a free hour to add an event there. Tap a busy one and you get that slot's run sheet, with each event's notes in full.
Today
Sunday 18 October
Day at a glance
Tap a free hour to add an event. A line marks a task deadline.
Clash
Double-booked 14:00–14:30 · 2 events
All day
Agenda
03 Week
The week as a timetable, not a list.
Sunday to Saturday, a column per day, the whole day from 0000 to 2359. Every event is a block as tall as it lasts, so a three-hour lab looks like three hours and a free afternoon looks free.
- A block shows as much as it has room for. The full title on a tall one;
on a short one the place drops first, then the end time, then the title wraps and
hyphenates. Times read
1300 / - / 1400, because a column is too narrow for “13:00–14:00”. - Two events at once sit side by side — but only inside their own overlap, so a clash at 15:00 doesn't narrow a lone 09:00 lecture.
- The dates stay pinned at the top while the page scrolls, so you never read a block against a column whose date has gone off screen.
This week
18 – 24 October
04 Month
Every event named, not three dots.
The month fills the page: tall days with each event written out, timed ones included. When a day holds more than fits, its last row says ••• rather than cutting a title in half.
- An event across several days is one band, titled once across the whole run, instead of the same word repeated in seven boxes.
- Long-press a day for its agenda in a pop-up over the page, with Open day and Add event. A tap opens that day on Today.
- Or switch to the list from the header — the month's days one after another with what's on them. Swiping sideways still changes month.
October 2026
14 events this month
27
28
29
30
1
Standup2
3
Climbing4
5
.6
.7
.Dentist8
.9
.10
11
12
Lecture13
Clinic14
15
Lunch16
17
18
Design reBudget c•••19
Lecture20
ClinicGym21
Lab22
23
Dinner24
25
.26
.27
.28
29
Recital30
31
Party1
2
3
4
5
6
7
05 Widgets
The month on your home screen.
A six-by-seven grid that redraws whenever your calendar changes, with chevrons for the months either side and a + that opens the add form. Tap a day and its agenda opens over the home screen — the app never has to start.
- All-day and multi-day events are named; timed ones are dots in their own colours. A widget day is about fifty pixels wide, which is six characters — long enough to render “Church service” as “Churc…” and tell you nothing.
- There's a Today widget as well: the date, the events that haven't ended yet, and “+2 more” when the day runs past the card.
- Browse to December and tomorrow you're back here. The month you moved to expires by day rather than on a timer, so a glance ten minutes later is still December and a glance tomorrow is this month.
Sun 18 Oct
+2 more
06 Tasks
A deadline is a point, not an hour.
A task is a time and a checkbox, and it never books the hour it falls in. It can't clash with anything, takes no lane on the grid, and shows as a hairline tick at its own minute — because “submit the report by 17:00” is when the thing is due, not a second meeting.
- A task you never ticked doesn't disappear. Once its deadline has passed it is carried onto today under Overdue, with the date it was due.
- A task with no time gets no mark at all. There is no hour to put it at, and defaulting it to midnight would draw a deadline you never set.
- Birthdays go both ways. One you add here becomes a yearly all-day event on your calendar; one that is already in Google Contacts shows up here, and a rename in Google is read as a rename rather than a deletion.
Today
Sunday 18 October
Day at a glance
Tap a free hour to add an event. A line marks a task deadline.
Tasks3 left
Overdue
Birthdays
Agenda
07 Google
It stays Google's calendar.
A colour you pick here is one of Google's own, written onto the event as its colour key, so Google Calendar shows you the same one. Nothing is kept in a private store that only this phone can read.
- All twenty-four come in; eleven go out. Google only lets other apps set the classic eleven, so those are what the picker offers. The other thirteen, set in Google's own apps, are shown here exactly as they are rather than rounded to the nearest one this app can write.
- Events nobody coloured get a colour anyway — a different one per event per day, so a day tells itself apart. It is worked out as the screen draws, so no other calendar app ever sees a colour this one invented.
- Pull down to refresh asks your accounts to sync, then asks again after 4, 10 and 20 seconds, because an edit you made a moment ago in Google Calendar is usually still on its way up.
Settings
Calendar
New events are added here and sync through that account.
Sync with Google
Changes you make here are uploaded by the phone's own Google sync. If “Waiting to upload” stays above zero, check that auto-sync is on for Calendar and that battery saving isn't stopping background sync.
About
Schedule reads the calendars already synced to this device. No account, no server, no analytics — nothing typed or scheduled here leaves the phone.
08 Install
Install it
Schedule isn't on Google Play. The APK is a GitHub release, so you download it and install it yourself.
- Open this page on the phone and tap Download Schedule.apk.
- Android will ask whether your browser may install apps. Allow it, then open the downloaded file.
- You'll be warned it's from an unknown developer — it isn't signed through Google Play. Install anyway.
- Give it access to your calendar when it asks. That's the whole setup: the calendars already on the phone are what it reads.
Needs Android 10 or later. The only thing it asks you for is your calendar; it also reads whether your accounts are syncing. The APK still declares an internet permission left over from a feature it no longer offers, and makes no network requests at all.