Sailfish Cyberdeck_

A portable SSH terminal for remote development with Claude Code

Device: Sony Xperia 10 V OS: Sailfish OS Purpose: SSH → Bastion → Claude Code

Project Overview

This project documents the build of a purpose-built cyberdeck: a portable SSH terminal combining a Sony Xperia 10 V running Sailfish OS with a compact mechanical keyboard in a 3D-printed chassis. Unlike typical cyberdeck builds that try to be underpowered laptops, this one has a specific mission — acting as a mobile SSH client to connect to a bastion server running Claude Code.

The result is a genuinely useful portable development terminal that also happens to function as a normal phone when you're not in hacker mode.

Why This Approach?

The Xperia 10 V lacks DisplayPort alt mode over USB-C, so external display output isn't practical. Rather than fighting against the hardware limitations, this build leans into the phone's strengths: excellent battery life, always-on mobile data, compact form factor, and a proper Linux userland via Sailfish OS.

Core Concept

📱 Mobile Terminal

The Xperia 10 V running Sailfish OS provides a proper Linux environment with SSH, mosh, tmux and all the CLI tools you need. USB OTG support means physical keyboards just work.

⌨️ Mechanical Keyboard

A compact 60% or 40% mechanical keyboard provides actual tactile typing. Either wired via USB-C hub or Bluetooth, depending on your preference for cable management vs battery life.

🖨️ 3D Printed Chassis

Custom chassis joins phone and keyboard into a cohesive unit. Clamshell design for portability, with space for USB hub and optional battery pack integration.

🖥️ Remote Bastion

A remote server running Claude Code does the heavy lifting. SSH in via Tailscale/WireGuard, attach to a tmux session, and you've got a full AI-powered development environment.

System Architecture

architecture.txt
┌─────────────────────────────────────────────────────────────────────┐
│                         SAILFISH CYBERDECK                          │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│   ┌─────────────────┐    USB-C    ┌──────────────────┐             │
│   │   XPERIA 10 V   │◄───────────►│   USB-C HUB      │             │
│   │                 │             │                  │             │
│   │  Sailfish OS    │             │  ├─ Keyboard     │             │
│   │  SSH Client     │             │  └─ Power (opt)  │             │
│   │  Mosh Client    │             │                  │             │
│   │  Terminal App   │             └──────────────────┘             │
│   └────────┬────────┘                                              │
│            │                                                        │
│            │ Mobile Data / WiFi                                     │
│            │ + Tailscale/WireGuard VPN                             │
│            ▼                                                        │
│   ┌─────────────────────────────────────────────────────────┐      │
│   │                    BASTION SERVER                        │      │
│   │                                                          │      │
│   │   ┌─────────────┐    ┌─────────────┐    ┌────────────┐  │      │
│   │   │   tmux      │    │ Claude Code │    │   Git      │  │      │
│   │   │   session   │◄──►│   (claude)  │◄──►│   repos    │  │      │
│   │   └─────────────┘    └──────┬──────┘    └────────────┘  │      │
│   │                             │                            │      │
│   │                             ▼                            │      │
│   │                    ┌─────────────────┐                   │      │
│   │                    │  Anthropic API  │                   │      │
│   │                    └─────────────────┘                   │      │
│   └─────────────────────────────────────────────────────────┘      │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

Key Components

Component Specification Notes
Phone Sony Xperia 10 V (XQ-DC54) 6.1" OLED, 5000mAh, USB OTG support
Operating System Sailfish OS 4.6+ Proper Linux userland, RPM packages
Keyboard 60% / 40% Mechanical USB-C or Bluetooth connectivity
Chassis 3D Printed (PLA/PETG) Custom design or adapted from existing
Bastion Server Linux VPS / Home Server Running Claude Code + tmux
VPN Tailscale / WireGuard Secure connection to bastion

What Makes This Useful

Most cyberdeck builds are basically novelty Raspberry Pi laptops that are worse than actual laptops at everything. This build is different because it has a genuine purpose:

Project Pages