Skip to content

The frontend for a digital and collaborative homework book


Notifications You must be signed in to change notification settings


Repository files navigation


A digital and collaborative homework book

Dlool is a digital and collaborative homework book.
Classical homework books have a lot of problems. These are some of them and how Dlool solves them.

Problem Solution
Some students work only digitally but still use a classical, analog homework book Dlool is digital and a highly optimized drop in replacement.
Everyone in a class writes down the same Dlool is collaborative, all entries from one class are available for everyone
They are not very good for the environment, as it will be thrown away after just one year Dlool is digital, no paper is needed.
They are not very practical Dlool is available on all devices.
Entries are not very structured Dlool has a structured entry system.
When you lose your homework book, all your data is lost forever Dlool is digital, you can't lose it.
Every year you need a new homework book Dlool can be used for multiple years.
You are locked into a specific brand Dlool is free and open source. With Dlool you can export your data to ical or todo.txt. Also there is a way to sync Dlool with Apple Reminders.
Homework, tests and notes are not separate Dlool has a different system for homework, tests and notes. Everything is separated but still in one place and easy to find.


Dlool offers a lot of features to enhance your homework management experience.

  • Collaborative: All entries from one class are available for everyone.
  • Structured: Dlool has a structured entry system. It is still easy to use but also very powerful.
  • Exportable: You can export your data to ical or todo.txt, using this script you can also sync Dlool with Apple Reminders.
  • Cross-Platform: Access Dlool on all devices with a browser.
  • Offline Support: Most of Dlool works offline, so you can even use it in schools with bad or no internet. This is currently broken!
  • Dark mode: Dlool automatically adapts to your system settings. Dlool also respects reduced motion settings.
  • REST API: Extensive and well documented REST API to write your own scripts.
  • No Account required: Even without an account you can use Dlool.
  • Long-Term Usability: Keep your data organized for years to come.
  • Moderation system: Maintain a positive, welcoming and safe environment.
  • Notes: Write short notes for yourself or your class.
  • Calendar: Keep track of tests and deadlines using Dlool's gorgeous calendar.
  • Timetable: Easily know which subjects are when and write down the homework correctly using the timetable support
  • Holidays: Look up when holidays are in your area, the data is provided by the OpenHolidayAPI
  • A lot of small things to make your life easier.



Dlool is a progressive web app and is powered by the following technologies:


Dlool's backend is powered by the following technologies:

Getting started

The easiest way to try Dlool is to visit the official deployment.

If you want to run it locally e.g. for development you can follow the instructions below.

Homework will be publicly visible for everyone, this isn't a bug but to prevent bullying. But if you want to create, update or delete homework you will need an account for a specific class. You can create one here. It may happen that somebody from your class is already using Dlool, then they will need to accept your request to sign up for the class. This can be done by going to this page and clicking on the accept button.

Once you have your account you can login here and create a homework here. You can also export your homework as ical here.

When you have any questions, find a bug or have an idea for a feature you can create an issue.

Running locally

  1. Clone this repository

    git clone
  2. Install the dependencies

    pnpm install
  3. Build from source

    pnpm run build
  4. Start the server

    pnpm run preview
  5. The server runs on localhost port 4173

For full functionality, ensure you set up the backend as well. Detailed backend setup instructions can be found here. Don't forget to create a .env file in the frontend's root directory with this variable:

Variable Recommended value Description
PUBLIC_API_URL PUBLIC_API_URL= The URL of the backend. Do not put a slash at the end!

You can create the .env file with this command:

echo "PUBLIC_API_URL=" > .env


Every of mine repositories for Dlool is licensed under the GPL.

Feel free to reach out, report issues, or share your ideas by creating an issue here on GitHub.
Enjoy using Dlool!