Network control, simplified.
All your networked devices, one app.

HTTP, OSC, TCP, UDP, MIDI. I wanted full network control without being tied to the PC. Control-It lets me fire commands and mix protocols straight from my phone—wherever I happen to be on campus.

Free forever • Up to 5 grids • Import/Export included
Need more? There’s an optional Pro upgrade inside the app—no pressure.

Control-It grid on iPhone

Why I made Control-It

Companion still handles most of our in-service devices, but I needed a fast and handheld way to hit the same buttons when the rack PC was offline and to let volunteers access only their specific controls—without a physical StreamDeck or giving them access to every Companion page. Control-It lets each volunteer carry a mini StreamDeck—grids finetuned to their station (lights, lyrics, cameras, whatever).

Press Bitfocus Companion Buttons

Trigger any Bitfocus Companion key via its HTTP API—or mix it with other protocols in the same tap.

Mix Multiple Protocols

OSC, HTTP, TCP, UDP & MIDI can live together in one action.

Per-Volunteer Grids

Share grids instantly via Nearby Share or the Grid Store—volunteers get only the buttons they need, keeping decks clutter-free.

Live Response Parsing

Polling rules can update titles and colors (great for timers & video countdowns).

Step-by-step Guides

1. Build your first grid

  1. Go to the Connections view. Tap a discovered device to auto-fill its IP and port, or enter those details manually to create a new connection.
  2. Switch to the Actions view. Tap + New Action, choose your connection, and enter your payload.
  3. Open the Grids view. Create or select a grid, tap Add Action, and place your new action into an empty slot.
  4. Tap the action in your grid to execute it—and see HTTP responses or live feedback directly in the grid.

2. Pair with Bitfocus Companion

Companion exposes a simple HTTP endpoint that lets you press any button remotely.

POST http://<companion-host>:8000/press/bank/1/3
  1. Create an HTTP connection pointing at your Companion PC.
  2. Add an action with method POST and the path above (change bank/page).
  3. Drag it to your grid. Pressing it toggles that Companion button.

3. Hand a volunteer their own grid

  1. Long-press a grid → Nearby Share.
  2. Make sure they are nearby and running Control-It. Connect to your volunteer's phone.
  3. They get only that grid—no extra clutter.

4. Add live countdown feedback


{
  "titleRule": "$.remaining | floor | append(' s')",
  "colorRules": [
    { "condition": "$.remaining <= 10", "colorName": "Red" }
  ]
}

This polls an HTTP JSON endpoint every second, updates the button title with seconds remaining, and turns it red for the last 10 seconds.

5. Build a multi-step macro

  1. Create or reuse several actions (e.g., Companion press → OSC message → MIDI cue).
  2. Tap New Multistep, add those actions in order.
  3. Place the multistep in a grid slot—one tap fires the whole chain.

FAQ

Does this replace Bitfocus Companion?

Nope. Companion is fantastic. We use Companion every single day. Control-It just covers handheld and remote cases—and it can press Companion buttons using the Companion API.

Is Control-It really free?

Yes! Use the app just like a Pro—five grids, every protocol, import/export included. Upgrade only when you need more than five grids, want more actions, or want to share your layouts on the Grid Store. Or if you simply want to support me!

What devices are supported?

iPhone & iPad running iOS 17+. A Mac build is on the roadmap.

Can one button fire multiple commands?

Absolutely. Multistep Actions can chain OSC, HTTP, MIDI, TCP & UDP in a single tap.

How do I back up my work?

Manual export is always available. The optional Pro upgrade adds automatic iCloud sync.

Need a hand?

Monday–Friday, 9 AM – 5 PM MST.
Email me:
micahcrandell.dev@gmail.com

Contact the Developer