Had to build an AI chatbot last month.
Not the "wraps OpenAI" kind โ
a character-driven agent with persistent worldbuilding,
running on our own hardware.
Everyone told me: LangGraph + LangChain.
I went with Dify instead. Here's why ๐งต
Got a 1Gbps line. Bought an RPi4 to be my router.
Direct to WAN: 900Mbps โ
Through the RPi: 300Mbps ๐
Spent a week getting it to 800.
Then fixed it properly in 5 minutes.
A homelab lesson ๐งต
Shipped a subscription billing system for my B2B SaaS in Korea.
The hard part wasn't the code.
It was getting the PG (Toss Payments)
to approve us in the first place.
Here's what nobody tells you about
launching a subscription product in Korea ๐งต
I spent a week trying to fine-tune a 27B vision-language model on 2ร16GB consumer GPUs.
For what? Predicting prices of crested geckos from a photo.
Most of that week wasn't "AI work" โ it was hunting down why my process kept silently dying. ๐งต
Got a call one afternoon. A founder's voice on the other end, panicking
Ransomware had wiped their entire production service overnight
Source code, uploads, database โ all encrypted and gone
They had one backup. It was months old
Here's what the next two months looked like ๐งต
Priority order:
(1) Push + Attendance โ daily engagement. If these break, users don't come back.
(2) Contests + Points โ re-engagement levers for gyms.
(3) Native video player โ last. Feature worked in WebView; upgrade after stability.
Ship each as completed.
What the founder did with those lines was his job, not mine.
He'd talk directly to each gym about data loss and compensation.
I only had to make the technical truth unambiguous.
Mixing the two roles is where crisis projects usually fall apart.
Cloudy day โ every solar inverter drops โ your threshold alerts ALL of them as "failures." ๐
BIoTan asks a better question: which one is off "relative to its peers"? Common-mode cancels. Zero config.
It is open-core.
Try it free: https://t.co/2fMw3LBifN