About
I am a lead full-stack engineer at Ecolab. I lead Remote Equipment Monitoring (REM) and work on KitchenIQ, Ecolab’s cloud platform for foodservice operations.
At work the client is Flutter and Dart, and the services behind it are moving from Python to C# on .NET, running on AWS Fargate, EC2 and S3. Away from work I keep the Flutter half, stay on C# and .NET, and reach for Next.js when something needs to be found by a search engine.
The problems I enjoy are the ones where the difficulty sits in the domain model rather than the framework: a Sudoku generator that has to guarantee both a unique solution and a human-solvable path to it, or an idle-game economy balanced across ninety upgrade cards.
Referenced Work
Skills
- Flutter & Dart: since Flutter’s launch and Dart 2.x; BLoC, Stacked MV-VM, Riverpod and GetX
- C# & .NET 8: minimal APIs and services, provisioned with AWS CDK
- Python: AWS SAM, Lambda and API Gateway; Flask and Django
- AWS: Fargate, EC2, S3, Lambda, API Gateway, DynamoDB, Cognito and CDK
- TypeScript & JavaScript: React, Next.js static export, Express and Node.js
- Data: SQL (MySQL, PostgreSQL), MongoDB, DynamoDB, Cloud Firestore and Firebase Realtime Database
- APIs: versioned HTTP and WebSocket APIs behind API Gateway
- Delivery: Git, Docker, Bash and Zsh, CI/CD on Bitrise, Scrum and Kanban, Jira and AHA
Experience
Lead Full-Stack Engineer @ Ecolab
Remote. Lead Remote Equipment Monitoring (REM) and work on KitchenIQ, Ecolab’s cloud platform for foodservice operations. Flutter on the client; services migrating from Python to C# on .NET, running on AWS Fargate, EC2 and S3.
Full-Stack Developer @ baseline.io
Remote. Flutter against telemetry data: OpenStreetMap and Google Maps visualisation, reusable microservices, and a Cloud Firestore plus Firebase Realtime Database split for structured records versus real-time events. Stacked MVVM, shipped through Bitrise.
Contract Developer @ ClickSpace Inc.
Remote, three-month contract. Led the front end of Ultimate Fan, a browser-based game, in React and Material UI with Firebase driving real-time updates.
Developer @ Budvue
Remote. Built Print Menus end to end, turning client POS data into printable PDF menus on demand or on a schedule, and took over the BudGuide Flutter app in 2023, running its releases to the app stores.