RinkSync: Rescuing a Hockey App by Andrés Sepúlveda MoralesRinkSync: Rescuing a Hockey App by Andrés Sepúlveda Morales
Built with Base44

RinkSync: Rescuing a Hockey App

Andrés Sepúlveda Morales

Andrés Sepúlveda Morales

Verified

RinkSync: Rescuing a Hockey League App

What shipped

All 16 player screens brought back from a blank page, plus admin fixes and thirteen more defects cleared inside the same two-week sprint.
Sitting on a no-code app that has outgrown the builder? If you built on Base44, Lovable or Bolt and it works right up until it doesn't, that rescue is the kind of work Red Mage does. Come find me on Contra or shoot a note to andres@redmage.cc.

The situation

RinkSync is a hockey league app: players, teams, games, statistics, badges, chat, and a dashboard for rink admins. It was built on Base44, a platform that generates the app's code for you, after the owner moved the project there from a different AI app builder file by file.
By the time Red Mage was brought in, the player side had stopped loading at all. There was no defect list to work from, just an app that did not work and an owner who needed it working again. So the engagement did not start with a build. It started with a paid scoping audit: walk the app and the dashboard, rank what is broken by severity, and price each fix. The two-week sprint was quoted off that audit instead of off a guess.

The blank screen was a redirect loop

Every screen had two versions of its web address, and the app bounced between them without ever settling. Fixing the routing brought all 16 player screens back.
Two more faults went with it. Player sign-in had been landing on an admin dead end instead of the player app. Games never finished on their own, so every statistic downstream had nothing to count.

Badges that belonged to nobody

The Achievements screen read one shared set of numbers, so every player saw identical progress, including a badge that showed as already earned on a date no player had earned it. Each player sees their own record now.
The login streak had a quieter version of the same fault. The tracker wrote each day under one identity and then looked for it under another, so it never found what it had just saved and created a new record on every page load. 122 of those had piled up, so the streak could never advance past day one.

A rink admin can set up their own team

Creating a team saved the rink's name as plain text instead of connecting the team to the rink. The dashboard only lists connected teams, so a team an admin created never appeared on their own dashboard until somebody attached it by hand. It connects itself now.

Past the deliverable

Nine defects surfaced during the sprint and were fixed inside it at no change to the price: a direct chat showing the wrong person's name, team managers locked out of posting to their own teams, a trivia streak that never expired, captains shown buttons that could never work, a free agent profile showing a team name where a person's should be, a dead Contact button, chat images that could not be saved, a button hidden under the tab bar, and onboarding that accepted one name where it needed two. Four more fixed an iPhone layout that scrolled sideways.
One tightened write permissions on the admin activity log.
Two automated checks now guard the routing and the badge ownership, the two faults that had broken the app for every player. The publishing procedure was written up as a runbook, so the client can ship changes from the visual editor safely.
Sitting on a no-code app that has outgrown the builder? If you built on Base44, Lovable or Bolt and it works right up until it doesn't, that rescue is the kind of work Red Mage does. Come find me on Contra or shoot a note to andres@redmage.cc.
Like this project

Posted Sep 12, 2026

A hockey league app built on Base44: routing, player access, statistics and rink admin management, all brought back in a two-week fixed-price sprint.

Likes

0

Views

0

Timeline

Aug 24, 2026 - Sep 8, 2026