
A desktop screensaver app using web technologies
Before Dawn is an innovative open-source screensaver application that merges the creativity of web technologies with functionality. Built on Electron, this cross-platform application allows users to create and run screensavers using familiar tools like HTML, CSS, and JavaScript. This project originated from a personal endeavor to explore early screensaver history and has transformed into a user-friendly framework that developers and artists can easily access.
This application offers a unique experience, enabling users to create their own custom screensavers with relative ease. Although it necessitates running as a separate application and disabling the existing screensaver on your operating system, the creative possibilities it presents are both exciting and distinctive.
Cross-Platform Compatibility: Functions on multiple operating systems, including OSX, Windows, and an experimental release for Ubuntu/Debian.
User-Friendly Interface: Simplified preferences window lets users preview different screensavers and customize settings easily.
Web Technology Based: Create screensavers using HTML, CSS, and JavaScript, making it accessible for developers familiar with web design.
Idle Detection: Engages screensaver automatically when it detects user inactivity, ensuring a smooth experience.
Custom Screensaver Creation: Allows users to contribute their own screensavers to the project, encouraging community involvement and creativity.
Advanced Settings: Users can specify parameters for how the screensaver operates, including idle time before activation and custom paths.
Stable and Reliable: Currently, the application is stable and maintains a solid core to enhance functionality while encouraging experimentation.
Active Development: Regular updates and a supportive community for those who wish to hack or build upon the existing framework.

Svelte is a modern front-end framework that compiles your code at build time, resulting in smaller and faster applications. It uses a reactive approach to update the DOM, allowing for high performance and a smoother user experience.
SCSS is a preprocessor scripting language that extends the capabilities of CSS by adding features such as variables, nesting, and mixins. It allows developers to write more efficient and maintainable CSS code, and helps to streamline the development process by reducing repetition and increasing reusability.
ESLint is a linter for JavaScript that analyzes code to detect and report on potential problems and errors, as well as enforce consistent code style and best practices, helping developers to write cleaner, more maintainable code.
Webpack is a popular open-source module bundler for JavaScript applications that bundles and optimizes the code and its dependencies for production-ready deployment. It can also be used to transform other types of assets such as CSS, images, and fonts.