Intimate Relationship Satisfaction Assessment
Reflect on the health and happiness of your relationship — privately, locally, beautifully.
A small personal project built for fun and learning.
Harmony is a GTK4 + libadwaita desktop application that presents a short, private self-assessment quiz covering five key dimensions of relationship satisfaction:
| Dimension | What it measures |
|---|---|
| Communication | How well you and your partner communicate |
| Emotional Support | The level of emotional support you receive |
| Quality Time | Satisfaction with shared time together |
| Trust | How much trust exists in the relationship |
| Conflict Resolution | How well disagreements are handled |
Each question is scored 1--5. After submitting, Harmony displays your total score out of 25, a satisfaction level, and personalized suggestions for maintaining or improving your relationship.
Privacy first — All responses are processed locally. Nothing is stored to disk or transmitted over the network. Ever.
Fedora / RHEL
sudo dnf install gcc meson ninja-build gtk4-devel libadwaita-develUbuntu / Debian
sudo apt install gcc meson ninja-build libgtk-4-dev libadwaita-1-devArch Linux
sudo pacman -S gcc meson ninja gtk4 libadwaitameson setup builddir
meson compile -C builddir
./builddir/harmonyBuild a portable AppImage (requires librsvg2-tools and wget):
./scripts/build-appimage.sh
./harmony-x86_64.AppImageThe host system must have GTK4 and libadwaita installed for the AppImage to run.
| Score | Level | Meaning |
|---|---|---|
| 21 -- 25 | Very High Satisfaction | Your relationship is thriving |
| 16 -- 20 | High Satisfaction | A great foundation to build on |
| 11 -- 15 | Moderate Satisfaction | Room for growth in some areas |
| 6 -- 10 | Low Satisfaction | Some challenges worth addressing |
| 5 | Very Low Satisfaction | Consider seeking professional support |
| Component | Technology |
|---|---|
| Language | C (GNU C11) |
| UI Toolkit | GTK 4.6+ |
| Design Library | libadwaita 1.0+ |
| Build System | Meson + Ninja |
| Linting | clang-tidy |
| UI Definition | GtkBuilder XML |
| Theming | Custom CSS |
harmony/
├── src/ # Source code
│ └── main.c # Entry point, scoring logic, signal handlers
├── resources/ # UI files, CSS, images (GResources)
│ ├── window.ui # GtkBuilder XML — full UI layout
│ ├── style.css # Custom pink theme
│ └── harmony.gresource.xml
├── data/ # Desktop files, icons, AppStream metadata
│ ├── icons/
│ ├── fr.southlabs.harmony.desktop
│ └── fr.southlabs.harmony.metainfo.xml
├── docs/ # Documentation
│ ├── BUILD.md # Detailed build instructions
│ └── README.md # Full project documentation
├── scripts/ # Build and utility scripts
│ └── build-appimage.sh
├── build-aux/ # Build auxiliary files
│ └── .clang-tidy # Linter configuration
└── meson.build # Build system configuration
- Build Instructions — Detailed build, lint, install, and AppImage guide
- Project Documentation — Full project documentation and architecture
This assessment is inspired by the Relationship Assessment Scale (RAS) developed by Susan S. Hendrick (1988). It is intended for self-reflection purposes only and does not constitute professional psychological advice. If you are experiencing relationship difficulties, please consider consulting a licensed therapist or counselor.
This project is licensed under the GNU General Public License v3.0.
Made with care by Darwin Lamark