FeaturesTemplatesShowcaseTownie
AI
BlogDocsPricing
Log inSign up
bschlagel
bschlagelbluesky-thinkup-tribute
Remix of tmcw/bluesky-thinkup-tribute
Public
Like
bluesky-thinkup-tribute
Home
Code
4
README.md
foo.json
index.html
C
watcher.tsx
Branches
1
Pull requests
Remixes
History
Environment variables
2
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in miliseconds.
Sign up now
Code
/
Code
/
Search
README.md

Bluesky ThinkUp Tribute: get updates on when the people you follow update their Bluesky profiles

It's a tool that sends a daily email that shows everyone who you follow on Bluesky who has updated their profile in the last day. You can Remix it on Val Town (this website), tweak a few environnment variables, and it'll be yours! Here's what an email looks like with a person's description update:

CleanShot 2025-05-16 at 14.12.46@2x.png

Setup

  1. Click Remix
  2. Create an app password for Bluesky. On Bluesky, go to Settings, App passwords, then Add app password, and copy the generated password.
  3. Back on Val Town, click on Environment variables on the left. Next to BLUESKY_APP_PASSWORD, click the pencil to edit it and paste in the app password.
  4. Next to BLUESKY_IDENTIFIER, click the pencil and write your Bluesky identifier. That might be yourname.bsky.social or if you have a custom handle, yourcustomdomain.com
  5. You should be good to go, and you'll get an email once a day! You can tweak how often this searches and sends by going to watcher.tsx on the left side, clicking Cron and tweaking the expression there. You can use this website to generate that cron string if you don't know the syntax.
  6. Click Run to test the val for the first time. The first time this runs, it won't send an email because it will be seeing profiles for the first time and not seeing changes.

Story

I was an avid user of ThinkUp, a tool that connected to Twitter and sent me a daily email with profile updates from all the people I followed. I found it useful in work and for fun. Maybe one of my friends switched jobs or changed their username to something goofy or political. I want to know! In the distant past Facebook would include profile updates in the newsfeed: why not that for Twitter? ThinkUp did some other cool stuff, like providing full archives of Tweets in a more convenient format than Twitter did themselves.

But Twitter is bad now and ThinkUp shut down in 2016 because the APIs that they were relying on from Twitter, Facebook, and Instagram were all locked down and limited. How disappointing.

But there's a new social network in town, Bluesky, and it's impossible somewhat more difficult to corrupt and enshittify than those networks were, and it comes with a pretty good, if sometimes weird API that gives you access to everything you need.

Could you build some of ThinkUp on Bluesky? Yes. This is it.

Implementation

It's just the watcher.tsx file. This val could be multi-tenant if it worked with Bluesky’s OAuth protocol, but getting that to work has been pretty hard, and even if I did that would mean you would have to trust me with your data, and I don't want that. So it's a val that you can Remix and run for yourself, and keep your own environment variables nice and safe.

So it works like this:

  • This authenticates against Bluesky and calls .getFollows() to list the people you follow
  • It stores fields from that list in SQLite, and for any follow that has already been added, compares the new and old values
  • Then it emails you any differences that exist
Cron
  • watcher.tsx
Code
README.mdfoo.jsonindex.html
C
watcher.tsx
Go to top
X (Twitter)
Discord community
GitHub discussions
YouTube channel
Bluesky
Product
FeaturesPricing
Developers
DocsStatusAPI ExamplesNPM Package Examples
Explore
ShowcaseTemplatesNewest ValsTrending ValsNewsletter
Company
AboutBlogCareersBrandhi@val.town
Terms of usePrivacy policyAbuse contact
© 2025 Val Town, Inc.