https://github.com/devyuscode/synethia
A basic C# algorithm that can determine the behavior of a user with an application.
https://github.com/devyuscode/synethia
algorithm csharp dotnet wpf
Last synced: 2 months ago
JSON representation
A basic C# algorithm that can determine the behavior of a user with an application.
- Host: GitHub
- URL: https://github.com/devyuscode/synethia
- Owner: DevyusCode
- License: mit
- Created: 2022-07-13T08:53:40.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-09T17:01:18.000Z (11 months ago)
- Last Synced: 2025-07-22T13:29:07.250Z (3 months ago)
- Topics: algorithm, csharp, dotnet, wpf
- Language: C#
- Homepage: https://dev.peyronnet.group/synethia
- Size: 2.92 MB
- Stars: 9
- Watchers: 1
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README






Synethia
A basic C# algorithm that can determine the behavior of a user with an application.
Report Bug
·
Request Feature
·
Known Issues
## Features
- [x] Detects how long the user is using which part of an app. (like a page)
- [x] Detects how many interactions the user has with an app. (like clicking on a button)
- [x] Calculates and associates a score to each page/part of the app depending on the two factors above.More features are coming soon.
## Score
Synethia attributes a score to each page/part of the app depending on the following two factors:
- The time the user is using the page.
- The number of interactions the user has with the page.The score is calculated using the following formula:
$$
score = totalTime * ({interactions \over 2})
$$> **Note** This formula can change/evolve in upcoming releases.
## Graph
~~~ mermaid
graph TD
App-->MainWindow-->Page-->C
Page-->A
Page-->F
A{When a page is viewed}-->B[Get the current Unix time]
B
C{Page left}-->D[Calculate total time elapsed]
D-->E[Add this value to the page interest score]
C-->BF{When an interaction occurs}-->E
E-->G[Compare this score with the score of other pages]
H[The page with the highest score can be suggested to the user]
I[The page with the lowest score can be suggested to a 'Discover' section]G-->H
G-->IMainWindow-->p1(Page 1 interest score)
MainWindow-->p2(Page 2 interest score)
MainWindow-->p3(Page 3 interest score)
p1-->G
p2-->G
p3-->G
~~~
## Contribute
To contribute to the project, you'll need:
- Visual Studio 2022 v17.0 or higher
- .NET Desktop Development
- Git
- .NET 6[Click here](https://github.com/Leo-Corporation/ColorPicker/blob/main/CONTRIBUTING.md) to see the full guidelines.
## License
This project is under the [MIT License](https://github.com/Leo-Corporation/Synethia/blob/main/LICENSE).