Platform apps look like small projects and are not. The client is the easy part. The difficulty is everything the platform imposes: rate limits, webhook delivery that is at-least-once whether or not you designed for it, review processes with opinions, and API changes on someone else’s schedule.
These are distributed-systems problems wearing a product costume. They are the same problems as an event-driven settlement platform, at a smaller scale and with less forgiving deadlines.
Meta platform apps
Applications across the Meta ecosystem, built against the permission model and review process as they actually are. Integrations designed so a policy change or an API deprecation is a contained piece of work rather than a rewrite.
Shopify apps and storefronts
Embedded apps and storefront work where the merchant’s data is the constraint that matters. Webhooks treated as at-least-once from the first line — because they are — with idempotent handlers, so a redelivery during a flash sale does not duplicate an order.
Android
Native Android applications with an offline-first posture where the domain calls for it, and a sync model designed deliberately rather than discovered in bug reports. Informed by years of work on device fleets where the network is a hypothesis, not a guarantee.
The part that outlives the app
Clients get replaced. Platforms deprecate. The backend, data model and integration contracts are what persist, so they are designed first and designed properly — the same way as any other system here.