OddsJam

oddsjam.com

Mission

With 1,000,000+ real-time odds from 100+ sportsbooks updating every second and terabytes of historical data, OddsJam is the flagship of the sports betting industry.

Scope

Prototyping
UI / UX Design
Frontend
Backend
DevOps
System Administration

Tech Stack

TypeScript
React.js
Next.js
Python
Django
Docker
Kubernetes
Google Cloud

Our work resulted in 14% month-over-month growth, stronger user retention, and higher rates of trial subscriptions.

Ankit Goyal

Founder & CEO of OddsJam Inc.

I have founded multiple startups, and I continue to work with Team25. They write production-quality code, own products, and features end to end (from design to production support), and are professional with their communication and deliverables. I've worked with dozens of service providers, and Team25 is the single best ones in my career.

We took on the project in its sixth month of life, then redeveloped and redesigned it to meet the company's growing needs.

The Redevelopment

Meanwhile, we were revamping the frontend and backend.

Overall, we reduced time-to-market for new features, decreased the number of bugs reported by end users, and increased system resilience. Moreover, our analysis indicated that the legacy data collection algorithm was underperforming, so by rewriting it, we managed to bump the speed of metric collection by 10x.

TypeScript
React.js

Thanks to our TypeScript / React.js / Next.js + Python / Django development expertise, we could lay out a solid foundation for further re-architecting and refactoring and then undertake a major rewrite of the system's codebase.

Django
Python

As a first step, we took a closer look at the legacy codebase and revealed a few weak spots that threatened system stability and affected maintainability. We began increasing test coverage and refactoring the code by agreement with the client. In about a week, we gained a reasonably good understanding of the system to start implementing new features and improving the end-user experience.

Next.js

Eventually, we migrated the entire frontend to Next.js and modernized it to improve SEO and facilitate SSR, SSG. As a necessary precursor to that, we built an in-house library of reusable components that allowed us to cut delivery time significantly.

Redis
PostgreSQL

Being a data-centric solution, OddsJam required a more efficient way to store and process the terabytes of information it had been gathering. We switched from PostgreSQL to Redis to address ample storage and rapid processing requirements and never looked back.

Docker
Google Cloud Kubernetes Engine (GKE)

The application is Dockerized, deployed via GitHub Actions, and runs in Google Cloud Kubernetes Engine (GKE).

The Redesign

The new design had to convert better, be easy to use, and be aesthetically pleasing.

First, we ran multiple iterations on the logo, here are just a few of them:

OddsJam logo, iteration #1
OddsJam logo, iteration #2
OddsJam logo, iteration #3

We produced desktop and mobile versions for every layout and component we designed. Initially, a black-and-white representation was prepared, and then, provided the client was content with it the layout was colored.

OddsJam sportsbook color desktop layout.
OddsJam sportsbook color desktop layout.
OddsJam sportsbook black-and-white mobile layout.
OddsJam sportsbook black-and-white mobile layout.

We constantly communicated with the client to ensure consistent quality and a predictable delivery schedule. Thanks to a short feedback loop, we could move fast and process over 300 design requests in less than three months.

Since its inception, OddsJam had been relying heavily on Tailwind UI visual components library, so we created Figma layouts of the entire product that followed the Tailwind UI's style guide closely.

A few versions of the OddsJam buttons, fields, and avatars.
A few versions of the OddsJam buttons, fields, and avatars.

There were several variations for almost every page and component we created:

A few versions of the OddsJam subscription plans.
A few versions of the OddsJam subscription plans.

Got an idea?

Let's do it