Inspiration

I've always found that doing homework involves a lot more than the assignment itself. You have to remember what's due, figure out what to work on first, get yourself to start, and somehow remember where you left off after taking a break.

These are all executive-function skills, which can be especially difficult for students with ADHD. I've struggled with this myself, and I've seen similar problems among my classmates. Sometimes I'll know exactly what I need to get done, but getting myself to sit down and do it takes way more effort than it should.

I started thinking about why the tools we already have don't really solve this. Study apps are useful for learning material, AI planners can make schedules, and chatbots are great for answering questions. But once you have your plan, you're still pretty much on your own when it comes to following through.

I've worked on productivity tools before, and this was a problem I kept coming back to. I wanted something that could understand what I was already working on and help me make progress without having to constantly explain everything to an AI chatbot.

That's how I came up with Loomer.

What it does

Loomer is a Chrome extension that uses AI to help students manage their assignments and work through them.

The main idea is that Loomer can understand the context of a student's schoolwork. If you're working on an essay, for example, it can reference the assignment instructions and what you've already written to give you useful suggestions. You don't have to copy your entire assignment into a chatbot every time you need help.

Loomer currently has several features:

  • It can read supported Canvas assignments and identify instructions, deadlines, and requirements.
  • It helps students prioritize assignments and figure out specific next steps.
  • When working in a connected Google Doc, Loomer can reference the draft to answer questions, suggest improvements, and check whether assignment requirements have been addressed.
  • During study sessions, it can proactively suggest actions like saving useful research or reviewing part of a draft.
  • Students can save a next step before ending a session. When they come back, Loomer brings it up again so they can continue without having to remember exactly what they were doing.
  • Students can control when monitoring happens, exclude websites, clear locally stored information, and follow their teachers' AI restrictions.

I also wanted to be careful about how much work the AI actually does. Loomer is supposed to help students understand their assignments and make progress on their own work. Having it generate an entire essay or complete an assignment would defeat the purpose.

How I built it

I built Loomer using TypeScript and React as a Chrome extension running on Manifest V3.

The extension reads information from supported academic websites to understand what a student is working on. For Canvas, that means extracting assignment details like instructions and deadlines. For Google Docs, Loomer can access the contents of a connected document in read-only mode and use that information when helping with writing.

I used OpenRouter to connect the extension to language models. Some parts of Loomer, like interpreting instructions and generating contextual suggestions, use AI. Other things, including permissions, assignment prioritization, and restrictions, are handled through regular application logic.

One feature I spent time working on was checking assignment requirements against a student's draft. I didn't want Loomer to simply tell someone that their essay met a requirement because the AI thought it sounded right. Instead, it looks for supporting excerpts from the actual draft so students can see what the feedback is based on.

I also had to think about privacy since the extension works with school assignments and student writing. Loomer only monitors activity during study sessions, stores relevant information locally, and lets students exclude websites or clear their data. Some content is sent to the selected AI provider when students use features that require model inference.

Most of my development process was pretty iterative. I'd build a feature, try it with an assignment, notice something that didn't work as expected, and go back to fix it. I tested different types of schoolwork and worked on making the extension useful without requiring students to spend a lot of time setting everything up.

Challenges I ran into

The most difficult part was getting Loomer to understand enough about a student's work to provide useful help.

Generating a to-do list with AI is pretty straightforward. Understanding what someone is doing across different websites is a much harder problem.

For example, a student might have their assignment instructions on Canvas while writing their response in Google Docs. Loomer needs to understand both sources to give meaningful feedback. Each website also organizes its content differently, so I had to figure out how to extract the right information and handle cases where something was missing or formatted unexpectedly.

I also spent time dealing with inaccurate AI feedback. When checking an essay against assignment requirements, a model could sometimes assume something had been addressed without enough evidence. I worked on making the responses reference the student's actual writing and added checks for supporting excerpts.

The proactive features were another challenge. I wanted Loomer to offer help when it noticed something useful, but there was a fine line between helping students and interrupting them. That meant thinking carefully about when suggestions should appear and how much control students should have over them.

There were technical issues with Chrome extension permissions and the way Canvas and Google Docs handle their content, too. Getting the extension to work across these platforms took more trial and error than I expected.

I also had to make some decisions about scope. I had ideas for more advanced progress tracking and automatic work resumption, but there was only so much I could realistically build for the hackathon. I focused on getting the assignment understanding, contextual assistance, and restart features working before expanding further.

What I learned

Building Loomer made me reconsider some of my assumptions about productivity.

I'd previously spent a lot of time thinking about ways to organize tasks and make better schedules. But a perfectly organized schedule doesn't help much if you still can't get yourself to start. That's something I've experienced, and it influenced a lot of my decisions while building Loomer.

I also learned how different it is to build an AI feature that works in isolation compared with one that's part of a larger application. Getting a chatbot to produce a useful response is relatively easy. Making sure it has the right context, doesn't make unsupported claims, and works within the limitations of different websites takes a lot more effort.

Some of the smaller features also ended up being more interesting than I expected. Saving a specific next step before leaving an assignment, for instance, is pretty simple. But I realized how useful that could be when you come back to something after a few days and have completely forgotten what you were planning to do.

I still need to test Loomer with more students to see whether these features actually help. My own experience was useful for deciding what to build, but I know other students might struggle with different parts of their workflow.

What's next

The main feature I want to improve is work resumption.

Right now, Loomer lets students save a next step and return to it later. I'd like to make that process more automatic by having the extension recognize what progress a student has made, remember where they stopped, and give them enough context to continue when they return.

I also want to support more academic platforms and improve the proactive suggestions so they appear when they're useful without getting in the way.

Beyond adding features, I want to get Loomer into the hands of other students. I haven't had the opportunity to do much user testing yet, and I'm interested in seeing how people actually use it. In particular, I'd like to find out whether Loomer helps students start assignments faster, spend less time figuring out where they left off, and complete more of the work they intended to do.

I'm hoping to keep developing Loomer beyond this hackathon, especially as I get feedback from students who experience the same executive-function challenges that inspired me to build it.

Built With

Share this project:

Updates

Submission history