R&D — LINE depth + omnichannel + group-assistant feasibility
- Date: 2026-06-21
- Status: R&D / feasibility (informs ADR-0133)
- Trigger: “integrate with LINE channel” — sparked by the JodJam (จดจำ) competitor and a Chatwoot omnichannel consult.
- Puccha already ships a working LINE channel (1:1 customer-support model): webhook + signature verify + RAG reply + tickets/SLA + admin UI. “Integrate LINE” is ~85% done for support. See
api/channels/line/+server.ts, tableschannels/channel_users(0015_line_channel.sql). - The reference materials conflate three different products. Sequenced native roadmap: (1) harden LINE → (2) omnichannel breadth → (3) group-assistant.
- Do not adopt Chatwoot. Multi-tenant isolation is “not planned” (Chatwoot GH #7490) and its compliance-RAG layer — Puccha’s moat — is its weakest. Extend natively; mine its MIT LINE connector as reference only. → ADR-0133.
- AI-RAG-over-KB is table-stakes, not a moat. The empty intersection is compliance (PDPA/BOT/SEC/OIC) + citations + LINE. Lead positioning there, not “AI bot on LINE.”
Competitor landscape (three clusters)
Section titled “Competitor landscape (three clusters)”Cluster 1 — LINE-group productivity (JodJam’s space)
Section titled “Cluster 1 — LINE-group productivity (JodJam’s space)”No single competitor covers JodJam’s bundle (group backup + tasks + image-gen + slip-check); it’s fragmented into beatable specialists.
| Specialist | Player(s) | Note |
|---|---|---|
| Group backup/memory | JotT (ProSpace) | Only direct analog; tailwind = LINE Keep retired |
| Slip verification | EasySlip (JodJam’s vendor), SlipOK | Commoditized, sub-฿1/slip, bank-API underneath → buy, never build |
| Doc → infographic | Napkin, Gamma, Piktochart | English-first, web-detached, no Thai-gov-doc tuning, no LINE |
| Team memory/summarize | Fireflies, Otter | Built for Slack/Teams meetings, not LINE group text |
Strategic read: JodJam’s moat is the bundle + living inside the team’s own group, not any one feature. Its model hoards a team’s messages/files/payments in an opaque trial bot — a PDPA liability the moment it touches a regulated enterprise. A compliance platform inverts this into a differentiator (governed group assistant).
Cluster 2 — Omnichannel support with LINE (Puccha’s support side)
Section titled “Cluster 2 — Omnichannel support with LINE (Puccha’s support side)”| Type | Players | LINE | Compliance posture |
|---|---|---|---|
| Thai local (real threats) | Amity Bots Plus (ISO 27001 + SOC 2, KBank), ZWIZ.AI, Botnoi | Native | Amity closest; markets GDPR not PDPA |
| Global SaaS | Respond.io, Sleekflow (SEA), Zendesk | Respond.io native; Intercom/Gorgias none | No TH residency, no PDPA attestation |
| OSS self-host | Chatwoot (only OSS w/ native LINE), Zammad, FreeScout, Tiledesk | Chatwoot only | Chatwoot multi-tenant “not planned” (#7490) |
Strategic read: AI-RAG-over-KB is now table-stakes (Fin, Freddy, Captain, AgentFlow, Botnoi KB, Amity KB all ship it). The unoccupied wedge is native LINE depth + Thailand residency + PDPA/BOT/SEC/OIC framing with citation validation + tenant isolation — no one combines all three.
Cluster 3 — Compliance / RAG (Puccha’s actual niche)
Section titled “Cluster 3 — Compliance / RAG (Puccha’s actual niche)”| Player | Overlap | Gap vs Puccha |
|---|---|---|
| VISAI AI (SCB 10X — Sommai/Somsi/4Corners) | Top risk — best Thai-legal-RAG, Securities & Exchange Act + tax, NitiBench | Not multi-tenant, not PDPA/BOT/OIC, no LINE — yet |
| iApp (Thanoy/Chinda) | Closest today — on-prem + PDPA/ISO + cited legal RAG + LINE + own Thai LLM | Consumer/SMB-positioned; four regulators unbranded |
| Amity | Capital ($60M), banking logos, TRAG benchmark | Commerce-positioned; could pivot |
| GRC (OneTrust, PDPA Core) | Consent/DSAR workflow | No “ask the regulation” RAG — orthogonal |
Strategic read: “Audit-grade compliance knowledge worker on LINE” has no occupant. OIC insurance regulation is wide open. Puccha’s one weak axis is data residency (CF edge + Anthropic, not Thai soil) — mitigable with a tenant-selectable Thai-hosted model (ThaiLLM / Typhoon via Float16) for residency-strict accounts.
Native roadmap (sequenced)
Section titled “Native roadmap (sequenced)”| Phase | Scope | Size | Owner doc |
|---|---|---|---|
| 1 — Harden LINE | Ack-200 + waitUntil + push fallback (fixes reply-token/redelivery bug); webhookEventId idempotency; inbound image/file (reuse ADR-0043 classifier); Flex/quick-reply; admin onboarding wizard + “Verify” button |
S | ADR-0133 |
| 2 — Omnichannel breadth | Generalize the channel-adapter seam (normalize → channels/channel_users/messages). FB Messenger + IG (Meta API) → web widget (exists) → Flutter app SDK. TikTok/X = auto-reply-only or defer |
M | ADR-0133 |
| 3 — Group-assistant (JodJam-style) | Group webhook events; governed thread summarization; task/reminder tracking; infographic-from-doc; slip verification (buy EasySlip/SlipOK) | L | Needs own ADR + product validation |
Phase 1 — the bug that makes hardening non-optional
Section titled “Phase 1 — the bug that makes hardening non-optional”api/channels/line/+server.ts runs the entire RAG+LLM turn synchronously before returning 200 (lines ~85–341). LINE expects a fast 2xx and its reply token is single-use with a ~1-minute window. A slow Haiku turn → webhook redelivery (duplicate answers; no webhookEventId idempotency today) and/or reply-token expiry (silent reply failure). Fix: ack 200 immediately, run RAG in platform.context.waitUntil(), fall back to the LINE push API if the reply window lapses.
Phase 3 — open product question (not yet decided)
Section titled “Phase 3 — open product question (not yet decided)”The group-assistant is a distinct product line, not a channel. It carries the heaviest PDPA surface in the platform: a group bot receives every message in the group, not just @mentions. For a compliance company this is simultaneously the biggest risk and the sharpest differentiator — the pitch is a governed group assistant (server-side history, tenant isolation, hashed query logs, configurable retention, PDPA §33 export/erasure) versus JodJam’s opaque hoard. Decision gate before any build: run an office-hours product-validation pass and write a dedicated ADR covering consent model, retention, group-member-roster limits (verified-OA-only), and the slip-verification vendor contract.
Sources
Section titled “Sources”Competitor research 2026-06-21 (web). Key refs: JotT prospace.services/jot-t; EasySlip easyslip.com, SlipOK slipok.com; Chatwoot multi-tenant GH issues #7490 (closed not-planned) / #11109; VISAI/Sommai opentyphoon.ai/blog/en/use-case-visai, NitiBench arxiv.org/html/2502.10868v1; iApp iapp.co.th/products/thanoy; Amity amitysolutions.com/amity-bots; Respond.io / Sleekflow / Zendesk product+pricing pages.