About XA
XA Security is one of Western Canada's leading event security and crowd management companies. We work the biggest events in the province, including festivals, stadium shows and the Calgary Stampede, along with year-round static, mobile and parking operations. Our workforce is several hundred strong and grows past 700 in the busy season.
We also built our own operations platform. Digital XA runs our scheduling, timekeeping, payroll, invoicing, client portal and field reporting. It is a production system that pays and schedules real people every week, and it is the reason we can staff what we sell.
The role
Digital XA is a large, working product with a small team behind it. You'll be one of the senior engineers shaping how it grows, and you'll ship changes that our staff, our clients and our payroll depend on the same day.
You'll work across the whole stack: the Next.js application, the Postgres data model behind it, the integrations with our finance, payroll and communications providers, and the internal tools our operations team uses every day. You'll take a feature from a rough idea to a verified, working release, and you'll be honest about the tradeoffs when the right answer is slower than the fast one.
This is a senior role with real ownership. You'll set technical direction for your area, review the work of others, and say no to changes that would make the system harder to trust.
What you'll do
- Design and build features end to end across the Next.js App Router frontend, server routes and the Supabase/Postgres data layer
- Own correctness in the places where mistakes cost money or schedules: payroll, billing, tax, scheduling and compliance rules
- Model data carefully, write and review migrations, and keep the schema honest with row-level security in place
- Build and maintain integrations with third-party systems, including payment, accounting, payroll, SMS and email providers
- Verify your own work by running it in a real browser and the real code path, not only by passing a typecheck
- Review code from other engineers and raise the bar on tests, observability and rollback plans
- Work with the CTO and operations to turn messy real-world requirements into software that holds up on a busy event night
- Help keep the platform observable and debuggable, including error monitoring, background jobs and scheduled work
What you bring
- 5+ years of professional software development, with at least 2 years building and running production web applications
- Strong TypeScript and React, and experience with a server-rendered framework such as Next.js
- Solid SQL and relational data modelling; comfort with Postgres, migrations and access control
- Experience integrating with external APIs, including handling retries, idempotency, partial failures and webhooks
- A habit of testing your work in the real environment, and the judgment to know which tests matter
- Good written communication. You can explain a tradeoff to a non-engineer without losing the point
- Ownership: you follow a problem through to production and you clean up after yourself
Nice to have
- Experience with Supabase, Row Level Security or Postgres functions
- Experience with payroll, invoicing, scheduling or other money-and-time systems
- Experience with PDF generation, mobile-first web apps or SMS-based workflows
- Familiarity with Alberta employment or tax rules, or an appetite to learn them properly
Our stack
Next.js 16 (App Router) and React 19 with TypeScript, Tailwind CSS 4, Supabase (Postgres, Auth and Edge Functions), Vercel for hosting and scheduled jobs, Sentry for error monitoring, and Vitest for tests. Integrations include Twilio, Resend, Helcim, QuickBooks Online, ADP, BMO and Humanity.
Compensation and benefits
- Salary: $80,000 per year
- Group benefits plan
- Real input into the tools you use every day. When you suggest an improvement, it usually ships.
- Work on a platform that runs the biggest live events in Western Canada