Taking responsibility for a platform already handling member accounts
When people use an investment platform, they expect their balances, account activity and payouts to be accurate. Behind the member-facing dashboard sits another set of workflows for administrators: reviewing accounts, managing approvals, preparing reports and running scheduled jobs.
CASL already had that platform in operation when SLIDEFACTORY joined in March 2021. Members were using it, but the original developers were moving on, the backlog was growing and some background jobs weren’t running reliably. Work had to continue without disrupting the existing service or losing track of the requests coming from the business.
We became CASL’s development and product support team. That meant first understanding and stabilizing code we hadn’t written, then organizing the backlog, delivering new functionality and maintaining releases across seven separately branded versions of the platform. Active development continued through August 2022, followed by support into 2023.
Stabilizing before building
CASL already had live member accounts, so the first priority wasn’t a new feature. We needed to understand the application and make its existing jobs predictable. We audited the Rails code and AWS infrastructure, established local Docker environments and organized the issues in Jira.
Some of the earliest fixes affected the handling of investment positions. Scheduled jobs weren’t always closing positions correctly, and duplicate records had accumulated. We corrected the job queue configuration, cleaned the data and repaired automated tests. Subsequent work moved through pull request review, RSpec testing and a staging deployment before production, creating a repeatable process for changes to a financial platform in active use.
Giving members and administrators more control
Once the underlying jobs and release process were steadier, we could work through the features the founders needed. Investment plans gained minimums, currency-specific options, automatic reinvestment and administrator controls over which members could access a plan. The member dashboard gained balances and charts by account and year, with values converted to US dollars using a pricing API and refreshed through hourly caching.
Administrative controls grew with the product. We added two-factor authentication for administrators, a second approval step for deposits and conversions, and permissions governing which staff members could view or approve different actions. The platform also gained referral accounts, commissions and payout reporting, plus CSV exports, QuickBooks-formatted withdrawal reports, fillable PDF documents and templated bulk email.
One of the more involved additions was a pooled earnings feature with scheduled returns and withdrawal requests. Its fees, calculations and payout jobs needed to behave consistently over time, so we ran a simulation covering a full year of activity before release. The simulation exposed a duplicate payout bug, which we corrected before members used the feature.
Keeping product decisions and development together
With multiple features in development and seven branded instances to maintain, writing code was only part of the job. We translated founders’ requests into requirements and estimated tickets, planned sprints and a year-end roadmap, prioritized the backlog and checked completed features against their original requirements. We managed a backlog containing more than 300 numbered tickets and kept the founders informed through regular check-ins on priorities, releases and platform behavior.
CASL also operated seven branded instances for different partners. Each had its own domain and data, but releases needed to stay coordinated. We moved deployments toward AWS container services with Terraform and GitHub Actions, established staging and production for each brand and reran tests as changes were integrated. We set up environments when brands were added and retired them when they were no longer needed.
Support after active development
The main development period ran from March 2021 through August 2022, followed by lighter support. That connection remained important: when the pricing provider discontinued its API in 2023, we changed the data source so the platform could continue refreshing account valuations. Our last recorded support work was in November 2023.
A platform that could keep evolving
CASL came to us with a live service, a growing backlog and jobs that weren’t always behaving as expected. Over the next 18 months, we stabilized the underlying processes, expanded account and administrative features and established a more predictable way to test and release changes across seven branded instances. The pooled-earnings simulation even exposed a duplicate payout issue before that feature reached members.
Active development continued through August 2022, followed by support into November 2023, with approximately 2,360 hours recorded across the engagement. By then, the relationship had evolved from understanding someone else’s code into managing features, releases and product decisions across the different brands. CASL could continue operating and extending the platform with a team that knew both its technical dependencies and the product decisions behind them.


