This blog is now an archive. Find content from Hiro here and Stacks news and announcements here.

Radiks in action: Try Banter, a Blockstack app with real-time updates, social notifications, and more

To further demonstrate some of the capabilities of Radiks, a decentralized data indexer for Blockstack apps, we’re introducing Banter, a lightweight social network. Banter works like most social networks—real-time updates, daily digests, and frictionless ways to invite friends.

Features like these were pretty challenging to offer in Blockstack applications until Hank Stoever released Radiks a few weeks ago (along with the first example app, a blogging platform called LetterMesh). In addition to documentation, bug fixes, and helping developers get started, we wanted to demonstrate how Radiks can be used to build rich, social apps. Radiks is great at real-time collaboration and aggregating public data from many users—so the Blockstack core team built Banter to road-test these abilities.

Here are a few killer-features any app developer can integrate into their Blockstack app:

Real-time updates

Radiks has built in support for streaming real-time updates over a WebSocket. By using Radiks, we were able to build this feature into Banter in roughly an hour. As soon as a new message is saved, it’s streamed to your browser instantly. ‘Likes’ follow the same pattern, and show up without having to refresh the page. We even copied the Twitter feature of displaying your unread message count if your Banter tab is inactive.

Social notifications

On Banter, you can opt-in to receive notifications to your email whenever you’re mentioned. You can handle notifications in your app by using the emitter provided by RadiksController, part of
radiks-server. We also send you an email digest with the most-upvoted messages at different time intervals, depending on your preferences. We leverage the Blockstack identity network to allow you to @-mention any Blockstack ID and instantly invite them to Banter in seconds.

Invite users to Banter

Server-side rendering and performance enhancements

Because radiks-server provides a standard API to query and fetch data in your app, you can use frameworks like next.js to easily build server-side rendered apps that can use Radiks. We’ve utilized this so that the initial page load is as fast as possible and is pre-populated with the most recent messages. We also store user’s avatars behind a CDN, so that user’s profile images (which are stored on Gaia) load quickly and can be properly cached and resized on the fly.

Just getting started

We hope you enjoy messaging on Banter and building apps with Radiks!

We’re close to finishing support for adding image to your messages, and we’d like to explore other features the community might suggest. We’re also constantly upgrading Radiks and the Blockstack dev tool platform so you can ship amazing decentralized apps.

Have feedback, an idea, or question? Ping us on Banter: @hankstoever.id or @jeffdomke.id or open a ticket/contribute some code on Github.

Hank Stoever

Hank Stoever

Hank is an engineer at Blockstack, working on developer tools and consumer-facing products. He previously worked as an engineer for a variety of startups, including as lead developer for Startup Digest.