Curling IO's Technical Evolution: Building for the Next 20 Years
#Backend

Curling IO's Technical Evolution: Building for the Next 20 Years

Tech Essays Reporter
5 min read

Curling IO announces a major technical overhaul to modernize its platform while maintaining the same user experience, focusing on AI readiness, concurrency, and developer experience.

Curling IO, the platform that has served hundreds of curling organizations across North America and internationally since 2014, is embarking on a significant technical transformation. The company is building a new version of its platform that maintains all existing features while establishing a stronger foundation for the next two decades of growth.

This announcement marks the beginning of a series documenting Curling IO's technical journey and the architectural decisions driving this evolution. The company emphasizes that this upgrade is happening entirely behind the scenes, with no disruption to club managers or curlers using the platform.

What This Means for Users

For club managers, the transition will be completely seamless. The platform will continue operating normally while the technical infrastructure is upgraded in parallel. When the new version is ready, tested, and proven, users will experience a smooth transition to what Curling IO describes as "the same Curling IO you know, even faster and more reliable."

Curler experience remains unchanged as well. Registration processes, scoring systems, schedules, and results will all function identically. The company notes that users might notice improved performance during peak registration periods and when accessing live scores during major competitions like the Scotties and Brier.

Why Rebuild After a Decade of Success?

Despite the current platform's success and strong growth metrics, Curling IO has identified three compelling reasons to invest in a new foundation:

AI Agent APIs: The company is adding new APIs specifically designed for AI agents to interact with easily. While the existing web interface remains unchanged, these additional capabilities prepare for a future where AI assistants are ubiquitous. Users are already asking AI tools like ChatGPT and Claude to help with tasks like league registration and schedule checking, and Curling IO wants these interactions to work reliably.

Concurrency and Correctness: As the platform grows, stronger guarantees around correctness and performance become essential. The new tech stack needs to handle massive concurrency during peak registration periods and large traffic spikes during major competitions. It must also prevent runtime errors and scale efficiently as the sport continues to grow.

Developer Experience: The company wants a codebase that's easy to hand off between developers. Type safety and functional patterns make code self-documenting, allowing new developers to contribute safely without deep institutional knowledge. Gleam's deterministic patterns are particularly well-suited for AI coding assistants, enabling faster onboarding and more productive collaboration between developers and their AI tools.

The Technology Stack Decision

After careful consideration of multiple options, Curling IO has chosen Gleam as its primary development language. This decision was driven by the need for type safety, massive concurrency, functional patterns, shared client-server types, and proven scalability at scale.

Gleam offers several compelling advantages. As a type-safe functional language that compiles to both Erlang (for the server) and JavaScript (for the client), it provides the reliability of the BEAM VM - the same runtime that powers WhatsApp and Discord. The ML-family type system catches entire classes of bugs at compile time, while Lustre provides an Elm-architecture framework for the frontend with shared types from database to UI.

The company seriously considered alternatives including PostgREST + Elm/Lustre, F# SAFE Stack, and TypeScript + Node + React. While each had merits, none matched Gleam's combination of BEAM VM benefits, type safety, and simplicity. The decision ultimately came down to BEAM's rock-solid concurrency, fault tolerance, and proven scalability.

The SQLite Surprise

Perhaps the most unexpected decision was choosing SQLite over PostgreSQL. While Curling IO Version 2 runs on PostgreSQL, the new version will use SQLite instead. This choice is based on several factors:

  • Isolated databases with clean separation of concerns
  • In-process speed eliminating network latency
  • Operational simplicity with no separate database server to manage
  • Significant cost savings compared to managed PostgreSQL
  • Litestream for continuous offsite backups

For the same infrastructure budget as Rails + PostgreSQL, Curling IO expects Gleam + SQLite to handle approximately 1,000x more concurrent connections, 100x the data volume, and 100x the throughput during peak traffic. These projections are based on well-documented characteristics of the technology rather than optimistic guesses.

Scaling Strategy

The company's scaling approach is refreshingly straightforward: start with a single powerful server and scale up from there. This vertical-first strategy includes:

  • One server with co-located app and database
  • Warm backup server with continuous offsite backups
  • Scaling up CPU and RAM as needed
  • Avoiding distributed systems complexity until absolutely necessary

If the platform ever outgrows a single server, there's a clear path to splitting things up. However, with BEAM's concurrency and SQLite's in-process speed, Curling IO expects this to be a long way off.

The Path Forward

The development of Curling IO Version 3 will occur alongside the existing platform, which will continue running and receiving updates as usual. When the new version is ready and thoroughly tested, there will be a coordinated switch rather than a drawn-out migration process.

This technical evolution represents a significant investment in the future of curling technology. By building on a foundation designed for the next 20 years, Curling IO aims to continue serving the curling community with reliability, performance, and innovation while maintaining the familiar experience that clubs and curlers have come to rely on.

This article is Part 1 of the Curling IO Foundation series. The next installment will explore bilingual support with compile-time guarantees, further demonstrating the company's commitment to technical excellence and user experience.

Comments

Loading comments...