/crescent

DM-focused mobile app for Upryzing, built with Kotlin and Jetpack Compose

Primary LanguageKotlinGNU General Public License v3.0GPL-3.0

this project has been discontinued please refer to this post on mastodon

Crescent Logo

Crescent

GitHub Repo stars GitHub forks Made with Kotlin

What is Crescent?

Crescent is a FOSS client for the Revolt protocol, that aims to provide a streamlined chatting experience for both new and returning users by taking heavy inspiration from other chatting applications such as Signal, WhatsApp and Telegram.

Goals

The main goal of this project is to simplify chatting on Revolt, by omitting Server support and focusing on direct messages and group chats, whilst also being snappy and lightweight.

Other goals include:

  • Closely following Material design principles
  • Supporting other Revolt instances
  • Learn Kotlin, Jetpack and Android libraries and concepts

Why Crescent?

Crescent started as a port of the small hobby project called RevoltMini. As the name suggests, the client aimed to be a small and lightweight web app for revolt, as low-end devices can struggle loading the official web client, but ended up being discontinued after the codebase became a huge, unmaintainable mess.

After ending development, I wanted to give android app development a try. And what a better way to learn native development than to make a chat client using websockets. Hence, Crescent.

Logo and Name

Name meaning

The name "Crescent" was chosen after a poll was held in Mastodon, with "Croissant" being another possible option. The logo also looks like a moon crescent.

Logo Meaning

As @lo2dev pointed out in a reply to a development screenshot showcasing the logo in-launcher:

I was thinking it represents a moon and it's parent planet, with the moon being your client, and the planet (being) revolt as a whole. Your client is the moon because it's small in scope.

Context (Requires having a revolt.chat account and joining the Catgirl Dungeon server)

Star History

Star History Chart

License

This project is licensed under the GPLv3 License. See LICENCE.md for more information.