Thomas Christensen (@tomchris) header
Thomas Christensen (@tomchris) profile picture

Product @typefully. Prev product @veedstudio and @butter_hq (acq Miro) I like designing software and mostly tweet about that.

Copenhagen, Denmark
Joined March 2017
Excellent idea. All products with an API/MCP should give agents a /feedback endpoint. Just like instinct and grok bot send feedback to their own teams, they should be able to tell you when your product doesn't deliver
Interesting anecdote from Coinbase CEO @brian_armstrong that highlights what AI-native product development looks like: An engineer added a /feedback endpoint to the Coinbase MCP server, so agents using it can send feedback directly. They get 100s of messages which come into Slack daily and many of those get sent to agents and turned into pull requests and are live back in production a day later.
1
28
soooo cool
Made a skill for dimensional drawings of UI components. Inspired by Apple's accessory drawings, it documents a component's architecture into a spec sheet. github.com/enesozturk/dimens…
4
351
in my personal software, I only really care about quality and delight. So the project update is that this loading animation took a week of polish, scope creep is out of control, zero compromises made, velocity is down, and KPIs are perfectly on track.
3
1
15
821
I made Instinct my tennis agent and it's the best thing ever Tennis websites are notoriously bad and barely usable on the phone. So I gave it login access to my two clubs and the Danish tennis federation where tournaments are managed, plus a credit card and my calendar. So now it books courts, scouts tournaments, registers me, pays for them, and creates calendar events for all of it. All from iMessage! My favourite thing is that all tennis related emails are forwarded to it (thanks Jev). And these tournament emails are VERY long, because they cover every level, group, different price for juniors vs seniors etc. So Instinct reads them before I even notice, figures out what's relevant to me, researches the opponents, and creates calendar events for my matches with surface, location, and opponent prep. Then it sends me a briefing. No tennis websites. No tennis emails. What a time to be alive
6
530
Jev spotted in production
71
20
16
3,268
237,220
Pretty happy with this new onboarding step in Typefully.
15
1
1
148
8,608
the magic behind a simple setup prompt that works for any agent is OAuth btw
Quite happy with the design of this new auth screen. Most products treat it like an afterthought, but 30% of our customers use Typefully with an agent so we gave this some proper love
400
Finally gave up hand-coding my personal site, and migrated it from vue + firebase to astro + cloudflare. It was the first thing I coded when I was learning 10 years ago, so felt special to know every line. nostalgic, but there’s just too much stuff i want to build on it!
3
13
830
Feeling more optimistic about European tech than ever. Spent the week in building alongside the startups at ninethreequarters.com in copenhagen, and what a cocktail of talent and ambition
1
14
486
Been itching to give my agents some hardware, so just got this insanely cool kit from atech full of sensors, cameras, motors, screens and motherboards going full Jarvis mode
”An API for physical data” Atech.dev makes modular hardware you can vibecode. Just met up with @tomchris, always great speaking to new customers!
2
1
11
500
Frank is living in the future
With Opus 5.5 I have been building an army of personal software in my spare time. T3 Code + Opus 5.5 + $5/mo plan on Cloudflare (so I can use D1 and R2). Hooked up to my own domain. Each apps gets a different [subdomain].frankdilo.com. So far I have built: - web writer like iA Writer - meal planner app - layout planner for my apartment - learning app powered by OpenClaw to learn any topic and stop doomscrolling Each app has a feedback section where I can leave feedback as I use it. An agent loop looks at that feedback every hour and fixes things, so each session the apps get better. What makes this magical is that with the Cloudflare CLI I can go from idea to deployed, infinitely scalable app under my own domain in seconds. If you put all the apps under a monorepo, each app can also learn from the others.
1
412
My whoop app replacement is basically up and running as a calmer native iOS app.
11
1
29
1,636
I’m now working on sleep scoring and recovery modelling, because the whoop device just sends raw sensor data and they compute sleep and recovery in their cloud. This turned out to be the most interesting part of the project, because: 1. I’ve always been skeptical of sleep and recovery scores and wanted to understand how they actually work. 2. It seems feasible that I can tune them to my own body, not just the average person’s. For example: here’s my sleep from Saturday, staged by two models I trained on open sleep-lab data from PhysioNet. They agree on deep sleep early, and REM later, but not on REM minutes (58 vs 92) So there's some room for fine tuning. Still trying to figure out how :)
1
2
195
poll here, poll there, poll everywhere 🔥
Polls aren't just for X anymore 📊 You can now add polls to your LinkedIn, Threads, and Mastodon posts in Typefully. Write the poll once and the options carry over to all of them.
3
267
liquid glass is soooo nice
1
19
865
got mobile app and most things working already! the spike is from a tennis game :D
Got Claude talking to my whoop over bluetooth today. No whoop app, no subscription. It just pulls raw readings off the device. Crazy! New side project: a beautiful swift app that pulls the readings.
3
14
652
Got Claude talking to my whoop over bluetooth today. No whoop app, no subscription. It just pulls raw readings off the device. Crazy! New side project: a beautiful swift app that pulls the readings.
15
1
1
25
2,131
shoutout to @alexchristou_ for discovering this
1
175
ready to lock in for winter in copenhagen
9
74
2,298
Okay, Jev was the missing piece to automate my bookkeeping. Here's the setup: 1. Every 15 min, Jev reads new emails and asks: "is this a receipt or invoice?" if yes, they are forwarded to my agent's email. Shoutout to @linuz90 for the idea. 2. My Accountant @bot triages the agent inbox, queues receipts, and asks me if unsure. For invoices to pay, it creates a payment request in my bank to approve. For paper receipts, I send it a a photo. 3. My bank syncs every transaction to my e-conomic accounting system. 4. Then once a week, I "run the books" in Claude code. It opens e-conomic in the browser, uploads the receipts to each transaction, assigns VAT and account codes, and clears the queue of receipts. I could fully automate this last part but I'm still warming up to the idea of going full yolo mode and giving my agents 1password access
2
7
399