An Engineering Team That Runs on Its Own Cloud Macs

ArmMini is built by iOS developers and SREs. We didn't launch a product and then go looking for customers — the 4 Mac minis we racked in 2021 were originally just running CI for our own apps. This page covers who we are, why we insist on dedicated physical machines, and how the hardware actually works.

TEAM

Users First, Operators Second

The team is 7 people today: 3 iOS developers, 2 SREs, and 2 support engineers, spread across UTC+8 and UTC-8. Everyone has their own app or CI pipeline running on our own nodes, so when a machine has an issue, we usually get paged before our customers do — because our own builds turn red first.

That shapes our priorities: keep the machines stable, get credentials delivered fast, and make sure a stuck box can be restarted without waiting on us — everything else comes after that. Every troubleshooting step and every latency number on this site was measured on our own machines, not copied out of a spec sheet.

We've kept the team deliberately small. Seven people managing over a hundred machines isn't about working longer hours — it's about getting out-of-band power control, automated health checks, and self-service reimaging right the first time. We hold first-response times under two hours because 80% of issues get resolved by customers themselves in the portal, and only the rest need a human.

If you spend your days wrestling with Xcode, runners, and simulators, we'll probably get along. For specific questions, check the troubleshooting guide or reach out directly.

armmini-ops — ssh
$ system_profiler SPHardwareDataType | grep Chip
      Chip: Apple M4 Pro
$ uptime
 14:32  up 217 days, load averages: 3.42 2.98 2.71
$ ops team --list
  ios-dev x3   sre x2   support x2
  coverage: UTC+8 / UTC-8
  eating our own dogfood since 2021
  all nodes healthy
The machine above, with 217 days of uninterrupted uptime, is our own primary CI box. Every node runs 365 days a year with no scheduled downtime — that's not a marketing line, it's because our own pipelines can't afford to go down either.
WHY PHYSICAL

Why Dedicated Physical Machines, Not Virtual Machines

Slicing one host into eight virtualized shares would look great on a margin spreadsheet. We didn't go that route, for three reasons — and none of them are negotiable.

macOS Software License

macOS's license terms require the OS to run on Apple-branded hardware. One real Mac mini per customer is the cleanest, most defensible way to stay compliant; shared-slicing setups always sit in a licensing gray area, and we don't want your release pipeline built on top of one.

Consistent Performance

What kills CI isn't slowness, it's jitter. A physical node has no noisy neighbor fighting you for CPU or disk I/O — back-to-back full builds of the same project typically vary by under 3% (measured on our own projects). Predictable build times are what let you set queueing rules and timeout thresholds that actually hold up.

Full GPU and Neural Engine Passthrough

Virtualization layers still can't expose full Metal or Neural Engine access — MLX inference, Simulator GPU rendering, Final Cut hardware encoding either don't run at all in a VM or run at half speed. On a physical machine, nothing sits in between: you get exactly what the chip offers.

Being honest: if you only need a one-hour build once a year, a dedicated physical machine isn't worth it for you. We break down exactly when it does and doesn't make sense, with numbers, on our comparison page.
DATACENTER

Datacenters and Hardware: How the Machines Are Actually Housed and Powered

Three physical locations, and we designed the rack layout and turned every screw ourselves. Here's what each node actually looks like.

Tokyo Node

JP
Facility TierTier III+
Uplink Bandwidth20 Gbps
Available TiersBasic — Max, full lineup
RoleFlagship node · largest capacity

Our founding datacenter since 2021, and the default pick for East Asia. All three tiers are available to rent year-round, and our own CI runs here too.

Seoul Node

KR
Facility TierTier III
Uplink Bandwidth10 Gbps
Available TiersBasic / Standard
RoleLow-latency coverage for Northeast Asia

Launched in 2024 to serve remote development in Northeast Asia. All three tiers are available at the Seoul node.

Silicon Valley Node

US-W
Facility TierTier III+
Uplink Bandwidth40 Gbps
Available TiersBasic — Max, full lineup
RoleNorth America uplink · high bandwidth

Launched in 2023, built for North American teams' CI runners and bandwidth-heavy workloads — like uploading large build artifacts to TestFlight.

Three Hardware Decisions Common to Every Node

Custom Rack Trays

The Mac mini was never designed for a rack, so we machined our own CNC aluminum trays: four units per 1U, front cable routing, and each machine slides out for a swap without touching its neighbors. It sounds minor, but it's the difference between a 5-minute hardware swap and a 50-minute one.

Dual Power Feeds

All three facilities run dual utility feeds plus UPS and diesel generator backup, with each rack wired to two independent PDUs. If either feed drops, the machines keep running without a blip. Zero power-related outages in the last 12 months.

Out-of-Band Power Control

Every machine is wired to its own switched PDU channel. If the system locks up completely, nobody has to walk into the datacenter — click Force Restart in the portal and the PDU cuts power and brings it back up, in about 40 seconds on average, even at 3 a.m.

PRINCIPLES

Operating Principles: If It's Written Down, We Do It

Dedicated hardware means trust matters, and trust can't run on slogans alone. These four rules are page one of our internal runbook, and we're posting them here so you can hold us to them.

We Don't Look at Your Data

You're prompted to rotate every credential the moment a machine is delivered; we don't preinstall monitoring agents or leave ops accounts behind. Our health monitoring only looks at network and power metrics — whether the machine has power and network. What's running on it is something we neither know nor want to know.

Least-Privilege Access

Routine operations stop at the out-of-band layer — power, network, hardware. If we ever need to log into your system to help debug something, it requires your explicit authorization in a support ticket, is performed by a single on-duty engineer, and the full record is attached to that ticket. Without authorization, nobody touches a customer's machine.

Transparent Incident Postmortems

Any incident affecting customers gets a public postmortem within 72 hours: root cause, blast radius, timeline, and remediation items, in full. It's written by the engineer who actually handled the incident, with no marketing polish applied. We're customers of our own infrastructure too, so we know exactly what a watered-down postmortem reads like.

Physical Destruction of Retired Drives

Within 7 days of a machine being decommissioned or a customer offboarding, the full drive is wiped and a record is issued. Retired SSDs are cryptographically wiped end-to-end, then physically destroyed, with destruction certificates archived. Your code-signing certificates and private repo credentials never leave the datacenter in any form.

NUMBERS

By the Numbers

Talk is cheap, so here are numbers you can verify. Our methodology is below — feel free to question any of it in a support ticket.

128 machines
Physical nodes currently online (across all five locations)
99.97%
Actual uptime over the trailing 12 months
8 min
Average order delivery time
38 min
Average first response on tickets (SLA: under 2 hours)

Methodology: trailing 12 months as of Jul 2026; uptime is sampled at per-minute granularity and calculated per machine; delivery time is measured from successful payment to credentials-delivered email; first response is measured from ticket creation to first human reply.

TIMELINE

From 4 Personal Machines to Nodes Across Three Regions

No funding story here — just a track record of managing more and more machines over time.

  1. 2021-03

    4 Mac minis racked in Tokyo

    Running CI for our own two apps. The first rack tray was 3D-printed — we still keep one as a memento.

  2. 2021-11

    First outside customers

    A friend's team rented half our fleet to run GitHub Actions runners, and went three months without a single complaint. That's when we realized this could be a real business, and decided to take it seriously.

  3. 2022-06

    Tokyo scales to 24 machines, portal goes live

    Self-service ordering, automated credential delivery, one-click restart and reimaging all shipped — delivery time dropped from half a day of manual work to under 10 minutes.

  4. 2023-04

    Silicon Valley node launches

    32 machines at launch, built for North American teams' CI needs. Around the same time, CNC aluminum trays became the standard across all five locations.

  5. 2024-02

    Seoul node launches, full out-of-band rollout

    Filled in low-latency coverage for Northeast Asia; every machine gets its own switched PDU channel, and Force Restart goes from a support ticket request to a self-service button.

  6. 2026-07

    Full fleet upgrade to M4 / M4 Pro

    All three tiers unified on the M4 generation, with the online fleet passing 120 machines. Older hardware gets retired in batches, with drives handled through our destruction process.

JOIN US

Join the Team, or Just Say Hello

We're hiring. The pace is remote, async-first, minimal meetings, and write-it-down-before-you-build-it.

SRE (Remote)

HIRING

Own automated health checks, out-of-band control, and the delivery pipeline across our three physical locations. You should be comfortable with both macOS and networking, able to handle a 3 a.m. page solo, and able to write a postmortem people can actually follow.

To apply: email support@armmini.com with "SRE Application" in the subject line. We'd rather read about the worst incident you've ever handled than a resume.

Support Engineer (UTC-8 hours)

HIRING

Handle connection, build, and networking issues coming in through support tickets, and feed recurring problems back into the troubleshooting guide. Ideally you've shipped your own app or set up a self-hosted runner, and you're comfortable working from the command line.

To apply: email support@armmini.com with "Support Engineer Application" in the subject line, and attach a troubleshooting writeup you've done.

For sales questions, bulk orders, or anything else, everything routes through the Contact page: email and portal tickets are the two channels, and that page spells out exactly when to use each and what response time to expect.

Enough About Us — Spin Up a Machine and Try It Yourself

Billed daily, credentials are delivered in about 10 minutes, and unused days are refunded within 7 days. Worst case, you're out one day's rent.