Graysky is a Bluesky client written in React Native.
Get it here: https://graysky.app/download
You'll need pnpm, and some sort of simulator or device to run the app on.
pnpm install
cp .env.example .env
EAS setup (optional) Set EAS_PROJECT_ID, APP_ID, and OWNER in .env
In the /apps/expo
directory, build the dev client using EAS:
pnpm build:dev-client:ios-simulator
// or
pnpm build:dev-client:android
You can then start the expo server with:
pnpm dev
brew install --cask zulu17
) and then set JAVA_HOME
to the path of the JDK, which will probably be /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home
google-services.json.example
to google-services.json
, or add your own Firebase config~/.gradle/gradle.properties
:org.gradle.jvmargs=-Xmx20g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 -XX:+UseParallelGC -XX:MaxMetaspaceSize=2g
org.gradle.parallel=true
org.gradle.configureondemand=true
org.gradle.daemon=false
org.gradle.caching=true
You can now either run pnpm build:android
to build and submit the app, or if you want to sign a build manually you can do the following:
eas build --platform android --profile production-apk --non-interactive --local --output="./foo.apk" --wait
/Users/alice/Library/Android/sdk/build-tools/33.0.0/apksigner sign -ks sideload.jks foo.apk
In the /apps/expo
directory:
pnpm build:ios
Thank you to @thepriceisright for sponsoring my work on this project!
Graysky is primarily developed by @mozzius.dev. If you'd like to show your support for the project, you can sponsor me.
However, I'm not the only one who's contributed to this project. I'd like to especially thank @alice.bsky.sh for her work on adding dark mode, and getting Android builds working, and thank @holden.bsky.social for their invaluable accessibility improvements.
My eternal thanks to the following people for their contributions to Graysky: