Canvas Sweeper
- 19 Devlogs
- 120 Total hours
Canvas Sweeper is a planning app that connects Canvas and Google Calendar to help students organize assignments, manage deadlines, and create smarter study schedules.
Canvas Sweeper is a planning app that connects Canvas and Google Calendar to help students organize assignments, manage deadlines, and create smarter study schedules.
finally found the issue - i set up google auth wrong and accidentally made it so only one person could sign up fixing that tomorrow, hopefully nothing else breaks.
trying to get google auth working for hours and it still refuses to cooperate
canvas sweeper coming soon 👀
Canvas Sweeper - Authentication Testing( Devlog #16 )
Had to reconnect Supabase today, which took a bit longer than expected. I’m now testing the full authentication flow with Google OAuth and fixing the last few signup/login issues.
If everything goes smoothly, Canvas Sweeper will probably launch over the weekend 👀
Unfortunately I have somehow gone in a complete circle trying to launch this
I have never deployed anything before, so I guess there’s a first time for everything.
97.3% chance Canvas Sweeper launches tomorrow.
Sorry for the delay. Was definitely not part of the plan.
Canvas Sweeper Launch Prep ( Devlog #15 )
Today I finished the final prep for launching canvas sweeper online. I spent most of the time making sure everything was secure, stable, and ready instead of rushing.
I completed the Docker setup, hardened the frontend and backend containers, added security checks, verified the deployment pipeline, and prepared the Ubuntu server deploymen. I also finished the final testing, image verification, and release preparation needed before putting the app online.
What’s Next
THANKS FOR READING!!!!
Canvas Sweeper Deployment ( Devlog #14 )
I’m finally getting Canvas Sweeper ready to go online. I’m going to host it on my own Ubuntu server using Docker, then connect the frontend, backend, database, HTTPS, and the public URL.
Since I already have the server, I won’t pay for hosting like Vercel or Render, which is pretty cool because I can run the whole thing myself and keep upgrading it later.
Today I worked on getting the release ready and security. I added and tested rate limits, user isolation, secret scanning, CodeQL, Gitleaks, container scanning, safer Docker builds, and a full GitHub release pipeline. I also spent a lot of time fixing random CI issues that only showed up once everything started running in GitHub.
What’s Next
Canvas Sweeper - Beta Security & Release Preparation ( Devlog #13 )
Features / Improvements
Added AI safety improvements:
Added AI privacy controls:
Added security protections:
Added deployment and release preparation:
Security Work Completed
What’s Next!!!!
The first public beta release should be ready tomorrow.!!!!!
THANKS FOR READING!!!
Canvas Sweeper — Beta Preparation & AI Upgrade ( Devlog # 12 )
Recently, I finished a lot of the final polish before letting other people test it. All major pages and workflows have been added, and I have been focusing on making the experience feel like a real product.
the most annoying bugs I fixed was the Canvas connection status. I probably spent 4 hours fixing a tiny red connection box that was not turning green. It ended up being sync states, cached data, and different parts of the app interpreting connection status differently.
What’s Next
Before releasing a beta, I’m focusing on making Canvas Sweeper safe and ready for real users:
THANKS FOR READING!!!
Canvai AI - Making Canvas Smarter ( Devlog # 11 )
Canvai has grown a lot since the last update. I finished building the foundation for Canvai ai and started preparing the next phase of the project.
Features
What I Learned
What’s Next
I’m currently working on redesigning Canvai Assistant and making the ai features feel like a real assistant. The goal is to let students ask questions about their assignments, schedules, risks, and progress while keeping everything evidence based and safe.
THANKS FOR READING!! Page of free Nvidia ai APIs
Canvas Sweeper - Building the Brain( Devlog #10 )
Canvas Sweeper has grown a lot since the last update.
Over the past few missions, I built the core systems that power Canvai:
Features
Canvas assignment intelligence: analyzes deadlines, workload, risk, and priority
Smart scheduling engine: creates realistic study plans around school, rowing, and personal commitments
Google Calendar integration: lets approved study plans become real calendar events
Learning system: tracks completed work and improves understanding of planning accuracy
Student modeling: learns from completed sessions and creates evidence-based insights
Canvai assistant foundation: explains plans, risks, and recommendations without using AI yet
Advanced planning: workload forecasting, exam planning, dependencies, and what-if scenarios
Built With
What I learned this session
Building large full stack systems takes much more than just writing features
Designing reliable data models before adding AI is important
Creating explainable systems is much harder than creating simple automation
Testing, migrations, and security
What’s Next
The foundation for Canvai (canvas ai) is finally coming together. The next step is improving the user experience and preparing the system for the future AI phase. I am also making the page for the ai assistant and brain.
THANKS FOR READING!!!
Canvas Sweeper = Final Stages! hopefully ( Devlog #9 )
Canvas Sweeper is finally fully functional and looking much better than before. I’ve connected the new UI to the real app and finished most of the core planning system.
Built with
What it can do
Next
THANKS FOR READING!!!
I Severely Underestimated This UI Redesign ( Devlog #8 )
I thought implementing the new Canvas Sweeper UI would be a quick frontend update.
It was not…
I’ve added the new dashboard, assignments page, and plan page, but I still need to finish the rest, including settings and all the smaller screens. Then I have to connect everything properly and make sure every button, state, animation, and real data flow actually works .😬
So this has officially turned into a multi day project, but it’s finally starting to come together. After the UI is fully finished and working, I can finally move on to the AI phase. THANKS FOR READING!!
Canvas Sweeper’s New UI Is Almost Done ( Devlog #7 )
I implemented the new dashboard, assignments pages, planner screens, settings, and the rest of the redesigned app. At the moment everything is using demo data while I connect the new frontend to the real Canvas and Google Calendar systems.
This took way longer than I expected because I had to rebuild a lot of the frontend stack without breaking the existing backend, authentication, scheduling system, or calendar publishing. The hardest parts were recreating all the animations, keeping the design consistent across every page, and making sure the new UI could still work with the real data.
What I worked on
The new pages should be fully functional tomorrow or the day after. After that, I’m finally moving on to the AI phase
My Own Server ( Devlog #6 )
(Picture of the server 😬, hopefully getting a case soon)
Every day this project just keeps getting bigger. What started as a software project is now growing into a hardware project too. I wanted to make my own server to run my projects locally and create a dedicated machine for development, as my computer could not handle it anymore.
I built this server completely from parts I found through thrift stores, garage sales, and things I was able to get for free. It has been really cool taking old hardware and turning it into something useful.
Features
Hardware
Built with
What I Learned
Setting up this server took much longer than expected. Installing Ubuntu Server, configuring everything, and fixing all the small issues was definitely a challenge, but I learned a lot about hardware, Linux, and server management.
Next Steps
I am currently continuing development on the full stack side of things and getting everything ready to run locally on this server. Once that is finished, I will start working on the AI phase and adding more advanced features.
Also ignore whats on the homepage
The animated landing page from my last devlog is officially finished! 🎉 Now we are working on designing the rest of the app to match, including the dashboard, assignments, planner, and settings pages so everything feels more polished.
At the same time, I’m wrapping up Phase 4, which is all about making sure the scheduling system can create, review, and publish reliable study plans before moving on to Phase 5, where I’ll start adding AI to make planning even smarter.
Working on now
Me and my friends took a short break from adding new features to completely redesign the Canvas Sweeper UI. I wanted the landing page to feel more like an Apple product page, with smooth scroll animations that show assignments turning into an organized study schedule.
I just finished implementing the new landing page and UI style! Next, I’m redesigning the dashboard, assignments, planner, settings, and the rest of the app to match.
What I worked on
Canvas Sweeper is getting smarter (no ai yet)
I have no active assignments at the moment since it is summer time but you can see all of your previous assignments and late assignments, thus canvas connection is working
Since my last devlog, I finished connecting Canvas Sweeper to my real Canvas account and Google Calendar, and I started building the main scheduling system.
The app can now use my assignments, deadlines, existing calendar events, sleep schedule, school, rowing, and other commitments to find free time and build a study plan around my actual schedule.
The biggest challenge has been making Google Calendar publishing safe. I’ve been fixing bugs involving duplicate events, sleep hour scheduling, rescheduling, and failed calendar syncs. Next, I’m finishing testing and making sure everything is reliable before moving on to the next phase, which is to implement ai.
After about 6 and a half hours of work, Canvas Sweeper is finally connecting to my real Canvas account and Google Calendar! 🎉
The app can now import my actual courses and assignments, and the foundation for the scheduling system is in place. Eventually, it will look at my calendar, see when I’m busy with things like school and rowing, and automatically build a study schedule around my free time.
The hardest bug so far was getting rid of “Demo Mode.” Everything on the backend was working, but the frontend still thought my account was fake. After lots of debugging, I finally got it and got everything working with real data.
Next up is building the intelligent scheduling engine and removing the last bits of demo and hardcoded data before the app eventually goes public
AI Canvas Planner
Its highkey broken,I can’t fix it for now and the ui sucks but this is my newest project! AI Canvas Planner is a full stack web application that automatically turns my Canvas assignments into an intelligent study schedule. Instead of just copying due dates onto a calendar, it connects to my Google Calendar, sees my existing schedule (school, rowing, appointments, etc.), and builds personalized study sessions around my free time. Right now it’s designed for my own workflow, but once it’s polished I plan to make it public so other students can use it too.
Features::
Built With:
APIs & Services:
Biggest Challenges So Far
One of the hardest parts has been getting multiple APIs to work together. Google OAuth, Google Calendar, and Canvas all have different authentication flows and edge cases. I also spent a long time fixing down timezone bugs where Canvas timestamps and SQLite stored dates differently, causing assignments to crash until I normalized everything to UTC.
Another frustrating bug happened after I connected Canvas successfully. The backend was working perfectly, but the frontend kept thinking it was still in demo mode, so it showed that Canvas wasn’t connected even though all of the API requests were succeeding. Bugs like these have taught me a lot about debugging full-stack applications and how frontend and backend state can get out of sync.
What I Learned