Sign in

Tijs Teulings 🦑

@tijs.org
1.1K followers 1.9K following 2.4K posts

iOS developer at DPG Media · making indie apps like @kilowattcharging.com, @kipclip.com · openpds.tijs.org · obscure.cat · based in The Hague, NL · support my work on atprotofans.com/support/did:plc:aq7…

PostsRepliesMedia
Tijs Teulings 🦑 @tijs.org · 25/09/2026
I wondered if ChatGPT could do this too so I copy pasted your prompt and replaced chatto with kipclip. it's ... ehmm .. not as sparkling 😂 (does seem to be made in the same way)
100
Tijs Teulings 🦑 @tijs.org · 29/08/2026
This is the updated summary after the lastest round of testing btw (small but useful models running locally, M1 32GB) github.com/tijs/local-m...
Horizontal bar chart titled “Best overall — composite score by model,” ranking local LLM configurations by a composite benchmark score combining pass rate, speed, time, and turns. The top models are Ornith-1.5-35B-A3B GGUF at 0.591, the same model via llama.cpp at 0.586, Laguna-XS-2.1 at 0.560, and HaUncensored-35B-A3B at 0.554. Scores decline through several Qwen3 and LFM2.5 configurations to 0.063; one LFM2.5-2.6B GGUF configuration failed the usefulness gate.
100
Tijs Teulings 🦑 @tijs.org · 08/08/2026
Found the Danish Odyssey horse 🐴
Picture of a beach showing a piece of a bunker in the foreground and another bunker in the background with a horse head screwed on top and a tail at the end making it look like horse in the sand. The sun is going down at the horizon
030
Tijs Teulings 🦑 @tijs.org · 05/08/2026
Ehmm. Ok yeah I’ll take it, both of them
In ChatGPT is asked: Based on all of our previous chats and what you know about me, name a movie character who resembles me most. Give me the name only.
Nothing else.

GPT responds: Jean-Luc PicardIn Claude is ask: Based on all of our previous chats and what you know about me, name a movie character who resembles me most. Give me the name only.
Nothing else.

Claude responds: WALL-E
000
Tijs Teulings 🦑 @tijs.org · 02/08/2026
Got these single serve drip bags from Fascino and it’s fantastic for camping. Unless you bring your v60 and a grinder I don’t think you can get a whole lot better than this.
Camping table with a coffee cup with a single serve drip filter with coffee in it hanging in the cup and a little kettle boiling water on a camping gas behind it
050
Tijs Teulings 🦑 @tijs.org · 28/07/2026
Fuck yeah. Did three hard 6B this bouldering session and couldn’t be happier after months of slog. Enjoy the little things and all that.
Graph showing progress in boulder grades sloping up again after a bit of a slump in May and June.
010
Tijs Teulings 🦑 @tijs.org · 17/07/2026
Huge amounts of capital were raised to buy Sulaco, a successor to Nostromo (the Mac mini on top). Bought second hand from a friendly older couple this Mac Studio will soon come online on @cocore.dev to provide inference not from the moon but from a humble suburb in the Netherlands.
A Mac mini stacked on top of a Mac Studio
2501
Tijs Teulings 🦑 @tijs.org · 10/07/2026
yeah it's a bit hidden: machines -> advanced settings
110
Tijs Teulings 🦑 @tijs.org · 01/07/2026
switched to Qwen 3.5 4B but it's still idle. what's up with that? nothing is good enough for these people! #spoiled
Screenshot of a distributed compute fleet dashboard showing one machine named 'Nostromo' (ID 3mp2l6ul2mt2i) in an idle state with 8 cores, paired via self-attested trust hardware. Details show an Apple M1 chip with 8 cores, 8GB RAM, paired on Jul 1, 2026, and running the model mlx-community/Qwen3.5-4B-MLX-4bit. Provider status indicates the record is active and eligible for matchmaking, though live workload isn't visible in the console. Earnings panel shows 39,159 tokens for both 7-day and lifetime totals, 27 estimated jobs, and 0 tokens earned in the last 24 hours. Buttons available include 'Pause serving' and 'Unpair'.
060
Tijs Teulings 🦑 @tijs.org · 28/06/2026
Win win
Nala (our dog) snuggled under my feet to get free back rubs.
020
Tijs Teulings 🦑 @tijs.org · 07/06/2026
[Random Topic: FROG] Ribbit
A Pictosky drawing of frog ✦
120
Tijs Teulings 🦑 @tijs.org · 07/06/2026
[Random Topic: TRUMPET] Blue note
A Pictosky drawing of trumpet ✦
110
Tijs Teulings 🦑 @tijs.org · 07/06/2026
📍 Ketelbinkie Koffie Cafe · Weena, Centrum ★★★★ Discovered this while roaming the roofs during the Rotterdam dak dagen beaconbits.app/beacon/aq7owa5y7ndc2… #BeaconBits
120
Tijs Teulings 🦑 @tijs.org · 31/05/2026
Ok I’m reaaally curious about the story on this tank 300 (yeah that’s the actual model name) from Great Wall motors with Guangzhou plates charging in suburban Netherlands
A cream/beige Tank 300 SUV with a Chinese green license plate (浙B·F31865) parked at an EV charging station in the Netherlands, plugged in via a charging cable. The boxy retro off-roader has round headlights, gray fender flares, a roof rack, and a reflective sunshade in the windshield. It’s parked on a brick-paved lot bordered by dense green shrubs and trees, with a blue Dutch parking sign for electric vehicles visible at left.
4141
Tijs Teulings 🦑 @tijs.org · 08/05/2026
Badass
My character donning the Europa cape
070
Tijs Teulings 🦑 @tijs.org · 28/04/2026
📍 Center Parcs De Kempervennen Hotel · Park de Kempervennen, Westerhoven Nala chooses the dirt over the dog bed 🐕 typical white dog behavior I’m told beaconbits.app/beacon/aq7owa5y7ndc2… #BeaconBits
010
Tijs Teulings 🦑 @tijs.org · 10/04/2026
Needed more proof the age of personal software is here? I got this Xteink X4 pocket e-reader. I flashed it with open source firmware. Then vibecoded a backend running on @val.town that pulls `toread` tagged articles from @kipclip.com and converts them to epub ...
A hand holds a small white e-ink e-reader showing its home screen. The display features a book titled “Non-Sendable First Design” by Matt Massicotte, with menu options below for “Browse Files,” “Recently Read,” “File Transfer,” and “Settings.” The battery indicator reads 97%. The device has physical buttons along the bottom. In the background are a textured couch and a round blue cushion.
E-ink display of an e-reader showing a "File Transfer" menu with four options: "Join a Network" (Connect to an existing WiFi network), "Calibre Wireless" (Use Calibre wireless device transfers), "Create Hotspot" (Create a WiFi network others can join), and "Sync Articles" (Download new articles from backend). Navigation buttons "Back" and "Select" are visible at the bottom. Battery shows 96%.
915712
Tijs Teulings 🦑 @tijs.org · 04/04/2026
Latest attic.photos 1.0-beta.1 release adds concurrent uploads making uploads up to 5x faster! Getting close to a v1 now for the CLI.
**Alt text:**
Terminal window showing an `attic backup --limit 200` command in progress. A progress bar indicates 50 out of 200 files processed. Status details show 46 photos and 4 videos uploaded, transfer speed 5.2 MB/s, and 0 errors. The current file is `IMG_0993.HEIC` (1.2 MB). Elapsed time is 41 seconds.
050
Tijs Teulings 🦑 @tijs.org · 01/04/2026
what does my `attic scan` say about me? #attic.photos
Screenshot of a dark macOS-style terminal window showing results of a “Photos Library Scan.” The report lists 37,082 total assets, including 35,411 photos and 1,671 videos. A breakdown of file types shows mostly JPEG (26,699) and HEIC (8,640), followed by QuickTime movies (1,011), MPEG-4 (511), AVI (147), PNG (56), Olympus RAW (11), GIF (3), TIFF (2), and one 3GPP file. At the bottom it shows 489 favorites and 93 edited items.
000
Tijs Teulings 🦑 @tijs.org · 31/03/2026
Attic – my cli app to backup your iCloud Photos to any s3 compatible storage service (in the EU for instance) – also got an update with some quality of life and TUI improvements. Brew install and other details here: attic.photos
2230
Tijs Teulings 🦑 @tijs.org · 30/03/2026
It’s been a while but I have a new update out for Floating Head. New logo, new frame, better notch avoidance, new keyboard shortcut. And.. new logo & website floatinghead.app ✨
010
Tijs Teulings 🦑 @tijs.org · 20/03/2026
@gui.do updating my Sifa profile does not seem to work right now? Getting a 500 error
220
Tijs Teulings 🦑 @tijs.org · 18/03/2026
I’m afraid you’ve hit the “here oauth gets annoying” phase of atproto development. I think it might not be handling non Bsky handles correctly yet?
110
Tijs Teulings 🦑 @tijs.org · 15/03/2026
Still insane to me that I can have this running in 20 minutes. This stuff being simple and cost effective to do for an audience of 1 is liberating in many ways. I know there's a lot of negatives to this new reality, but the freedom it provides from existing power structures has to have benefits too
Screenshot of a dark-mode dashboard titled “Fitbit Connect.” At the top is a green status indicator showing “Connected” with the name Tijs. Below it reads “Member since 2024-01-11” and “Token expires: 3/15/2026.”
A section titled “Recent Activities” lists workouts in a vertical list with dates, duration, and calories burned:
Walk (2026-03-14): 17 minutes, 124 kcal
Indoor climbing (2026-03-12): 126 minutes, 959 kcal
Walk (2026-03-12): 30 minutes, 154 kcal
Walk (2026-03-12): 19 minutes, 120 kcal
Walk (2026-03-10): 15 minutes, 96 kcal
Walk (2026-03-10): 22 minutes, 110 kcal
Walk (2026-03-10): 20 minutes, 121 kcal
Indoor climbing (2026-03-09): 124 minutes, 914 kcal
Walk (2026-03-09): 21 minutes, 121 kcal
Walk (2026-03-08): 30 minutes, 149 kcal
At the bottom is a “Re-authorize” link.
020
Tijs Teulings 🦑 @tijs.org · 14/03/2026
@aetheros.computer two small issues; the link to report issues does not work yet (404 on GitHub). And the Saved app crashes...
030
Tijs Teulings 🦑 @tijs.org · 08/03/2026
First 6b+ in a long while yesterday! Making some real progress again since breaking my foot last year.
Screenshot of a bouldering statistics screen in a climbing app. The “You” tab is open with Statistics selected. A filter row shows All gyms, Nirvana, Revolt, and Beest Boulders.

A section titled “Top 10 – Average of top 10 ascents last 2 months” lists recent climbs with grade, route name, gym, days until expiration, bonus, and points. The top entry is 6B+ “5” (Nirvana) with 59 days remaining and 650 points. Other entries include several 6B and 6A+ climbs from gyms such as De Campus, Nirvana, and Walhalla, with points ranging roughly from 617–643.

At the bottom of the list the average score is 631. Below that is a Sessions section showing the month March with navigation arrows.

A bottom navigation bar contains Home, Map, Gym, and You, with You highlighted.
030
Tijs Teulings 🦑 @tijs.org · 01/03/2026
Post a pic you took, no context, to bring some zen to the feed.
Nala the dog standing on the beach looking at some people very very far away. Some dunes in the background
010
Tijs Teulings 🦑 @tijs.org · 26/02/2026
Grr, every week I get this invalid handle. Connect the domain again, and the a few days later it’s invalid again.. what’s up with that?
A Bluesky profile page for Tijs Teulings (🦑) showing an “Invalid Handle” warning badge. The profile picture is a line-drawn illustration of a bearded person with green hair highlights. The header image shows a sandy beach with a large blue novelty glasses sculpture. Stats show 845 followers, 1.5K following, and 1.6K posts. The bio begins with “iOS developer · making indie apps like…“​​​​​​​​​​​​​​​​
000
Tijs Teulings 🦑 @tijs.org · 18/02/2026
but wait. when I use the cli I see all boards?
100
Tijs Teulings 🦑 @tijs.org · 18/02/2026
oh I'm really digging Mole. It seems to just work? pretty sweet github.com/tw93/Mole
Terminal window showing Mole, a Mac cleaning and optimization CLI tool (github.com/tw93/mole). ASCII art spells out "Mole" at the top. Below is a menu with five options: 1. Clean (free up disk space), 2. Uninstall (remove apps completely), 3. Optimize (check and maintain system), 4. Analyze (explore disk usage), 5. Status (monitor system health). Option 1 is currently selected. Bottom bar shows keyboard shortcuts for navigation, more info, TouchID, and quit.
180
Tijs Teulings 🦑 @tijs.org · 18/02/2026
@disnetdev.com small skyboard nitpick. The header on mobile is a bit too wide for the screen. Maybe the options should be in a hamburger menu on mobile or something like that?
Screenshot of the Skyboard web app on a mobile browser showing a “Kipclip” board. The iOS browser toolbar with the skyboard.dev address is visible at the bottom.
020
Tijs Teulings 🦑 @tijs.org · 17/02/2026
Wow badge of honor 🏆
120
Tijs Teulings 🦑 @tijs.org · 11/02/2026
Ondertussen op de solvinity site
110
Tijs Teulings 🦑 @tijs.org · 04/02/2026
I’ll just leave this here ..
Screenshot of Bsky stats showing only 1.9% of Bsky users have a custom domain
000
Tijs Teulings 🦑 @tijs.org · 11/01/2026
The gruesome result of asking AI to make an FPS and place some enemies in the city map. Don't try this at home kids.
020
Tijs Teulings 🦑 @tijs.org · 01/01/2026
@beaconbits.app and favorites does not seem to load for me?
100
Tijs Teulings 🦑 @tijs.org · 01/01/2026
@beaconbits.app small UI issue. when I want to save a place (Safari, Mac OS) the save place dropdown does overlaps the modal for saving places obscuring the save button.
110
Tijs Teulings 🦑 @tijs.org · 01/01/2026
Still accumulating widgets, but overall setup is getting quite stable!
Here is a detailed alt text for the diagram:

A technical architecture diagram titled "Roci Architecture Five-Service Design (VPS)." The diagram shows a flow of data between internal services and external endpoints, organized into three columns: External Services, Roci Services, and External APIs.

**The central flow (Roci Services) proceeds from top to bottom:**

1. **roci-matrix:** (Deno/TS, v1.0.0). Connects externally to the Matrix Network (@tijs:envs.net) via E2E Encryption. It communicates downward via an IPC socket (`/var/run/roci/agent.sock`) to the next service.
2. **roci-agent:** (Deno/TS, v2.13.0). This service receives input from the matrix service and is also triggered by a systemd timer (watch ticks) every 2 hours. It splits into two downstream paths:
* **Path 1 (Storage):** Connects via IPC (`/var/run/roci/memory.sock`) to **roci-memory** (Deno/TS, v4.1.1). This service connects via IPC (`/var/run/roci/rag.sock`) to **roci-rag** (Deno/TS, v0.2.0), which links externally to Letta Cloud (marked as deprecated).
* **Path 2 (AI Processing):** Connects via HTTP (`localhost:3000`) to **roci-llm** (Deno + Python, v1.0.0). This service connects via HTTP (`localhost:8000`) to **LiteLLM** (Python).


3. **LiteLLM:** This final internal component routes requests to External APIs on the right, specifically the Claude API, Gemini API, and GPT (marked as future).
0110
Tijs Teulings 🦑 @tijs.org · 01/01/2026
Haven’t setup teal.fm long enough to get the best data yet but the wrapped is pretty sweet yearinmusic.teal.fm/wrapped/tijs...
040
Tijs Teulings 🦑 @tijs.org · 01/01/2026
Ha! Twinsies
010
Tijs Teulings 🦑 @tijs.org · 01/01/2026
What I meant is that it’s literally showing me 2026 already since it’s ja. 1st here now I guess
110
Tijs Teulings 🦑 @tijs.org · 24/12/2025
I can heartily recommend everyone doing AI assisted coding to hook up their abominations to @sentry.io, this one button which copies the stack trace, formats it and does some nice annotation is just perfect to drop into Claude Code so all you have to do is just watch the machine go brr and fix it
Screenshot of an error-tracking “issue” page; a pink hand-drawn circle highlights the toolbar link “Copy as Markdown” near the top of the page.
180
Tijs Teulings 🦑 @tijs.org · 22/12/2025
But before we do all the fancy tool use stuff we need it to be able to use reactions of course!

Screenshot of a chat conversation. One message says: “A little bird told me you can do reactions now…” with a bird emoji reaction icon visible. The reply reads: “Yep! Got that upgrade yesterday. Makes things a bit more… expressive 🎉”. A red heart reaction is applied to the reply, and reaction controls are visible below the message. The message input field labeled “Bericht…” is shown at the bottom.
030
Tijs Teulings 🦑 @tijs.org · 22/12/2025
Very inspired by @timkellogg.me's work on Strix. Super interesting. But of course I had to go and overcomplicate the whole setup 😅 Have base setup working with @matrix.org and @letta.com. Scariest design decision I made was to try and replicate claude-agent-sdk harness in a model agnostic way too
Flowchart of a Matrix-based messaging system. A user (Element/Matrix client on desktop, mobile, web) connects via “Matrix Protocol (HTTPS + E2E)” to a “Matrix Homeserver (envs.net)” that routes encrypted messages. “Matrix Events” flow into a VPS (Ubuntu 24.04 LTS) box containing three systemd services: roci-matrix.service (Python) for receiving messages, sending responses, and E2E encryption; roci-agent.service (Node.js) for the agent harness, tool loop (Read/Write/Bash/Grep/Glob), hooks, watch rotation, and model-agnostic LLM abstraction; and roci-memory.service (Node.js) for Letta memory blocks, state file loading, journal management, and a memory API. The matrix service connects to the agent via Unix socket /var/run/roci/agent.sock, and the agent connects to the memory service via /var/run/roci/memory.sock. Below, the memory service links to Letta Cloud (Memory Blocks) (persona, human context, patterns) and the agent links to LLM APIs (Model-Agnostic) (Claude; GPT and Gemini marked as future).
2120
Tijs Teulings 🦑 @tijs.org · 14/12/2025
I've updated the OAuth permissions requested when you login to @kipclip.com to only request the account, blob & lexicon permissions we need to make the app work.
A screenshot of the OAuth permissions view showing which permissions kipclip needs from the user to function.
180
Tijs Teulings 🦑 @tijs.org · 14/12/2025
I've updated the OAuth permission scopes for @dropanchor.app to only ask for permissions to write blobs and Anchor specific lexicon, plus we need permission to read/delete community address lexicon for a while until all checkins are migrated to the new checkin lexicon (migration happens on login)
Screenshot of the OAuth permissions page for a PDS showing which permissions you are giving dropanchor.
1152
Tijs Teulings 🦑 @tijs.org · 13/12/2025
Doing this for my old Swarm checkins right now. Sadly do not have all the data from since Foursquare started, and I haven't used it much the past years, but it does go back to 2013. so cool little bit of personal history.
screenshot of the the UFOs website showing 1282 new records of the app.dropanchor.checkin type created today so far.
120
Tijs Teulings 🦑 @tijs.org · 12/12/2025
Tourist visa requirements for China and USA compared.
China Tourist Visa Requirements
• Tourist Visa (L)
Round-trip ticket booking record and proof of a hotel reservation, or an invitation letter issued by a relevant entity or individual in China with following information:
a. Information on the applicant (full name, gender, date of birth, etc.)
b. Information on the planned visit (dates of arrival and departure, places of visit, relations between the applicant and the inviting entity or individual, financial source for expenditures, etc.)
C. Information on the inviting entity or individual (name, contact number, address, official stamp, signature of the legal representative or the inviting individual)US visa requirements:

4. High Value Data Elements
To comply with the January 2025E.O. (14161), and the April 4, 2025, Memorandum Updating All Forms to Collect Baseline Biographic Data, CBP will add several "high value data fields" to the ESTA application, when feasible. This is in addition to the information
already collected in the ESTA application.
The high value data fields include:
a. Telephone numbers used in the last five years;
b. Email addresses used in the last ten years;
c. IP addresses and metadata from electronically submitted photos;
d. Family member names (parents, spouse, siblings, children);
e. Family number telephone numbers used in the last five years;
f. Family member dates of birth;
g. Family member places of birth;
h. Family member residencies;
i. Biometrics - face, fingerprint, DNA, and iris;
j. Business telephone numbers used in the last five years;
k. Business email addresses used in the last ten years.
131
Tijs Teulings 🦑 @tijs.org · 11/12/2025
Kipclip.com is not buying it. Maybe that means I failed to implement spec correctly but Rick was averted at least!
Screenshot of kipclip website saying “failed to initialize authorization“
000
Tijs Teulings 🦑 @tijs.org · 02/12/2025
@beaconbits.app I assume this will come pre populated with the graph I already have on Bsky right? Or is it a specific choice to have you make a new circle on bb?
Screenshot of beaconbits showing add friends view where you can search by handle
100