Cultured (formerly EngageArt)
About the Platform
Cultured transforms cultural exploration by blending location-based audio tours with immersive augmented reality experiences. The platform partners with tourism organizations and local businesses across multiple Canadian and U.S. cities to deliver engaging, educational content that brings history and art to life.
Users can discover curated tours, explore cultural landmarks through AR overlays and interactive experiences, and interact with historical content in ways that traditional tours cannot provide. The platform serves as a bridge between physical spaces and digital storytelling, creating memorable experiences for tourists and locals alike.
My Role & Contributions
Game Programmer → Lead Backend/Frontend Developer
Led full-stack development across Unity client applications and cloud backend services, taking ownership of critical systems from AR gameplay mechanics to enterprise B2B portals. Collaborated with designers and product managers to define and implement scalable solutions for seamless user experiences and robust data management.
▸ AR Gameplay & Interactive Experiences
- • Implemented AR gameplay mechanics and interactive experiences in Unity using AR Foundation
- • Built reusable tools and editor extensions to accelerate content delivery for multiple partner organizations
▸ Mobile App Backend (Azure Functions + Cosmos DB)
- • Architected serverless backend using Azure Functions for mobile app API endpoints
- • Designed and implemented Cosmos DB document schemas for tours, AR content, and user data
- • Optimized Cosmos DB queries and partitioning strategy for cost-efficient scaling
- • Implemented Azure B2C authentication and role-based authorization
▸ Web Applications (ASP.NET Core + Blazor WebAssembly)
- • Built internal management websites using ASP.NET Core backend with Blazor WebAssembly frontend
- • Developed B2B partner portals enabling organizations to manage tours, AR content, and analytics
- • Created intuitive dashboards for tour creation, AR asset management, and user engagement metrics
- • Implemented Azure B2C authentication with role-based access control and multi-tenant architecture for partner organizations
- • Built responsive, component-driven UIs with Blazor components
- • Integrated payment processing (Stripe) and mapping services (Azure Maps, Google Maps) for partner subscriptions and tour planning
- • Implemented AI-powered content tools (OpenAI, Unsplash) for automated tour descriptions and asset discovery
Platform Architecture
The Cultured platform consists of three interconnected systems: a Unity mobile app for iOS/Android, a serverless backend powered by Azure Functions and Cosmos DB, and web applications built with ASP.NET Core and Blazor WebAssembly for internal tools and partner portals.
Unity Mobile App
- • AR Foundation (iOS/Android)
- • Addressables asset management
- • Cinemachine & Timeline
- • Custom editor tools
- • UniTask async patterns
Mobile Backend (Serverless)
- • Azure Functions (HTTP triggers)
- • Cosmos DB (NoSQL document store)
- • AWS S3 Storage (assets)
Web Applications
- • ASP.NET Core Web API
- • Blazor WebAssembly frontend
- • Component-driven architecture
- • Role-based access control
- • Multi-tenant B2B portals
Shared Models & Single Source of Truth
I spearheaded the development of a unified model system to eliminate data synchronization issues between the Unity mobile app and web portals. This solution ensured consistent data structures across all platforms while supporting different serialization requirements.
Dual-Serialization Architecture
Created two separate C# projects within one solution - one optimized for Newtonsoft.Json (Unity compatibility) and another for System.Text.Json (web applications). Both projects share identical model definitions but implement platform-specific serialization attributes and converters.
- • Newtonsoft.Json attributes
- • Unity package format
- • IL2CPP compatibility
- • System.Text.Json attributes
- • NuGet package format
- • Source generators optimization
Automated CI/CD Pipeline
Implemented GitHub Actions workflow that automatically builds and publishes packages on tagged commits, ensuring synchronized availability across all projects through Unity UPM packages and private NuGet feeds.
Impact & Benefits
- • Eliminated data drift: Single model definitions prevented inconsistencies between platforms
- • Reduced development time: New API endpoints automatically supported by both platforms
- • Automated deployment: Zero-touch package distribution on version releases
Team & Collaboration
Worked in a fully remote, cross-functional team collaborating closely with designers, artists, product managers, and external partners. Led technical decision-making while maintaining open communication channels to ensure alignment between technical capabilities and business objectives.