All selected work

Independent product · Web application

DayFlow

Shared travel planning across online and offline use

Itineraries, maps, budgets and documents in one application, with offline support and authorised access for external assistants.

Next.jsTypeScriptPostgreSQLSupabaseStripeMCP
Visit DayFlow

System overview

  1. Web app & offline state

    React · Next.js · local operations

  2. Application services

    Permissions · entitlements · MCP

  3. PostgreSQL

    Trip data · atomic usage reservations

Simplified architecture. Web and assistant requests share application permissions and data boundaries.

Context

A travel plan combines several kinds of information and needs to remain useful when connectivity changes. Adding an assistant interface introduces another requirement: external tools must operate within the same account and trip permissions as the application.

My contribution

  • Built a React/Next.js and TypeScript application with shared itineraries, maps, budgets and documents.
  • Implemented offline access and synchronisation, with PostgreSQL and Supabase supporting the application data.
  • Added Stripe entitlements and an authenticated MCP interface, including permission checks and atomic usage reservations.

Engineering decisions

Treat offline work as a synchronisation problem

Offline access needs more than cached screens. Local state and queued operations need a path back to the server when connectivity returns. That adds reconciliation and recovery behaviour to the application.

Keep assistant access within the application’s permissions

MCP operations authenticate the caller and check access to the requested trip. Connecting an assistant does not grant it access to another account’s information. Permission failures are covered by regression tests.

Reserve usage atomically in PostgreSQL

Concurrent requests can each observe the same remaining allowance. Database reservations make the usage decision atomic, with regression coverage for competing requests and permission boundaries.

Validation

  • Regression tests cover unauthorised MCP requests and trip permissions.
  • Concurrency tests exercise database usage reservations.
  • The development workflow combines automated checks with functional review of the application.

Outcome

Delivered a shared planning application with online and offline workflows, plus a permission-aware interface for external assistants. The engineering focus is keeping account access and usage rules consistent across those entry points.

Discuss the project

Get in touch about the work or a full-stack role.

Next: Platefy