All posts

Translated from Spanish · See the original

4,464 tweets → 417 on my website

🌪️ 4,464 tweets → 417 on my website.

Now that only us nerds are at home

A couple of days ago I showed you the new section with my X posts. Today, the technical part: how it chooses which ones make the cut and how it works under the hood.

It all runs on its own every morning at 6:00 (UTC). A cron job on Vercel runs these steps:

📥 1. Collection

I download my tweets with Typefully. The first time, I got all of them going back to March 2023: 4,464 (3,820 posts and 644 thread parts). Now I only download the last 90 days each day, which is a long enough time window to catch old tweets that are getting new views, likes, etc. The window could probably be shorter, but this is how we’re starting.

Everything goes into a table in Supabase (my blog’s db).

🏆 2. Picking what’s worth keeping

We start by filtering with a few simple rules: at least 15 words, 5 likes, and in the top 25% for engagement that quarter. I compare by quarter because the account has grown a lot, and a 2023 tweet isn’t playing in the same league as my tweets now. We should be humble about our beginnings.

About 500 make it through.

🧠 3. Filtering and classifying with AI

This is where Jev comes in, the model that’s getting so popular.

For each tweet, I ask:
- Does it reveal my money? (salary, income, portfolio…)

- Does it talk about my partner or family?

- Does it need context that you don’t get outside X?

If the answer to any of those is yes, it’s out. 83 get cut, most of them (56) for talking about my money.
I remove these kinds of tweets for 2 reasons:

1. otherwise, all my best tweets would be the old monthly income ones.

2. I want to keep X as the more personal, closer side of things, and the blog as the more professional one.

After that, 417 remain.

Then we categorize the ones that make it through into these topics: investing, business, software and AI, personal finance, career, life, travel, and content. (A tweet can have several.)

And that’s how we end up with 417 tagged tweets. At a ridiculously low cost.

🌍 4. Translating and adding titles

Now we use GPT-6 Luna to do a few things:
- translate each tweet into English

- write a title and description (in both languages)

- write the alt text for the images.

I mainly want this so the English version of the blog stays on par with the Spanish one, and for SEO reasons (something I’m experimenting with, more on that another day).

📄 5. Publishing

Each tweet has its own page, with a URL based on its title, the Spanish and English versions linked to each other, and an OG image (custom-made based on the tweet’s content) in case you share the page.

I only give Google the ones with some content, meaning those with more than 100 words.

The result is 107 pages that go into the sitemap. You can still see the rest, but they aren’t indexed, because we don’t want to spam either.

🇬🇧 6. The English account

What I mentioned the other day is already connected: every new tweet gets saved as a draft in the @Jera_Value_en queue. For now, I approve each one before it goes out. Once I trust the translations, I’ll set it to autopilot so they get published automatically.

Quoted post ↗

Views: 842Likes: 9Replies: 3Reposts: 0View on X

Enjoyed this post?

Leave me your email and I'll let you know when I publish something new.

📊 I’m building a portfolio analysis tool from scratch! I’ve added lots of improvements and features. It’s getting easier to use, and it’s already replacing the other tools I used before.

Quoted post
Show the thread (1 more post)
  1. 2

    For the curious: This tool is still in development... BUT if you want to discover other really interesting investing tools, you can check out my other platform: Find My Moat. It’s already live, and tomorrow we’re doing the official launch on Product Hunt!

Views: 1.8KLikes: 18Replies: 6Reposts: 3View on X