TL;DR: If you don't feel like reading all of this and just want to try out the app. Scroll to the end.
A couple of weeks ago I decided to try out Threads. Which in case you've been living under a rock, is Meta's attempt at making a competitor for Twitter/X.
And so far I am having a great time over there. The vibe seems to be much friendlier than on Twitter/X and there are actually interesting discussions going on.
However, when I joined there seemed to be missing a very important function and this function is; Analytics.
It was very hard to see how well my posts were doing. You could click on individual posts and see how many views they got. But that's about it.
Therefore I decided to make my own tool utilizing their API. I do have to mention here, that in recent days Threads has announced its own Analytics, or as they call it; insights. But this is at the moment not yet available for everyone. And since I was already quite far into building my tool, I still wanted to share it.
The stack
For this project, I chose a stack I am very comfortable with.
As my back-end/API, I am using ExpressJS with Typeorm and Zod on Node.
And for the front end, I use Vue with Pinia bundled with Vite.
Features
I've implemented a few features for now, but not everything I want to make eventually. It was important to me to get a test version out for people to use and provide me with some early feedback.
Basic insights
This was the first feature I implemented. It shows your username with followers. And below that, you'll find 5 important stats over your overall Threads account. Compared to the previous 7 days. It's nice to see how you're doing compared to past periods.
One thing I will still add to this is the option to select your own period instead of having it fixed to 7 days.
Activity Tracker
Inspired by GitHub's activity graph, I've implemented my own. This currently only counts your posts, not replies. This is because Threads seem to treat these as different things and you need to call 2 different endpoints to get this information.
I added a little disclaimer that it can be slow to load. Because this graph has to load in all your posts of last year. On my shortlist, I have written that I will improve this by saving into a DB the post counts into a DB. Usually, post counts don't change anymore for days in the past. This way I only have to check occasionally if something has changed, and this can be done asynchronous from user interaction
Demographics
Another useful feature is the ability to see who follows you. Other info that I'll add at a later date are the top 10 countries and top 10 cities.
Threads list
Last, but not least. A list of your own Threads sorted by most recent first. Where each post shows immediately how many views it has and the other common stats.
Dark mode
Initially, I made this application exclusively in light mode. But I kept being annoyed at it every time I was working on it during evenings. Switching from my dark editor to the light screen was frustrating. So I quickly added dark mode.
Luckily this was quite simple as my components are few and quite simple.
How to use it.
Right now, I will still need to manually add you to the list of testers. You need a Threads account for this. Drop your username in the comments, or ping me on Threads
After that, you'll need to accept the invite in your Threads App:
Settings > Account > Website Permissions > Invitations
After that, you can head towards https://nexus.mrlinxed.com/ and start using it!
I am aware it's a bit annoying however, Threads recommends having your app feature complete before submitting it and having it approved, as it might disapprove incomplete apps.
If you are willing to help me test it and provide feedback; thank you so much. I appreciate it a lot.
That's it for now, have a lovely day!
PixiJS Setup with Vite and TypeScript
Mr. Linxed γ» Apr 20
Accomplish more with the "Cult of Done"
Mr. Linxed γ» Feb 18
Don't forget to sign up for my newsletter to be the first to know about updates for Nexus and other future projects.
Top comments (0)