Skip to content

InstaZDLL/Harmony

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Harmony Icon

Harmony

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.

Release C11 GTK4 libadwaita Meson License Linux


About

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.


Quick Start

Prerequisites

Fedora / RHEL
sudo dnf install gcc meson ninja-build gtk4-devel libadwaita-devel
Ubuntu / Debian
sudo apt install gcc meson ninja-build libgtk-4-dev libadwaita-1-dev
Arch Linux
sudo pacman -S gcc meson ninja gtk4 libadwaita

Build & Run

meson setup builddir
meson compile -C builddir
./builddir/harmony

AppImage

Build a portable AppImage (requires librsvg2-tools and wget):

./scripts/build-appimage.sh
./harmony-x86_64.AppImage

The host system must have GTK4 and libadwaita installed for the AppImage to run.


Scoring

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

Tech Stack

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

Project Structure

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

Documentation


Disclaimer

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.


License

This project is licensed under the GNU General Public License v3.0.

Made with care by Darwin Lamark

About

Relationship satisfaction self-assessment quiz GTK4/libadwaita desktop app

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors