Vypr

Company
Vypr is a consumer research and product validation platform. I was engaged to strengthen the backend architecture, data model, and DevOps practices across a modern AWS serverless estate and a legacy Ruby application.
Team
I work as a senior individual contributor across multiple squads, partnering with the Head of Engineering, senior engineers, and product stakeholders to define technical direction and unblock complex delivery work.
Tools & Technologies
Challenge
Predict is Vypr’s modern product, built to replace their first-generation Ruby platform. I was initially engaged to integrate the UK mobile panelist app so that it could operate seamlessly across both platforms, allowing studies to continue running on either system during the transition period without disruption to participants.
During this work, I carried out a detailed review of the existing DynamoDB implementation. This identified two key technical risks: first, certain query and update patterns meant there was potential for data overwriting under high-concurrency conditions; and second, the existing data model structure meant the platform would eventually run into DynamoDB item-size limitations as usage scaled.
I subsequently undertook a full redesign of the data model. I mapped and documented all key data-access patterns across the platform and restructured the solution into a single-table design using the adjacency-list pattern. This consolidated more than ten existing tables into one and standardised entity-typing, while ensuring that all core workflows operate efficiently across only two GSIs. The result is a model designed for long-term scalability, predictable performance, and simpler evolution.
A structured migration approach was designed alongside the new model. Each legacy table is migrated independently to reduce operational risk. During the first stage of each migration, data is synchronised in real-time so that both the legacy and new models remain in step. Once data parity is confirmed, the application code is switched over to use the new model. To ensure absolute data integrity, I also configured DynamoDB backups for analysis via Amazon Athena, enabling row-level hash comparison between legacy and new datasets to confirm successful synchronisation.
Prior to the data-model work, I was part of a cross-functional squad tasked with migrating an existing pseudo-microservice responsible for capturing video responses. This service had previously been tightly coupled to the first-generation platform. As part of the squad, I led the backend implementation, rebuilding the service using AWS Lambda and migrating the infrastructure to AWS CDK. The result was a fully supported, first-class integration within Predict, allowing video responses to be captured and managed natively within the new platform.
Separately, I initiated an architecture-refinement effort across the AWS CDK codebase. Over time, the infrastructure definitions had drifted from the actual system architecture. I restructured the CDK stacks to align cleanly with the updated architecture, moved the codebase to consistent Level-3 constructs, and refreshed the documentation and architecture diagrams to improve maintainability and developer onboarding.
Results
This programme of work has strengthened the technical foundations of the Predict platform and supported Vypr’s transition away from its first-generation Ruby system. The UK mobile panelist app now operates seamlessly across both platforms, allowing migration activity to progress without disrupting live research activity.
The redesigned DynamoDB data model has provided a clear, scalable structure for future growth. The platform has moved from a multi-table structure to a single-table adjacency-list design with standardised access patterns across two GSIs. This has reduced the risk of data-integrity issues under concurrency, improved performance consistency, and created a simpler, more maintainable domain model.
The new data-model approach is already being adopted beyond the core migration work. A new AI-driven product feature was built using the new model from the outset, and the video-response “steer” feature was migrated to Predict using the same architectural principles. The broader migration programme is progressing in phases: two legacy tables have already been migrated, with real-time data synchronisation and Athena-based row-level validation used to ensure data integrity during each transition. This migration programme is currently in progress.
The migration of the video-response service into Predict has delivered immediate product value, while the restructuring of the AWS CDK codebase has improved architecture alignment, maintainability, and developer onboarding across the engineering organisation.