Hopefully feature-complete Android Bluesky client written in Expo
atproto bluesky
TypeScript 99.0%
JavaScript 1.0%
79 1 0

Clone this repository

https://tangled.org/sharpmars.nekoweb.org/dusksky https://tangled.org/did:plc:irx36xprktslecsbopbwnh5w/dusksky
git@tangled.org:sharpmars.nekoweb.org/dusksky git@tangled.org:did:plc:irx36xprktslecsbopbwnh5w/dusksky

For self-hosted knots, clone URLs may differ based on your setup.

Download tar.gz
README.md

Dusksky#

Alternative Bluesky client for Android (and maybe, in the future, web too!) mostly based on Material 3 made in Expo.

The goal is to create a better and more fun client compared to the official one on Android, while also adding new features.

Some planned features include:

  • More profile customization options
  • Emojis (reactions and probably in-post ones too)
  • Audio posts
  • Mindfulness (scroll limits, locking the app when opening it right after closing it)
  • Backend selection (aka Appview)

Contributing#

For a few guidelines:

  • Before making an issue, check the existing ones
  • AI code contributions are not allowed (you are allowed to use AI to explain existing code or come up with a high-level approach, but all code needs to be made by hand)
  • Check if your code is working as intended and doesn't break any part of the app before pushing it
  • Before adding features or making big changes, make sure to discuss them in Issues (also specify information about any dependencies)
  • When translating, you should know the target language (tool assistance allowed)
  • Be respectful

These guidelines exist because I care about the quality of my projects. If you are unhappy with any of them you are free to fork according to the guidelines below.

Forking and custom builds#

If you are providing a fork or a custom build, make sure to clearly state that it's not the upstream project and change all links to point to your repository or website instead. Additionally you are required to follow all requirements provided by the License.

Development#

In order to work on this app, you're gonna need following things:

  • Bun
  • Android SDK
  • 🧠

To install JS dependencies run:

bun install

To run the bundler for development, run:

bunx expo start

You're also gonna need to make a native development build.

Create the Android project:

bunx expo prebuild -p android

Create the build and run it on the device:

bunx expo run:android --device --variant debugOptimized

You can learn more here.