Pinned Tweet
This is a pinned post. There are many like it, but this one is mine.
I'm Mattias, 40, solo founder from Sweden. Writing code since 1999, started with C as a madman.
What i build:
๐ด Horsemate (horsemate.se), a stable management app for Swedish horse owners
๐บ Better IPTV, an open source TV player in Rust (5,000+ downloads)
๐ฆธ Githam City (githam.city), a pixel city where you can rent the hero's cape as ad space
๐ฎ Stupid prototypes at 3 am, like a looter shooter where your inventory is a 2048 board
What i write: Warhammer 40k fan fiction
What i share: the highs and the lows. Real numbers, real bugs, and how i build with Claude.
Goal: the mythical $5k MRR. Currently somewhat short of that ๐
#buildinpublic
Better-IPTV 3.2.0 is out, and the whole EPG is rebuilt from scratch. Parsing, downloads, channel matching, the guide itself.
Two days ago someone on GitHub said all their programme times were two hours off. So instead of patching it, I started over. Just in time for Europe switching to winter time on Sunday ๐
โข Every guide can be shifted in half hour steps, or follow your computer's local time, daylight saving included
โข Settings โ EPG shows when each guide last updated, how many programmes it has and why an update failed
โข Channels without a guide id now get matched by name, and you can fix a wrong match yourself
โข Missing or broken channel logos are filled in from the open iptv-org database
Updating a big guide now uses about 20x less memory. 43,000 programmes in about 0.35 seconds on my 9 year old 8gb machine.
Thanks to Neobond on GitHub for the report that started it all =)
github.com/mewset/better-iptโฆ
#buildinpublic
GM ๐
A package from Anthropic lands today ๐ So while i wait... what's the best thing you've ever gotten in the mail?
Grey, wet and raining here ๐ง๏ธ
โ
Morning walk, 1 km in the rain
โ
Coffee #1
โ
WARM shower instead of cold today haha
โณ Final tests of the new Better-IPTV with the rewritten EPG
โณ Job search as per usual :p
โณ Buying a new bookshelf ;D
#buildinpublic
We gave you Spotify.
We gave you Minecraft, Battlefield, Valheim and Goat Simulator.
We gave you Candy Crush. Sorry about that one ๐
We gave you Erlang, the thing WhatsApp was built on. And Lovable, so half of you vibe coders are shipping with a Swedish tool right now.
And Bluetooth. Built at Ericsson in Lund. The Danes keep trying to take credit for it just because it's named after their king haha
Oh and Linus Torvalds speaks Swedish as his first language, so Linux and git are basically ours too ๐คท
It's. All. Swedish. ๐ธ๐ช
Good night ๐
Answered a bunch of connect posts today, so here's mine. If you're building something, indie dev, founder, Rust, Linux, Claude Code... drop what you're working on and let's connect =)
Wednesday recap:
โ
Slept until 10 (!!)
โ
Rewrote the whole TV guide in my TV player, all because of one missing space
โ
Turned off 20+ MCP servers, plugins and connectors that were eating my RAM
๐ฆ A package from Anthropic arrives tomorrow ๐
366 โ 367 followers since yesterday's recap haha
#connect
Stole @buildwithrg's photo vs text check and ran it on my own account. A whole month this time, Sep 20 - Oct 20.
Photo posts: median 82 impressions across 57 posts.
Text posts: median 45 across 33.
All my GM posts have photos, so i took those out as well. Photos still landed at 74.
Not that surprising really. An image just catches the eye more than a plain text post does. One month of data leaves room for interpretation, but it's a pretty good hint of what works.
A small check on last weekโs scheduled posts, using the latest numbers I pulled:
Photo posts: median 444.5 impressions across 4 posts.
Text posts: median 250 across 11 posts.
Enough to make me curious. Nowhere near enough to declare that photos win.
The posts covered different subjects and had different amounts of time to collect views. I left out the Article, unmatched posts and replies, and the three image posts reported deleted.
This week the building posts get photos too. One thing to test, not a rule to live by.
Anthropic sent me something ๐
Waukegan, Illinois โ Sweden. Arrives tomorrow.
Back in September i found a hidden command on claude.dev... i have a pretty good guess what's in the box ๐ค
Perks of working on an 8gb machine =
Rust-analyzer EATS RAM for breakfast. Killed my session mid work, fun....
So a little sidestep mid work. Had Claude go through what was actually loaded in my sessions for this project. Over 20 MCP servers, plugins and connectors. Stripe, Vercel, Notion, Resend, PostHog, Higgsfield, an LSP for C and a bunch more haha. None of which Better-IPTV needs ๐
They're all turned off for this project now, which frees up quite a bit of memory for the Claude sessions.
#buildinpublic
One missing space and the whole TV guide was 2 hours off.
Someone on GitHub said all the programme times in Better-IPTV were two hours out and asked for a -2 offset. So I started digging in the code. If the XMLTV time had no space before the offset (20261020140000+0200), my parser just ignored the +0200 and read it as UTC.
Still waiting to hear if that was their bug. But the core of the EPG code has barely been touched since i added it in v2.0.0 almost a year ago, and a lot has happened in everything around it. So instead of patching and fixing, a proper rewrite felt like the right way to go. A 1,200 line .rs file is getting split into smaller domains, basically from scratch. And the time shift is coming too, in half hour steps.
No GM today btw, i slept until 10 (!!) Wet but not that cold out there for once.
#buildinpublic
Good night ๐
Tuesday in doodles.
โ
Followed up on the job lead
โ
5 km walk + fika with my grandma
โ
Horsemate data analyzed, now putting it all together
โณ Working on my Rust TV player right now
And my bookshelf fell over. The Horus Heresy survived (mostly) ๐
And the extension caught its first unfollow ๐
353 โ 366 followers since yesterday's recap (and 333/366 active in the last 24h!!)
Thank you all =) How was your Tuesday?
#buildinpublic
I'm so mad right now!
My bookshelf fell over while i was vacuuming... everything on the floor, shelves broken, it feels like i'm about to cry haha ๐ญ๐ญ
All my Horus Heresy (Warhammer 40,000) books! Some got bent, but most are still fine... i'm such an idiot
Remember the Chrome extension from yesterday? It just caught its first unfollow ๐
To whoever you are... actually, i know exactly who you are. That's the whole point of the extension.
I will look for you. I will find you.
And i will... probably just shrug it off ๐คท
#buildinpublic
GM ๐!
Cold and wet mornings are back in Sweden ๐
โ
2 km walk in 4ยฐC
โ
Coffee #1
โณ Following up on a job lead i got over the weekend :o
โณ Getting some work done on my Rust TV player
โณ Analyze some Horsemate data (retention etc.)
What's on your list today?
#buildinpublic
Good evening ๐
Monday in doodles. A 5 km walk turned into 12 km in the woods, a window cleaner on a ladder gave me pulse 140, and 324 became 353 followers(!)
And today, i got the big monitor out to fit everything xD
Thank you all =) How was your Monday?
#buildinpublic
Remember the "special project ๐" from this morning's GM?
First peek. A small Chrome extension for X that keeps track of who follows you for a follow back... and then quietly unfollows.
Follow-for-follow-then-unfollow-ism, as i have begun to call it =)
The follower tracker works. More to come ๐
#buildinpublic
Half lying on the couch, South Park (South America nowadays haha) on the TV, steering Claude in one workspace and X in the other.
Suddenly something hits with a massive THUD. First thought someone crashed outside. But no, someone had put a ladder up against my kitchen window and was standing there washing it.
She looked at me like she'd seen a ghost, and i looked at her the exact same way.
Had to go out and say hi. Turns out the landlord ordered window cleaning but wasn't very specific about which windows so she just took all of them. Including mine ;D
My pulse is still at 140 ๐
GM ๐!
What are we building, shipping, debating or thinking about today?
โ
Morning walk
โ
Coffee #1
โ
Cold shower
โณ Searching the job market (as per usual)
โณ Keep building on my new special project ๐
โณ Coffee #2 (can't forget that)
โณ 5 km walk
#buildinpublic
Good night ๐
Drew a little recap of my weekend.
250 โ 300 followers on Saturday, Better-IPTV 3.1.2 on Sunday, and both DHH and Prime liked my replies ๐
Thanks to everyone who said hi and connected =)
Now make sure to get a good night's sleep! Next week will be what you make of it, so make it good! โญ๏ธ
#buildinpublic
๐ Story-time
2005. My friends had been nagging me to switch to Linux. I caved in and installed the "noob-friendly" Ubuntu distro.
My wifi wasn't working as expected, so i asked them on IRC.
Someone told me to run rm -rf *
I read it as:
rm = remove
-rf = radio frequency
* = all
Clear all the radio channels on the wifi card. Made perfect sense.
Ran it from /.
Best part: the IRC client didn't die right away. So i could keep typing while they explained exactly how stupid i was ๐
Reinstalled Ubuntu. Gave up anyway.
Twenty years later i'm a big Arch and Omarchy fan, and rm still scares me.
๐ค Made with AI
Better-IPTV 3.1.2 is out.๐
Third speed release in a row, this time the startup. The "Loading playlistโฆ" spinner is gone.
Three database migrations meant to run once had been running on every single start. I'd been blaming btrfs. It wasn't btrfs.
3.0.0 โ 3.1.2 on my 8 GB laptop, 26k channels:
- Window visible: 707 โ 354 ms
- Home on screen: 2,050 โ 1,189 ms
- 81 MB less RAM
The whole story: githero.dev/blog/better-iptvโฆ
Release: github.com/mewset/better-iptโฆ
#buildinpublic





















