You are browsing as a guest. Sign up (or log in) to start making projects!

Timetable

  • 128 Devlogs
  • 364 Total hours

A hyper-specialised timetable for my school, with full apple intelligence support, watch app, mac app, live activities, widgets, friends, grade tracker, administration controls, and more! its a 3-part project, SwiftUI client for apple devices, website client, and the server

Open comments for this post

5h 55m 34s logged

As well as migrating to Tanstack, I wanted even more speed, just for fun at this point honestly, so I decided to move to SolidJS from React.

Its decently faster while looking similar to react, and it has some syntax stuff that i much prefer over react.

this is basically just adding some margin for me to make bad code

The end product looks identical so theres not much to show..

apart from the migration, I’ve also been designing the new landing page, which will also use the 3d model thing. the big question is figuring out how to make the 3d markers for each classroom register correctly, because i need to show a pin for each user at the right place, from swiftui, and somehow embed it into a realitykit 3d model.

but im sure this use case has been done many times before so i can find something online!

0
0
14
Open comments for this post

7h 31m 53s logged

Im making a 3d model of the school. this is so that i can show a whole literal map of the campus in the app, and then you can see where each user is, in 3d! i could even reexport it for the website, potentially

its going to be interactive and everything

0
0
21
Open comments for this post

1h 13m 53s logged

ok so i think i have optimised it as much as i can lol

tanstack clearly was a good idea, it just needed some optimisations!

0
0
119
Open comments for this post

8h 8m 47s logged

I did a few things in this devlog, got quite carried away frankly.

So I migrated the codebase from Next.js to Tanstack. The reason was that i was seeing a lot of speed concerns, especially on the landing page. it was just lagging so much. i tried it on all my devices on all the browsers and it was there half the time. after a lot of commenting things out i just couldnt find a bug, so now i moved to tanstack. hopefully taht will remove at least some problems.

in any case, i got bored of next.js and tanstack is a different framework to play with and make use of!!

also, i continued the landing page by adding cards for each item. i don’t really like it right now, but i have established that i need to add these cards, if not in a different UI.

The titles of each card are just image-masks, of Apple wallpapers! i went through some archive and picked out the ones i like, and applied a brightness 200% filter, and they look really nice now.

after i finish the landing page im gonna work on rehauling the rest of the ui to be more intuitive and actually usable

0
0
26
Open comments for this post

2h 24m 49s logged

I really wanted the first screen for timetable to look really really interesting and unique and instantly recognisable as Timetable, so i made the text instead of a boring white, it now has 3 really nice effects applied:

  • A grain overlay, or noise, which in this case doesn’t make it look paper but looks nice nonetheless
  • Its not flat white, its white at the top and goes to brown at the bottom, more noticeable when you close up. subtle but also nice
  • The “white” isn’t even white. Its a particular white image i had a lot of difficulty in obtaining. it is the third screenshot, the “white” png. Its an .avif, and it uses some HDR-capable color space format something, which on compatible browsers make the timetable text show considerably brighter than everywhere else on your screen, which makes it really pop! i plan on using this effect in other places as well across the landing page to make it just pop a bit more.

(the 4th image shows the white pixel showing as 1.25. anything above 1 is hdr.)

0
0
17
Open comments for this post

1h 29m 4s logged

I added a title to the lading site, but as you can see its not just any title. it uses this package called fitty to make the text size up to the full width of the page, and it does indeed look massive. and it also goes under the rectangles of the logo, so its like an apple depth effect you get on iphone lockscreens

i found the website really laggy while scrolling somewhere while finishing of the main interactive icon, and i couldnt figure out why after removing everything that could have been gpu intensive (my gpu was spiking to 80% while just scrolling)

so after all that my most likely theory is that the lag is just my computer and not the website :sobspin: (or both 😭😭)

also when i made that main art, i made the border radii use px units, which made it look quite deformed on smaller screens, since the rectangle’s size is relative to screen width, whereas border radius is constant… so i went and fixed that too

0
0
24
Open comments for this post

1h 4m 22s logged

After much trying to make glass, yet again, i failed.

So now im just using blur and these edge effects, and i think it looks nice!

theres even a hover eect, as shown in the second screenshot
(class details show and the rectangle rotates a bit randomly)

0
0
22
Open comments for this post

8h 48m 5s logged

I started to make the landing page, and i decided, after very much research from other landing sites I’ve seen, that the main item should be an interactive timetable, a version of the app icon. but interactive and glassy. im trying to recreate everything in css but its not looking as smooth and polished as real liquid glass does so ye. im kinda getting close though!

I also added a navbar item that just is the link to actually open timetable, and when you hover it shows options to either open the app in testflight or open the web version which just redirects to /login. and its background switches to black when you start scrolling, which will make more sense later.

i haven’t really planned the rest of the landing page, and i might remove this entire component if i find a good liquid glass implementation i can use, especially with bouncy animations etc.

but yeah. (worst part is i might even just go change the entire app icon in a week so that kinda wastes all this time 😭😭😭)

0
0
24
Ship #2 💀 Cursed

This ship, I completely remade the app to work around accounts, and all the features that come with that

I added a server, because it used to just store your timetable in your local storage and that was quite boring honestly

creating a server for this has allowed me to add accounts, notifications, live activities, friends, shared events, multiple devices in the same account, and has made the website much easier to make (still in development, thats why the top devlogs are talking about the website not the app)

The app now has all of this:

  • Grades, track the score of all of your subjects
  • notifications for each subject you have and your events etc
  • live activity throughout each school day telling you your subjects etc
  • sharing your location, subjects, and more with friends
  • widgets that show your your subjects, upcoming events, and your friends’ schedules
  • lots of administration options to manage pretty much everything, including who else is admin lol
  • full support for siri, shortcuts, spotlight, and apple intelligence
  • a full apple watch app

btw i know 350 hours on a timetable app sounds insane (😭) but its because this project has 4 different aspects:

  • swiftui client for iPhone, iPad, and mac

  • swiftui client for apple watch

  • a website client (still in development)

  • the server that handles everything, and the database
    i promise it does more than just tell you your subjects 🙏

  • 81 devlogs
  • 233h
  • 18.49x multiplier
  • 2143 Stardust
Try project → See source code →
Open comments for this post

5h 28m 1s logged

I have started using the shared components around the website, and its actually looking pretty nice!

most importantly, these components can be changed once and work everywhere

and i removed the drawers i was using everywhere, and i also made said drawers wider

while i was rehauling the drawers i also kinda broke their animations and i don’t know how to fix it 😭

the whole website looks really basic now, since its obviously using now the shard unstyled components,

and i was thinking about the theme and decided maybe it should be unstyled, and only the user’s own events and content etc can have colours.

0
0
16
Open comments for this post

9h 38m 51s logged

I think I have finished making all of the shared components

I put everything inside accordions to organise the test components

Overlays get the same translucency and outline every other component gets

I think im happy with how the lists look, finally

the option selectors are really really hot!!!

The first page I have remade is the About view, which shows this badge if you are on localhost lol

i also had to move the contributors up to the server instead of hardcoding them so that both website and app can see it

And a really nice little animated gradient thingy for the about view!!

0
0
60
Open comments for this post

3h 54m 13s logged

I have pretty much finished the components, I’m going to now go and add the other shared components and improve them too. then im gonna go through the css files and clear anything that is unused or overcomplicated, and then i can start remaking the website!

0
0
21
Open comments for this post

7h 57m 7s logged

So the previous UI was really ugly, to be honest, so i decided I am oing to scrap half of the design and completely unstyle the entire app while making everything as standardised as possible, by trying to only use reused components as much as possible. So I spent all today stripping out components I didn’t need, then take the surviving components and adjusting them to my use case and making then look as nice as I can.

  • alert dialogs
  • drawers
  • buttons
  • lists
  • section cards
  • switches

I have also decided to stop using tailwind because its quite simply messy and much more confusing than just moduled css, so ye

0
0
11
Open comments for this post

5h 48m 42s logged

I’m still working on making the UI look much better, and I’m still figuring out some website stuff like how i should wire up the sidebar tabs as well as having like a nice homepage to advertise everything the app does, which will be a really fun sub-project.

Turns out making nice looking lists in react is much harder than it looks, as shown below 😭
one problem is that each symbol has a different aspect ratio so i dont even know how to fit them nicely

And unlike swiftui, its raelly raelly hard to stay consistent in your css and to keep using the ui tokens instead of making custom css everywhere.

it looks like the website is gonna be harder than the app to make after all 😔

this classes card though, for example, i think its pretty much almost done. i might need a few more borders to make it look glassy and stuff but it looks exactly like the ios version, which is the end goal!

And I added the animations to the classes card, again exactly like the iphone app.

i also got a vscode extension that shows you all of your unused css classes, i highly recommend getting one and purging your codebase!

0
0
10
Open comments for this post

11h 4m 29s logged

So I’ve made the first version of the website, it’s really insanely buggy and broken, but the ui is there. so have the html good but no i need to really tweak the css to make it look nice, apple-style.

i also need to figure out how to make loading states look nice, since unlike the the swiftui app, i can’t cache anything to not show loading state. in the plus side i dont have to deal with offline state, though.

the sidebar and the toolbar are finished, and look really nice.

the sidebar has an effect (from ipados) that basically reflects the content in a subtle blurred way, to make it feel like glass while not actually rendering anything expensive.

The toolbar is just glass buttons + a black fade effect + progressives blur, also tuned to look like ipados.

the icon in the sidebar is pretty ugly honestly so i need to replace that with the non-bordered icon.

The other problem i am dealing with is that we are planning a complete redesign of the entire swiftui app, and obviously that has to propagate to the website, so any work i do now is kinda gonna be half wasted, depending on what the redesign actually looks like.

0
0
13
Open comments for this post

35m 27s logged

And now it scales up and down and stuff!!!

I still can’t believe this is just html and css and js 😭

Theres so many parameters to tweak to make it feel right, its so finicky

And depending on the size of the glass, you have to change the numbers, its kinda confusing honestly

0
0
9
Open comments for this post

4h 48m 37s logged

Hehehehe I’ve got a working version of liquid glass

It uses gsap, which is nice

the second image is an earlier version 😭

0
0
6
Open comments for this post

2h 37m 57s logged

Ok so after a bunch of wrestling with nginx and bun and next.js, i have added the website!

its at https://timetable.adonis.pt/
and the current api has been moved to https://timetable.adonis.pt/api

Its the usual next.js thing. and it uses bun.

my design idea for this is to look like its an ipad app, essentially, and im going to see exactly how far i can take the mimicking, maybe i can even add liquid glass to the web 💀

So yeah no more app building, now its website!
It’s gonna be so much easier as well because I aleady have the backend done and tested, so this should be all design which will be really fun.

0
0
7
Open comments for this post

7h 38m 32s logged

A somewhat interesting devlog this time.

I spend a good 2 hours just trying to make live activities work. the miserable part is that they were already working before 😭
I dont even know what I did but it broke. And while i was trying to make a debug button to start a live activity, yeah it just wasn’t working. all kinds of problems with not submitting a good APNs token. and i had to like stop activities before starting new ones and stuff it was just in general really annoying.
there was even more problems but its too much to say here 😔

anyway, i have started cleaning up the app.
no more big features, to be honest, until i add a website for this thing!! should be really easy since the backend is clearly all done lol

  • events can show weather for them, such as the athletics carnival
  • i removed the ridiculous backgrounds i allowed users to choose, theres no only solid black/white and paper. more reasonable, i think.
  • as part of my optimisation, i removed settings i found useless. haptics are now always on, and highlighting the current day is always on.
  • profile pictures can now have their foreground colour set, like the Monogram can have its colour optimised.you can see the average for when your friends arrive to school per day, instead of in total.
  • developer settings also got reorganised, more settings only show to developers. yet again cleaning up the app experience.
  • the location status was a bit unreliable, if users were offline, etc, so i added multiple ways the app pushes updates to the server, and queued statuses when the device was offline.
  • i also refined the actual radius for what counts as within 5 / 10 minutes, should be a bit better.
  • i havent thought about people who live within 10 minutes, thats an interesting case
  • the subject editors grid also looks nicer (still needs more improvement though
  • the tabview now hides while scrolling, like it collapses into the corner, like apple apps!
  • you can manually turn off sharing your status, for privacy reasons.

and some more things i forgot

🥹 im so excited for this thing to actually launch!!!!!

0
0
6
Open comments for this post

1h 19m 38s logged

I spent some time to work on this search button and its animation. idk if the video plays, but it uses apples glass effect transitions!

I also made the confirmation dialogs for removing and reporting a friend better, before they just popped up in the middle of the screen, now it comes out of the menu (also found another ios27 beta bug 😐)

0
0
9
Open comments for this post

2h 28m 26s logged

So supporting light mode calls for an icon redesign, at least just for light mode, and here they are!

Though to be honest, the entire app is gonna need a redesign, because I need to rename it from Timetable, because it has expanded into doing so much more, and timetable is a bit of a boring name. finding names is so insanely annoying though, but oh well.

0
0
8
Open comments for this post

2h 36m 58s logged

I added custom backgrounds!

Theres the paper backgrounds i added recently, and then the solid colours, and then also some of the really nice apple ones idk what they are called
(i hope apple doesnt copyright me 😭)

so yeah it applies to all backgrounds in the app

i think it merges really nice with the liquid glass and blur backgrounds different views have

it also shows on watch

i also added an option to choose how far forward you see events.

theres also even more statistics for what app version people are using!

0
0
7
Open comments for this post

1h 21m 31s logged

You can now edit the foreground colours for your profile picture monogram

i also completed light mode support for widgets

0
0
11
Open comments for this post

2h 1m logged

I added accessibility improvements, mainly like labels and tags and stuff, for use with voice over etc.

this was triggered by me installing a developer process into my app which allowed me to iterate on design faster, and it depended on accessibility elements to discover each element.
(the purple thing lets you tap elements and comment on them)

i also tried a new background for the cards, as you can see below, its just glass and i think it looks pretty nice

0
0
8
Open comments for this post

9h 34m logged

Big update!

Light mode!

The app used to be dark mode only, it let me make it look much more pixel-perfect and refine colours and stuff, but its kinda obvious you cant keep the app dark mode only, its just not good. so i went through everything, adding light mode versions of paper, text, glass, etc.
took me quite a bit of time because i was trying to maintain consistency while doing it, which included alot of redoing things and creating view modifiers and manually applying each one, etc

i also added weatherkit, its just a single line in the today tab, but its nice.

while adding light mode support, i found a really nice blur view i could add to lists, so now each lists’s background is nothing other than a blur!

i also decided to make all backgrounds made out of paper, and i think it looks nice?

theres also now a statistics page for deices and os versions and builds and stuff, itll be more useful later.

as well as knowing when your friends arrive to school, i added the ability to know when they are within 5 or 10 mins, and to send notifications for that. average arrival also is split by day now, because people arrive to school at different times per day

theres a new tab picker, which you can see int eh controls, its much more glassy than the last one, which is really really playful and stuff!

i still have more work to do in terms of ui work, excluding light mode refinements, like notifications and widgets, but yeah.

0
0
15
Open comments for this post

1h 43m 48s logged

I added a new devices statistics view. or more accurately, i expanded it. before, it just shows device platforms.

now, it shows the os version, minor os version, and if it is a beta or not.

i also added support for iOS 26 (previous builds only supported OS27 or later). this involved me just making some features not work on os26 😐

and supporting anything before OS26 would probably be legitimately impossible, so yeah not that.

0
0
4
Open comments for this post

1h 33m 56s logged

I also made some improvements to the card height for the user’s own item. before, it was just the full width.

Halfway while I was working on that, my TabView suddenly froze for a straight 20 seconds every time i changed the tab. this was very weird, and the CPU shows 0% usage, so I was quite surprised. After a large round of commenting things out and seeing what broke, I found it was a single .glassEffect() that I was using for the progress marker.

I have no idea how a glass effect can make an entire tabview freeze, but fine. i replaced it with a simple red colour, as shown below, with a stroke and shadow, and i think it looks fine now.

0
0
5
Open comments for this post

1h 39m 43s logged

there is a new progress background: its not a background!
inspired by the app icon / ios app, the progress view is now this marker thingy which fits into the app’s theme much nicer

I’ve also been tweaking the font sizing, image sizing, padding, and gaps between the items here to make sure they look good at all possible subejct names etc.

i also had to fight a bit with the safe area of the view, you can see in the image below the name “bob” ends slightly above the text, took me a lot longer than expected to fix that

0
0
8
Open comments for this post

7h 24m 51s logged

I started work on rehauling the watchOS app

And I really like how it’s coming out

The watch is supposed to distill down the information the user needs, so i picked the current and next period, time, and their location. all these elements are glassy and stuff, so they are clickable, and its in a tabview that scrolls between each card.

The first tab is the week view for the user.

so I spent a good 2 hours trying to make a ScrollView work, but it didnt. sometimes the views teleported, some lagged, some glitched, and it was overall insanely annoying. so I moved to a tabview, which was considerably more stable, but removed the animations I wanted. it had its own animations which were fine, but yeah.

Also, fonts also reflect on the watch! the one in the screenshots below is the expanded style, which to be honest isnt that good on watch since the watch is constrained as is, but yeah.

The glass timetable actually looks insane

I am still thinking of how to include other content, like grades maybe, and other things, but i dont want to make it too dense and slow

0
0
7
Open comments for this post

3h 36m 30s logged

You can now change the font!

this took more work than you would expect, because i did a find on the project and saw there were like 60 references to .monospaced, and each one had to be manually upgraded to dynamically apply font.

i also tried to make the rounded font expanded, but after some inspection i found it doesnt even have a .expanded variant 😐

so the options i ended up with were monospaced, rounded, and expanded. no normal font. it just looks boring at this point.

below is the same screen with each option!

widgets also get the fonts, and they look actually insane ngl

0
0
8
Open comments for this post

2h 26m 53s logged

improving the friend detail view

the padding is so much nicer, and the detail view also shows more info and in a better way

the week subtab shows a similar timetable to the user’s own, and shows more info.

and some more statistics lol

0
0
7
Open comments for this post

1h 57m 51s logged

I decided to remove created timetables. they just don’t work anymore with the Friends concept, which makes it really annoying to adjacently share other timetables alongside having friends. its a shame, i wish it could have worked, maybe ill add it again later. oh well.

im still just combing through the app and fixing all the little things i see:

  • grade tracker gets a next item in the top for the top 4 subjects, which is important for atar.
  • improved the friend detail view a bit better, because the old one had not enough information and was displaying badly.added more statistics to administration view cos its fun lol
  • the tag selector view was improved, looks nicer and is a tiny bit more legible nowi changed the grade tracker weighting from semester to year. apparently thats the norm
  • more friend detail view improvements
0
0
11
Open comments for this post

2h 18m 47s logged

Grade tracker!!!

I know this is a very cliche topic but I had to implement this because it integrates so seamlessly with the app

for example, it already knows your subjects (duh) and when you input the date of your assessment, it also knows which period of the day that is, because it knows your subjects! (duh)

I also added ATAR, sthe user can set goals and stuff for what they want to achieve.

0
0
8
Open comments for this post

5h 9m 54s logged

lots of little things instead of one big feature:

  • i used to send emails, and i reached limits on the email provider so i had to move to only sending notifications, like device notifications. i still need an alternative, im looking through options now
  • there used to be different settings view between iPhone and iPad, so i consolidated them into one view.you can now see your friend’s status as on or off campus. this uses location to check when you reach school or leave. this also allows some cool statistics like average school arrival time!there is better moderation, it shows in the admins view and lets the admin block or do nothing about the account. it will be expanded later to have more features and actions and stuff
  • you can request to change your friends-since tag, also approved by admin.i deleted all (most) references to #if os(macOS), since there is no more macOS build, its just iPad running on mac.

small ui improvements:

  • added search to some more administration views
  • tapping an existing photo pro allows crop
  • the tabview gets tab transitions, like the ones iOS 26 had (that ios27 removed 😡)year-level tags are separated from other tags
  • expanded statistics!added archived events - events in the past - plus an option to automatically delete old events
  • added a button to reset tips, since the app is getting more and more complicated
  • the onboarding is less condensed, when that permission is first needed, its permission sheet request shows.more stuff gets cached in Defaults, making it more offline-safe.and some toolbar and blur and navigation title stuff.
0
0
14
Open comments for this post

1h 13m 15s logged

user account data now has highlighted rows for faster navigation
user reports look much better, as well as friends-since requests
reporting or sending feedback sends notifications instead of emails, now

0
0
6
Open comments for this post

4h 5m 46s logged

Few things!

  • Adminsitration gets new items for reported users and freinds-since requests
  • sections in adminstration
  • statistics for number of users, etc
  • you can now see your status and other people’s status, like on or off campus
  • new page that asks for location access ofc (ill move it into the onboarding later
  • improved the add a friend sheet
  • admins get emails for reported users, etc
0
0
5
Open comments for this post

8h 30m 21s logged

I finished the refactoring for now, to make the app multi platform.

So then i did some more brainstorming and I have consolidated what is the next few features I need to do

  • tips, to tell the user about features the app has

  • they sound easy but each tip needs rules and parameters and all kinds of obscure annoying things, so its going to be harder than it looks

  • my first tip shown below

  • An indicator next to each friend about their status, which is going to take the user’s location, taken in the background, to tell if they are on campus or off campus

  • So from this you can tell when a user arrives at school or if they are sick

  • iOS provides a function that will call my app, from the background, every time the user crosses a specific map polygon (The school). so i dont even need to do any map processing, my app just gets called every time the device goes in or out of school!

  • plus i can add cool related features like the user’s average arrival time to school, which will be pretty cool!

0
0
10
Open comments for this post

3h 36m 46s logged

Still just refactoring and remaking the app.
i decided to remove OS 26 compatibility, because there is just too many APIs and stuff

the images below are some stuff I’ve been refining:

  • dragging friends around
    sideays iphone support (same thing as macOS + iPadOS)

but I’ve decided now to not work on macOS (which is just iPadOS) and ipad until i perfect iphone and watch.

should be fun!

0
0
6
Open comments for this post

40m 47s logged

its getting there!

mac catalyst is definitely better than trying to make native macOS work.

swiftui isnt really making it any better, its really really restrictive in terms of how i can structure my app.

like for example that right column, has so many glitches that i cant really find solutions to because the bugs aren’t in my code, its infuriating.

0
0
14
Open comments for this post

1h 8m 31s logged

working with macOS is infuriating me, so i decided im going to make the macos app actually be mac catalyst, so its technically just running an ipad app. which makes sense.

still needs alot more work, this refactor is proving very very annoying

0
0
5
Open comments for this post

1h 18m 7s logged

first version of timetable for macos 😭

its really ugly and lwk broken. so im gonna spend the next few hours fixing this incredibly “interesting” UI.

0
0
3
Open comments for this post

3h 24m 36s logged

So so far up to now, I have completely neglected everything other than iPhone. i needed this so that i could focus on making iphone as seamless and intuitive and possible, and to push features faster. so now i have to go and basically remove all of the non-iPhone code and replace it with iphone code, and then try to make that work multiplatform.

so i decided iphone is going to remain as a tabview, for now at least, but ipados, macos, and big iphones can use a navigation split view, shown below. so a sidebar and main view and an inspector on the right sometimes.

0
0
4
Open comments for this post

37m 55s logged

I checked the localisation and it went down to 25%, so I went and pushed that back up to 100%.

and the friend detail view has been improved a bit more

0
0
4
Open comments for this post

40m 36s logged

i just read an article that said @Environment(\.dismiss) is bad for performance

dismiss() is a very simple and fast way to make a sheet or other modal view dismiss, but because its so simple and dynamic, that introduces lots of bugs apparently. so I had to go through all the sheets and this time replace dismiss() with better state management. i hope ill notice the performance improvements!

0
0
4
Open comments for this post

1h 32m 4s logged

some people were saying that it was really annoying that you could drag anywhere in a sheet to dismiss the sheet, you would be halfway through something and then you have to restart. so i went through all the sheets in the app and checked if they needed to remove this swiping. luckily it only needed one modifier per sheet.

also, more tester feedback was that i shouldnt have sections for tags, so yeah i did that.

also, now that there is a concept known as friends, instead of just shared timetables, i removed the option to allow people to have their timetables searched publicly. i havent figured out what i want for specific created timetables, i might lwk have to just remove that

also users now have to fill in what year group they are when onboarding. for tags.

0
0
4
Open comments for this post

3h 1m 10s logged

friends detail view shows a bit more content, and is redesigned for more paper

you can reorder the badges around now for priority when they show in their overlay

event tags editor looks a bit nicer

plus, users can edit their year group after signing in.

0
0
3
Open comments for this post

2h 40m 49s logged

So the header in settings now reflects with your pfp colours

for the profile editor, i made it now scrolling so that you could fit in all of the various options, like animation speed and noise and stuff.

when you click on a class in today view, it shows some more details about the class like teacher and location.

friends view also looks a bit nicer, both the list view and the detail view.

0
0
4
Open comments for this post

1h 56m 47s logged

Given the theme of this app, paper, widgets now get paper too!

settings for profiles has been updated too
you can now select black → white in the colour selector.

friend detail view still kinda looks a bit empty and bland, im not quite sure how to make it feel alive

0
0
5
Open comments for this post

4h 11m 15s logged

you can add special badges to people now, for like early birds or something idk.

the profile picutre bakground has been upgraded a bit, but im going to have to fork the repo and adjust it myself, its currently not looking like a gradient but a single noisy colour, im gonna fix that.

0
0
5
Open comments for this post

31m 57s logged

The bottom colour grid is concentric to the device!!!

although making the white outlines also behave nicely is proving really really hard, as you can see below

0
0
2
Open comments for this post

3h 34m 23s logged

I’ve been busy remaking the profile editor, its coming together really nicely.

that profile picture at the top is designed so that lets the other components take up their space, and then the pfp takes up the rest of the space. this allows the same view to not scroll while working on different phones and text sizes etc. and the background is animated!!!

0
0
4
Open comments for this post

5h 21m 56s logged

I made this widget, which is kinda like a summary widget for the user. it requires this large widget size to fit everything, and its goign to be more dynamic than the other widget which always show the same layout. i haven’t thought exactly how i’m going to do it though, below is a rough first version.

0
0
7
Open comments for this post

1h 58m 29s logged

i added a section in teh administration to be able to turn off the server for everyone except for me, so that i can maintain the server and test it. and also a section to manage other admins.

0
0
2
Open comments for this post

7h 20m 57s logged

so me and my friend did some more brainstorming focussing on the new friends tab, and how friend accounts work, and profiles and pfps etc. we also aggregated a list of bugs and UI glitches in the app that still need fixing.

the current first version is (moderately) broken 😭

0
0
8
Open comments for this post

1h 58m 17s logged

Me and my friend did a bit of brainstorming, to get ideas on how to improve the app UI, UX and future features. cos we are planning a future release hopefully. so we gained a good idea of consolidating friends into a more clear friends tab, combingin the currently spread-around-everywhere friends stuff.

0
0
4
Open comments for this post

2h 24m 22s logged

I made some UX adjsutments in the settings app, added some images, reordered haptics, etc

the planner sub-tab has been rehauled, and shows items chronologically instead of in sections, which i thought was more intuitive. it still needs much more thought though, im not sure how to space them out since some gaps are months long.

0
0
5
Open comments for this post

2h 12m 9s logged

Theres now brown and white paper combined. its an interesting ui concept, makes no sense in real life, but i think it looks nonetheless! it definitely creates an app theme, regardless of if this theme looks good or not…

0
0
6
Open comments for this post

4h 8m 53s logged

As usual, I did a very assorted bunch of things:

  • new admin tab so that i can change stuff without having to go onto my mac and hardcode stuff
  • today view looks like paper - reminscient of the app icon!
  • new about view
  • the popover for subject details is smaller, removing bloat
  • and a bunch of server improvements due to all of my users finding bugs and stuff!
0
0
3
Open comments for this post

4h 47m 22s logged

I have expanded the home tab!!

Theres three tabs at the top, today, week, and upcoming.
week is what it already was
upcoming shows term dates, no school days, school events, and also the users own personal events they make.
the today view is a bit ugly but its sort of there!

there also an admin page now, so that i dont have to hardcode term dates etc, i can just send them as api requests (for admin accounts only lol)

0
0
3
Open comments for this post

45m 18s logged

Message extension got improved, it now checks if you have enabled sharing before allowing you to even sahre it, and tells

0
0
8
Open comments for this post

36m 26s logged

This is currently the message extension ui. kinda ugly. that needs fixing

I also updated the created timetables detail view, and (ignore the screenshot) removes the save button cos no one is going to remember to press save when they change details, so this should save some frustration.

0
0
4
Open comments for this post

1h 38m 18s logged

I improved the UI for this view, to better show classroom and teacher labels.

I also renamed “Authored” to “Created”, apparently its better copy, according to my friend.

The settings got cleaned up a bit, and importing from calendar again needs confirmation

0
0
6
Open comments for this post

1h 54m 43s logged

I found an xcode bug, something to do with compilation errors for incorrect architecture, i dont get it but i gave apple feedback.

0
0
5
Open comments for this post

33m 21s logged

So I made a few more adjustments like removing the APNs registration page from onboarding to make onboarding even more seamless

Not important though. I discovered a really annoying problem: When I try to add iPad support, build fails because its trying to embed the watch app which obviously doesnt work on ipad. and xcode isnt letting me fix that. 😐

0
0
5
Open comments for this post

4h 55m 31s logged

I made some UI rehauls again lol

  • Current day receives theis blur effect which kinda looks like real light bouncing inside a box under the current day
  • The accent colour of the app is now brown, as I am trying to make the app feel more like paper, which will become more obvious as i later add paper elements and views inside the app.
  • My last update released a new account backend, which meant some users were not able to log in, so i decided to nuke the database and reset everything 💀 but anyway it worked and i upgraded the server to be better at handling this
  • The sheet to add a shared timetable is improved, with blur effects and stuff, and that tiemtable preview has gotten much better it was pretty bad before ngl
0
0
3
Open comments for this post

6h 56m 48s logged

I did a bunch of things:

  • current day highlight in ios
  • improve the notification early sending, to allow users to send notifications at multiple offsets
  • remake the ui for share timetable sheet
  • also the ui for the link customisation, tinted mint for whatever reason
  • sharing links is now a URL, which prompts you to open the app but uses decently ugly html, ill fix later.
  • New icon for apple watch that is optimised for the smaller display size (just made the components bigger and removed some duplicate elements
  • added some mroe developer items at the bottom, doesnt serve much purpose just looks cool lol
  • i removed the status badges that show success, cos i thought they would annoy the user with too many success alerts, and success when you are toggling settings doesnt really need alerts, so yeah.
  • i also hit a bug where notifications would send twice, i had to improve the apns token system to not duplicate tokens for a device.
  • on startup the app shows “restoring account…” every time, so i had to cache the profile data to make it stay signed in until explicitly signed out.
  • its kinda hard to see in the screenshot but there is progressivew blur at the bottom and top, looks nice
0
0
5
Open comments for this post

3h 17m 33s logged

I had a bug where the device could receive 2 notifications and live activities for each device, so I had to remake the APNs (apple push notification service) token management.

I also added a highlight around the current day, with the setting to disable it. i thought a stroke was better than a fill because its less overwhelming and doesn’t break the ui style.

0
0
2
Open comments for this post

56m 50s logged

As you saw before the onboarding UI was a bit broken, so I went through and fixed it up and also trimmed down how many pgaes it has. Those bottom buttons aren’t concentric for some reason, even though I am using the built-in toolbar API, so I can’t fix it. Oh well.

And it’s done to 8 pages, from 13. I still have som non-UI bugs to fix.

0
0
3
Open comments for this post

3h 3m 19s logged

  • Updated splash screen
  • Notificaitons now have threads (each school day is a thread)
  • macos window size animation fixed (the macos window resizes depending on the current state of the app, like currently selected tab etc.
  • fixed some bugs in live activities and server authentication
0
0
4
Open comments for this post

2h 23m logged

Fixed some server bugs, a user reported getting “forbidden” status messages, turns out I forgot to migrate the database 😐

And other UI refinements:

  • Tab bar uses monospace font
  • version and build in settings
  • feedback sheet
0
0
3
Open comments for this post

16m 19s logged

I think I’ve locked in to this one. Now I need to figure out what to actually put on the papar, im thinking it has to be a kind of simplifed version of the existing main UI of my app. something kinda like a calendar schedule

0
0
3
Open comments for this post

2h 25m 33s logged

Many many iterations later…
I’m leaning towards that paper one, it looks really tasteful i think. im not sure what to put on the paper though

0
0
9
Open comments for this post

38m 6s logged

I think they are coming along really nicely!!!!

The watchOS version has bigger title text and less handwriting rows cos its a smaller display size, i really like this 😃

the refraction effects 👌

0
0
4
Open comments for this post

23m logged

More experiments, cos the previous multicolour outline was kinda ugly, now i’m thinking of adding the fake handwriting instead, it might look nice

0
0
3
Open comments for this post

6h 8m 7s logged

I needed a new design system for my app, currently it was just a font and thats about it. Below are some experimental app icons I’ve been tweaking in sigma, they are made out of “paper” and represent a new theme I could use, which is literal paper as the design language. I think it could merge with Liquid Glass really nicely if done properly.

Otherwise, other improvements:

  • New App Intents for Apple Intelligence
  • Allow users to set a custom share link URL, for example timetable.adonis.pt/sharedtimetable/adon’s_timetable
  • More server tests + server improvements due to finding bugs in tests
0
0
5
Open comments for this post

45m 53s logged

I have also decided to remove Apple wallet integration, it just kinda got too messy. so im now going to revert (yes, revert 😭) back to an iMessage extension that lets you share timetables with a link. it fixes some annoying things that wallet integration has, like syncing etc.

I can even allow custom link urls for a shared timetable!

0
0
5
Open comments for this post

4h 48m 39s logged

I got carried away, since right now I am just going through and fixing the feedback my beta users gave me, starting with these:

  • improving the onboarding flow to decrease the amount of pages, and condense some other pages, since testers said there were too many.
  • Upgrade the server so that it only allows iOS to make changes to anything, since watchos and ipados and macos can only view, not edit.
  • i added some tests, using codex, on the server. I’m getting tired of manually debugging every single problem I find by hand, I just make tests and its a much easier way of guaranteeing your server works perfectly. the client app is going to be much harder to add tests to, though.
    and more other random stuff I found and UI fixes etc.

The screenshots are some broken UI stuff I found, I can’t really show you server bugs other than these error alerts.

Going good so far though, can’t wait to release this as a v3!

0
0
3
Open comments for this post

1h 14m 52s logged

After releasing v2 testflight, my friends pointed out a very large amounts of bugs in the app 😭 so I am now just trying to fix everything they pointed out. I’m pretty sure the server doesn’t have any issues, so at least that’s good.

First bug is this bottom bar looks horrendous, This was fine for me cos I set my dynamic text size to small 😭

0
0
4
Ship #1 💀 Cursed

So I made a timetable app for my school, super-specialised and for ios, watchos, and macos. its got live activities and notifications to show you current and next subjects throughout the school day, widgets for your weekly schedule, ability to see your friends’ timetables, and server sync. and apple intelligence support!

  • 39 devlogs
  • 94h
  • 9.50x multiplier
  • 448 Stardust
Try project → See source code →
Open comments for this post

2h 14m 36s logged

I made some final refinements to make sure account management on macOS works, so that my users can actually use the app, and then some other UI refinements, mainly for settings.

there are a bunch of weird things i am yet to fix, but im really tired and just want to get this app out, so ill fix them later.

0
0
8
Open comments for this post

27m 17s logged

I added some more pages to the onboarding, since that’s the only way I can show users how the app works cos it ngl is kinda obscure. i also added a report feedback or bug button, which needs some ui adjustments bruh

0
0
4
Open comments for this post

1h 7m 17s logged

I can’t really show you haptics but i added haptics to buttons and the status badges. not much to say honestly. theres a toggle in settings to turn that on and off.

0
0
4
Open comments for this post

51m 1s logged

I;m nearly read to release version 2 of the app, so i made a list of final tweaks and little improvements to make it as best I can, i think i can release it in a few days.

0
0
2
Open comments for this post

2h 41m 33s logged

I think I have built out pretty much all of the projects, but i need to fix the abundance of bugs and problems that i have. the first one was fixing a problem with server syncing, and making watch depend on signing in on the phone, not by itself.

0
0
7
Open comments for this post

1h 37m 19s logged

I refined the live activities (that background is for recess and lunch, even though this preview text says before school)

0
0
4
Open comments for this post

8h 43m 45s logged

I added live activities, although they are currently kinda ugly and need much improvement. I also made the watch app independent, because it doesnt need the iphone much really, it can just contact the server. i still have more work in making the server work better and stop giving me random errors, but yeah.

0
0
4
Open comments for this post

2h 50m 31s logged

In the onboarding I added pages to teach the user the features of the app, but I havent finished it yet. it needs a few more pages and refinement for smalelr phone screens

0
0
8
Open comments for this post

6h 30m 49s logged

I have added an onboarding view that i really like, its very colourful and stuff. i also improved the server to be able to send notifications to users, to tell them when their next class is.

0
0
3
Open comments for this post

3h 7m 6s logged

I added notifications to the app, so that people can receive information in the form of notifications as well as live activities and app intents and widgets. I also improved the share pass button in the prominent tab bar, so that you see this sheet to select what pass you want to share, not just the user’s own timetable.

0
0
2
Open comments for this post

25m 46s logged

Much better blur, although the server is taking a full 2.5 seconds to send back the pass, and i need to reduce that as much as possible

0
0
2
Open comments for this post

31m 44s logged

The timetable has some shadow behind it. I wanted to make the card HDR, but after a lot of experimenting i found apple doesn’t let you use hdr in your app like this, so i had to instead do this shadow 😐

0
0
2
Open comments for this post

5h 26m 4s logged

I finished the search view, and i spent a very long time on perfecting some visual animations and stuff. when you click on a search result it separately animates the title in. also, before you search anything, i thought instead of showing most downloaded timetables or something i show this really squishy and fun pokemon-style timetable wallet pass. the settings view has also been improved a bit, to make some settings more clear, but i still need to refine it alot further to get it working really nicely.

0
0
1
Open comments for this post

5h 58m 16s logged

It took quite some time, but i got some really nice looking status badges! I’m really proud of how they came out, they look very juicy, and i cant show it here but i promise its very touchable and squishy and animated! 🥰

0
0
4
Open comments for this post

3h 0m 14s logged

I have started building the server, using swift vapor. i chose vapor because it is written with swift, like my project, which made it easier to share code between the two files.

0
0
2
Open comments for this post

4h 51m 35s logged

Xcode seems to have become extremely broken or something, i spent the last 4 hours trying to make my widget work but Xcode kept erroring out and eating memory swap, and now i have some trouble with making the imported timetables actually show up in the widgets i already made 😡

0
0
5
Open comments for this post

39m 51s logged

I changed the blur effect to this, which i think is much better, because it has less blur, and doesnt add an ugly grey tint, so black background stays black background.

0
0
2
Open comments for this post

30m 29s logged

I added this blur effect behind the share sheet, and I think it looks really nice. I had to import a package to get a blur this clear

0
0
5
Open comments for this post

1h 44m 39s logged

I added a share button in the bottom left, which allows the user to share their timetable in one press, using the .prominent Tab style so that it looks seperate from the other tabs while still looking consistent.

0
0
3
Open comments for this post

1h 0m 4s logged

So added the ability to share timetables using apple wallet, along with sending them using messages, i think that background will need to get fixed for readability, but otherwise, i like it alot.

0
0
2
Open comments for this post

3h 25m 32s logged

I added some App Intents, below is my current subject intent, and also a list of received timetables intent. It took a lot longer than expected because the app intents framework was quite confusing to get working, but i got a nice UI in the end.

0
0
2
Open comments for this post

1h 25m 44s logged

I upgraded the watch views, like making the progress rectangle rounded, and this very colourful background for when its recess and lunch

0
0
1
Open comments for this post

2h 26m 4s logged

I updated the background of the window, including in light mode, and I also remade the icon. The settings also looks much better than it was before, and I made a nice window animation for when you click a slot to see what your friends have.

0
0
2
Open comments for this post

51m 48s logged

I made some design adjustments to the macOS app, giving it a blur background. Also, the weekly shedule widget has had its corner radiuses and colours adjusted to be less harsh and look better.

0
0
5
Open comments for this post

3h 58m 3s logged

I fixed the widget extension problem by making two widget extensions, one for watch and one for other platforms, and made them use identical code. And then I refined the widget design for macOS and iOS and i think they look really nice now.

0
0
3
Open comments for this post

30m 43s logged

I added support for these widgets from only watch to iphone and ipad and macOS, and currently they are ugly and unrefined, so I’m going to fix them now.

0
0
3
Open comments for this post

3h 11m 17s logged

I ported the app over to macOS, which was harder than I thought because there was a lot of code throughout every screen that was for connecting iphone to apple watch or some other iOS-only thing, which I had to conditionally compile out for macOS. then I needed to refine the views to work on macOS well, for example the class editor sheet used a sidebar instead of the scrolling tabview on iOS. There’s still more work to do to refine it more and get CloudKit working so that the timetable syncs across devices.

0
0
4
Open comments for this post

2h 46m 42s logged

I added these views to the watch, so you can see how much time is left in a session for yourself, and also for others. i also refined the timetable view to not use so much glass because it was lagging the TabView. The main clock uses a liquid glass background against the background progressview, and what class is next.

0
0
6
Open comments for this post

50m 49s logged

I fixed the sync button visuals, it now has a blur replace transition effect. the timetable comparison view also blurs in and out when you click around

0
0
4
Open comments for this post

2h 37m 43s logged

I moved the sync button to settings, so that the toolbar in the timetable tab could be removed. this is to make way for this new bottom half of the screen that shows other people’s timetables when you click on the slot in the top half, replacing the previous system of letting you select someone else and see their whole timetable covering your timetable. this system lets you view your own timetable and compare it with everyone else’s at a particular period. It uses a soft scroll edge effect at the bottom, and a hard effect at the top, which i think looks really nice. the second image shows the content scrolling under the timetable, which i really liked.

0
0
7
Open comments for this post

53m 56s logged

I’m just refining the software a but before I start adding Siri support and improving Messages import/export flow.

I fixed this comparison view, improved the class editor to show the glass nicer, and the settings toolbar has a gradient blur effect instead of hard blur, which was made the new default toolbar background style, which imo is ugly.

0
0
6
Open comments for this post

4h 4m 4s logged

I renamed PMS Timetable to Timetable, which took more time than I expected cos it was embedded in like every single file and I even had to go through binary files and just delete all the instances of “pms” 🫩. then this managed to corrupt Xcode and make it crash every time I opened it, and i had to delete some stuff to fix that. Now I’m on the OS27 version and I’m going to start fixing some UI.

0
0
7

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…