DEVPAIR
Appearance
Punch logoMobile multiplayer

Punch

Coming soon

Multiplayer sessions built for mobile connections.

A Flutter multiplayer app with Go services for shared game sessions, real-time updates, and reconnects across changing mobile networks.

PUNCH
PUNCH: conceptual illustration of mobile play / connected sessions010203
A SHARED GAME. ANY SCREEN.Mobile play / Connected sessions · Conceptual illustration
Our role

Mobile application, Go services, and distributed session design

Built for

Mobile players and the teams building multiplayer experiences

The problem

Connection is part of the experience.

Punch connects a cross-platform mobile experience to a backend that owns game sessions. The architecture separates session state from individual client connections, so network interruptions and reconnects can be handled as part of the game lifecycle. Durable events and ownership controls address coordination between services.

The challenge

Make a shared game feel connected across mobile devices, changing networks, and interrupted sessions.

Our contribution

What we built.

  • Cross-platform game interfaces built with Flutter.
  • Authoritative session services in Go with event-driven communication.
  • Durable messaging and ownership fencing to address stale writes during failover.
  • Sequence-aware connection handling and recovery across client reconnects.
Engineering decisions

The thinking behind it.

A Go backend owns game sessions while durable events separate session state from individual client connections. Ownership fencing addresses stale writes during failover.

Keeping session state separate from a particular connection allows a mobile client to reconnect to an ongoing game. That introduces coordination and recovery work across services. Punch is pre-launch: the implementation demonstrates those mechanisms, not a measured claim about production concurrency.

The result

Connected mobile play with deliberate handling of session continuity.