
Meus Compromissos
Weekly planning web app with available hours, categorized tasks, progress tracking and automatic weekly rollover.
- Year
- 2024
- Type
- Open Source
- Status
- In production
- Source code
- Open
Stack
- Ruby on Rails
- Ruby
- PostgreSQL
- Sidekiq
- Tailwind CSS
- Stimulus

About the project
Meus Compromissos is an open-source web app for planning the week around available time. Each task is assigned a number of hours, and the dashboard shows how much of the weekly capacity is already allocated.
Problem
A task list shows what needs to be done but does not always show whether there is enough time to do it. Without connecting activities to available hours, commitments are harder to distribute throughout the week.
Solution
Users set their weekly availability and add tasks with a category and allocated hours. The dashboard shows remaining hours, progress, and active, completed or archived tasks. Charts provide a breakdown by category.
My role
I built the entire project, including data modeling, weekly cycle rules, scheduled jobs, notifications, tests and the interface. The source code is available on GitHub.
Key features
- Weekly availability settings
- Tasks with allocated time, category and status
- Remaining-hours and progress indicators
- Charts by category
- Browser notifications
- Time remaining in the weekly cycle
Architecture and technical decisions
The application uses Ruby on Rails and PostgreSQL, with Tailwind CSS, Stimulus and Turbo for the interface.
A Sidekiq job, scheduled with sidekiq-scheduler to run twice a day, checks weekly cycles. When a cycle reaches seven days, the job closes it, creates the next one and carries over unfinished tasks. These operations run in a database transaction to keep records consistent.
Notifications use Web Push, with handling for expired or invalid subscriptions. PaperTrail maintains task history, Devise handles authentication, and Rails ERD documents the data model as a diagram.
Project validation includes system tests with Capybara and security analysis with Brakeman.
Outcome
Deployed, with source code available on GitHub.
Technologies
Ruby on Rails, Ruby, PostgreSQL, Sidekiq, Tailwind CSS, Stimulus, Devise, PaperTrail and Web Push.