gridded.blue is a basic, online client for Bluesky that shows users' images and videos in a grid—similarly to social media platforms like Pixelfed and Instagram. Since gridded.blue is a web app, it should work on any platform with a web browser and internet access! gridded.blue is built with Astro.
In addition to viewing public profiles, you can view profiles that require login by authenticating with a Bluesky account.
A public instance of gridded.blue is available online.
This project uses pnpm and is built for hosting on Netlify.
pnpm installSome setup is necessary before hosting a gridded.blue server. Namely, the following environment variables must be set (manually or using a .env file):
DEV="true" # true or false depending on whether you're hosting for development
SITE="https://example.site.com" # the server's public base URL, via which Bluesky will communicate for OAuth
JWKS='[{ "jwk": { ... } }, ...]' # JWK keys for atproto OAuthFor development, you can get a public endpoint through free services like zrok.
zrok share public 8888Autogenerating JWKs for atproto's OAuth is still subject to experimentation for gridded.blue; temporarily uncomment the large, commented blocks in src/utilities/client.ts to generate a .jwks.json that can be copied into the JWKS environment variable.
Finally, run a development server.
pnpm devFeel free to ask questions here or at person@dandelion.computer. I'll do my best to collaborate with those who'd like to!
GNU General Public License v3.0 or later. See license in LICENSE.md.
