Software Engineer · Founding Team Member, CaptaLog
December 2024 – PresentRuby on Rails 8 · MySQL 8 · Amazon RDS · Amazon EC2 · React Native · Expo · TypeScript · SQLite · MCP
- Founding team member, involved in product, technical and business decisions.
- Designed and built the offline-first mobile app from scratch in React Native on Expo, for iOS and Android. Over a year of continuous development; live on the App Store and Google Play.
- Defined and implemented the synchronisation strategy: fire-and-forget dispatch from the device plus a symmetric reconciliation pass, so field data is captured without connectivity and device/server divergence is resolved without data loss.
- Integrated the mobile app and the web platform through versioned sync contracts: the backend generates and publishes the contract for every payload and the app consumes it as a fixture, so its transformation tests fail when the contract moves. Divergence between the two sides surfaces in CI instead of in the field.
- Designed and implemented the platform's authentication on OpenID Connect with PKCE.
- Fullstack development of the web platform, including the inspection checklist engine with multiple question types and nested structures.
- Established the testing practice across both repositories: separate unit and integration suites on the mobile app, and unit, integration and system tests with measured coverage on the web platform. Linting, formatting and static security analysis run on every commit.
- Designed and built the MCP integration, exposing the platform to AI assistants for task creation, checklist editing and publishing, issue management and document lookup.
- Agent-assisted development as the standard workflow: one isolated worktree per task, agents implementing and reviewing against written repository conventions, and an in-house MCP server giving them access to the platform domain. Technical judgement, review and the decision to merge stay human.
- Production observability instrumentation and failure resolution on field devices, where the error rarely reproduces on a desk; including silent validation errors that caused complete rendering failures in the editor.
- Competitive analysis of the field inspection software market as input for product decisions.