Overview
DVDr is a free and simple tool designed to solve the classic problem of “who owes whom” after a trip with friends, a dinner, or shared living expenses. Its main philosophy is “Split expenses, not friendships.” The application allows users to add participants and record various financial activities, such as shared expenses (equal or custom splits), adjustments (rewards or penalties), and direct transfers.
DVDr stands out for its focus on privacy and ease of use: it requires no account creation or login, as all data is stored locally on the user’s device. As a Progressive Web App (PWA), it can be installed on mobile phones and works entirely offline. It also offers the ability to share the current state of expenses via an automatically generated link.
Technical details
Technically, DVDr is a Single Page Application (SPA) built with HTML5, CSS3, and JavaScript, utilizing the lightweight Alpine.js framework for reactive state management and DOM manipulation. The application runs entirely client-side; it does not use external databases but persists information in the browser’s localStorage. for sharing functionality, it serializes the application state into a JSON object, encodes it in Base64, and appends it to the URL hash, allowing data portability without a backend.
The core logic includes a debt simplification algorithm that minimizes the number of transactions required to settle accounts within the group. The project implements a Service Worker (sw.js) to manage asset caching, ensuring offline functionality and fast load times. The deployment is configured for Vercel, optimizing the delivery of the static application.