CLAUDE CODE SHARING #3

Leveraging iOS ecosystem
for agentic coding

ศิริวัชร์ คุณาพร (จุ้น)

UI Engineer at MUI

19 Aug 2026 · Agoda Thailand, One Bangkok

A fake Apple-style ad for a clamp that holds a MacBook slightly open so background agents stay alive.

You don’t want to
close the lid

Session ยาวขึ้น · หลาย session พร้อมกัน
บางอันปล่อยไว้ แล้วค่อยกลับมาดู

Always Running.
Always Accessible.

Agent ต้องทำงานได้ตลอด และผมต้องเข้าถึงมันได้ตลอด

ความคิดแรก ซื้อ Mac Mini

Mac mini

อยู่บ้าน · เปิดตลอด

Claude Code

data sync
project · ไฟล์
MacBook Pro

พกออกไปข้างนอก

Claude Code

สอง Claude Code แยกกันคนละเครื่อง — sync กันแค่ไฟล์ ไม่ใช่ session

เปิดโลกจาก meetup ครั้งที่แล้ว

เมื่อได้เห็นพี่ไทใช้ Claude Code บน iPad เลยทักไปถาม

Claude Code #2 Bangkok Meetup livestream: a speaker's screen showing terminal sessions.
Claude Code Sharing #2 · 13 May 2026

iPad เป็นแค่ หน้าต่าง

ผม

พิมพ์ · แตะ · วง
input
iPad Air

iPad

interface

passthrough
ไม่มีอะไรรันที่นี่
MacBook Pro

Mac ที่บ้าน

Claude Code

source code และ session ทั้งหมดอยู่บน Mac — iPad แค่ส่งสิ่งที่ผมทำต่อไปให้มัน

Four tools, one wire

Blink Shell

Terminal บน iPad

iPadiPhone

Tailscale

เชื่อม iPad กลับไปหา Mac ที่บ้าน

iPadiPhoneMac

Mosh

Connection ที่ไม่หลุดเวลาเปลี่ยนที่

Mac

tmux

optional

Session ยังรันอยู่ตอนเรา disconnect

Mac

จาก Blink ถึง Claude Code

iPad Blinkผมพิมพ์ที่นี่
Tailscaleหา Mac เจอจากทุกที่
Moshconnection ไม่หลุด
tmuxsession ที่รันอยู่บน Mac
MacBook Pro Claude Codeทำงานค้างอยู่

Tailscale กับ Mosh ทำให้เส้นไม่ขาด — ส่วน tmux คือ session ที่รออยู่บน Mac ปลายทาง

เปิด Blink
เพื่อต่อเข้า Macbook

ต่อเข้า Mac ที่บ้าน แล้วเจอ session ที่ค้างไว้รออยู่ กลับไปทำต่อได้เลย ไม่ต้องเริ่มใหม่

Claude Code มี Agent Views อยู่แล้ว เลยไม่ต้องทำอะไรเพิ่ม ก็ใช้งานได้ทันที

Device เปลี่ยนได้
session ไม่เปลี่ยน

ไม่มี iPad ก็หยิบ iPhone ขึ้นมา — session เดิม คุยต่อได้ทันที ไม่ lose context ด้วย Remote Control (ตั้งเป็น Auto)

iPad + MacBook ได้อะไรบ้าง

01

Session ต่อเนื่อง

หยิบขึ้นมาเมื่อไหร่ก็ทำต่อจากเดิม มีไอเดียตอนไหนก็เปิด session ใหม่ได้ทันที

02

กด Enter แล้วเดินได้เลย

เครื่องที่ทำงานจริงอยู่บ้าน เปิดตลอด internet นิ่ง — พับ iPad เก็บได้เลย

03

Device เปลี่ยนได้

Mac, iPad หรือ iPhone ก็เข้า session เดียวกัน ไม่ lose context

แต่ๆๆ…

ปัญหาไม่ได้อยู่ที่
Claude Code

แต่อยู่ที่ workflow รอบ ๆ มัน

งานผมไม่ได้จบแค่ Terminal

PromptCodeSee FeedbackPreviewIterate

สามอันตรงกลาง คือจุดที่เริ่มมี friction บน iPad

Problem 1

ดู Output ยังไง

เช่น screenshot / recording

Solution

ให้ Claude เขียน Hook ดักตอนเรียก SendUserFile แล้วส่งไฟล์เข้า iMessage

Problem 2

ส่ง feedback กลับยังไง

เช่น วงรูปบอกว่าตรงไหนไม่โอเค

Solution

  1. วงจุดที่ไม่โอเคด้วย Apple Pencil
  2. Save to Files ลงโฟลเดอร์ที่ sync กับ Mac
  3. พิมพ์ “check tray” ใน Blink
  4. Claude หยิบรูปนั้นมาดู แล้วแก้ต่อ

Problem 3

เปิด link จาก Blink ไม่ได้

เช่น deploy preview ที่ agent ตอบกลับมา

Solution

ให้ Claude เขียน Hook จับ URL ตาม pattern ที่สนใจ แล้วส่งเข้า Messages

This is when
vibe coding shines

ผมใช้ Claude Code มาแก้ pain point ของการใช้ Claude Code เอง

อธิบาย problem → ให้มันเสนอ option → เลือก → ให้มัน implement

ต่อ agent เข้ากับของที่เราใช้อยู่แล้ว

Messagesoutput มาหาเรา
Filesไฟล์ไปโผล่บน Mac
Apple Pencilวงตรงที่อยากให้แก้
Remindersใช้แทน Todo List

สรุป บางทีเราไม่จำเป็นต้องสร้างเครื่องมือใหม่ๆ แค่พยายามเชื่อมสิ่งที่มีอยู่แล้วเข้าหากันก็เวิคแล้ว

ขอบคุณครับ

วันนี้ cost ของการสร้าง software เล็ก ๆ เพื่อแก้ปัญหาตัวเอง มันต่ำลงมาก

Appendix

Setup Guide

ตั้งค่า iPad ↔ MacBook ใน 4 ขั้นตอน

QR code สำหรับเปิด Setup Guide
สแกนเพื่อเปิดสไลด์นี้บนเครื่องตัวเอง

Step 1 / 4

ให้ iPad หา Mac เจอจากทุกที่

ติดตั้ง Tailscaleทั้งบน Mac และ iPad / iPhone · login account เดียวกัน
เปิด MagicDNSในหน้า admin ของ Tailscale — เรียกเครื่องด้วยชื่อแทน IP
ตั้งชื่อ Macrename เป็นชื่อสั้น ๆ เช่น mac

ฟรีสำหรับใช้ส่วนตัว · ไม่ต้องตั้งค่า router ไม่ต้องมี fixed IP

Step 2 / 4

เปิดประตูฝั่ง Mac

ติดตั้ง mosh + tmuxbrew install mosh tmux
เปิด Remote LoginSystem Settings › General › Sharing · Allow access: All users
ให้ mosh หาเจอต่อท้าย ~/.zshenv ด้วย export PATH="/opt/homebrew/bin:$PATH"
ไม่ให้เครื่องหลับsudo pmset -c disablesleep 1 — ปิดฝาได้ ขอแค่เสียบปลั๊ก

Intel Mac ใช้ /usr/local/bin — เช็ค path จริงด้วย which mosh-server

Step 3 / 4 — บน iPad

ต่อจาก iPad เข้า Mac

  1. ติดตั้ง Blink Shell
  2. Blink › Settings › Keys & Certificates — สร้าง key แบบ ED25519 แล้วเอา public key ไปต่อท้าย ~/.ssh/authorized_keys บน Mac
  3. Blink › Settings › Hosts › Add — Alias mac · HostName ชื่อเครื่องจาก Tailscale · User ชื่อ user บน Mac (ดูจาก whoami)
  4. เชื่อมต่อ mosh mactmuxclaude

ครั้งถัดไปใช้ tmux attach — connection หลุด session ก็ยังอยู่บน Mac

Step 4 / 4

ตั้งโฟลเดอร์รับรูป — tray

  1. บน Mac สร้างโฟลเดอร์ mkdir ~/tray — ต้องอยู่ที่ home โดยตรง เพื่อเลี่ยง permission ของ macOS
  2. Blink › Settings › Hosts › macFiles.app — Add Location · Path ~/tray · Name tray แล้วกด Validate
  3. เปิด iOS Files.app แล้วเปิดใช้ provider ของ Blink

เวลาใช้งาน Screenshot → วงด้วย Apple Pencil → Save to Files › tray · เคลียร์ด้วย rm ~/tray/*
ส่วน “check tray” ฝากเป็นการบ้าน — ลองเขียน skill ให้ Claude อ่านและตีความรูปใน tray เอง