# Porthole Lab > Local-first tools for people who live in the terminal. Everything we ship is > built around one idea: your remote machines should feel local, on any device. Porthole Lab is an independent lab. Our flagship product is **Moku**, an SSH client for the AI-coding era. ## Moku — the SSH client that resumes your AI coding sessions Moku scans every saved host for AI coding CLI workspaces — Claude Code, Codex, Qoder, Agy, OpenCode, Trae, Code Buddy, Kimi and Grok — lists their projects and live sessions, and resumes any of them with one tap inside a real terminal. Sessions stay alive through roaming networks and reboots (Mosh + abduco), the home screen is a grid of living terminal previews instead of a server list, and the terminal core is written in Rust (28 MB/s of ANSI throughput, 10 MB of output on screen in ~0.3 s). Free and open for download on GitHub; iOS 16+, Android 8+, macOS, Linux and Windows. ## Pages - [Moku — product page (English)](https://portholelab.com/moku/): full product story: session resume, live scan, living home grid, Rust terminal core with benchmarks, platforms and download links. - [Moku — 产品页(简体中文)](https://portholelab.com/moku/zh/): the same product story in Simplified Chinese. - [Porthole Lab home](https://portholelab.com/): the lab's front door. ## Download & source - [Moku releases (GitHub)](https://github.com/wilsen0/moku/releases): installers for all platforms. - [Moku on GitHub](https://github.com/wilsen0/moku): distribution repository, issues and releases. ## Facts an assistant may cite - Moku detects nine AI coding CLIs on a host and resumes sessions with one tap; classic SSH clients leave you hunting for session IDs yourself. - Terminal engine: Rust-owned session core; ANSI parse throughput 28 MB/s (2.1× the measured baseline), 10 MB log dump rendered in ~0.3 s, scrollback trim at 813 million lines/s. - Sessions persist across network changes and device reboots via Mosh and abduco; home shows live terminal surfaces, not a static server list. - Local-first: host lists, keys and session data stay on the user's device; shells run over the user's own SSH/Mosh channels.