{"repo":"ouchadam/small-talk","free":true,"listed":false,"github":"https://github.com/ouchadam/small-talk","clone":"git clone https://github.com/ouchadam/small-talk.git","description":"Minimal Android messenger powered by Matrix","language":"Kotlin","stars":139,"topics":["matrix","android","messenger","e2e"],"license":"Apache-2.0","category":"mobile-apps","readme_excerpt":"SmallTalk SmallTalk is a minimal, modern, friends and family focused Android messenger. Heavily inspired by Whatsapp and Signal, powered by Matrix. Project mantra - Tiny app size - currently 1.80mb when provided via app bundle. - Focused on reliability and stability. - Bare-bones feature set. --- Feature list - Login with Matrix ID/Password - Combined Room and DM interface - End to end encryption - Message bubbles, supporting text, replies and edits - Push notifications (DMs always notify, Rooms notify once) - Importing of E2E room keys from Element clients - UnifiedPush - FOSS variant - Minimal HTML formatting - Invitations - Image attachments Planned - Device verification (technically supported but has no UI) - Room history - Cross signing - Google drive backups - Changing user name/avatar - Room settings and information - Exporting E2E room keys - Local search - Registration --- Technical details - Built on Jetpack compose and kotlin multiplatform libraries ktor and sqldelight (although the project is not currently setup to be multiplatform until needed). - Greenfield matrix SDK implementation, focus on separation, testability and parallelisation. - Heavily optimised build script, clean cacheless builds are sub 10 seconds with a warmed up gradle daemon. - Avoids code generation where possible in favour of build speed, this mainly means manual DI. - A pure kotlin test harness to allow for critical flow assertions Smoke Tests, currently Linux x86-64 only. --- Building Debug ","default_branch":null,"files":null,"tree":[],"storefront":"/r/ouchadam","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ouchadam/small-talk/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}