Senior Software Engineer (iOS + Desktop / Core Systems)
GameStrat
Now trusted by over 1,000 teams and organizations across North America, GameStrat is known for its speed, reliability, and ease of use, helping football coaches on game day while also providing tactical units with a powerful tool to enhance training and evaluations.
The Role
You will work directly alongside our CEO and CTO co-founders on core product, architecture, and reliability decisions across all verticals. You will be expected to challenge assumptions, propose alternatives, and influence product and technical direction
This role is best suited for someone who is comfortable operating without perfect requirements and enjoys turning real world problems into working systems.
What You Will Work On
- Cross-platform desktop applications running on macOS and Windows
- Video capture, playback, tagging, and performance-critical analysis workflows
- Systems designed to operate reliably in offline, low-connectivity, or constrained environments
- Shared architecture supporting both football and tactical training products
- Incremental improvements to a mature production codebase while enabling new capabilities
- Technical decisions that directly impact operational reliability and user trust
Core Technical Experience (Must-Have)
- Strong experience building production iOS or iPadOS applications
- Experience working on desktop applications (macOS, Windows, or cross-platform frameworks)
- Ability to work confidently in an existing codebase and improve it over time
- Solid understanding of software architecture, performance, and reliability
- Comfort working on systems that interact with hardware, networking, or on-site deployments
- Comfortable collaborating closely with founders and non-technical stakeholders
Technical Experience & Stack
- Experience building cross-platform desktop applications using Electron and/or NWJS
- Strong JavaScript or TypeScript fundamentals (Node.js runtime)
- Frontend experience with modern CSS workflows (we use Tailwind CSS)
- Experience with real-time communication (e.g. Socket.IO, WebSockets, or similar)
- Familiarity with local network service discovery (Bonjour / mDNS, SSDP, or related protocols)
- Experience working with browser media APIs (e.g. MediaDevices, MediaRecorder) or other hardware capture interfaces
- Exposure to video pipelines and tooling such as FFmpeg, especially for containerization, streaming, or fragmented media formats
- Strong experience building production Swift applications
- Comfortable working in mixed UI environments (UIKit + Storyboards and SwiftUI)
- Experience with real-time networking on iOS (Socket-based communication preferred)
- Familiarity with AVFoundation for video playback, custom controls, or media capture
- Experience designing responsive, low-latency UIs used in live or time-sensitive scenarios
- Experience with Vue.js (or similar reactive frameworks)
- Experience working within an established framework ecosystem (we use Quasar)
- Working knowledge of Ruby on Rails (v7) or similar MVC frameworks
- Experience with relational databases (PostgreSQL)
- Basic experience with object storage and file delivery (e.g. AWS S3)
- Experience designing systems that operate on local networks, often without reliable internet access
- Comfort working across boundaries between hardware, operating systems, networking, and application code
- Experience maintaining and evolving mature production systems without relying on full rewrites
- Take ownership of major subsystems across iOS and desktop within the first 90 days
- Improve reliability and performance of live video workflows used in real game day environments
- Drive architectural decisions alongside the founders rather than just implementing tickets
- Leave the codebase meaningfully better than you found it
Please include a short cover letter (1 page max) answering the following:
- Why are you interested in working at an early-stage startup like GameStrat?
- Describe a technically complex or real-world system you’ve worked on that you are proud of. What problem did it solve and what tradeoffs did you make?
- What experience do you have building software that needs to be reliable in live, time-sensitive, offline, or hardware-adjacent environments?