Native mobile controls
Mobile action buttons with information alongside them
PitchAI developed a native iOS tool for configurable HTTP actions, then expanded it into a dashboard combining action buttons and information cards.
- Context
- Internal tools
- Stage
- Developed and tested mobile app
- Published
A saved button for a configured request
The original requirement was a mobile launcher with persisted button configuration, HTTP endpoints and payloads, and a visible response status.
Each button stores its request configuration. The app checks the endpoint and JSON payload before sending, then shows the response status or request failure.
Arrange actions and information on the same grid
A later requirement added a grid with saved positions and sizes. Users can move and resize controls in edit mode. Placement checks reject overlaps.
Information cards extend that grid beyond actions. A card fetches content from its configured endpoint and shows a ready or failure state. Buttons can be linked to cards for refresh, keeping a related control and its information on the same screen.
The configuration also supports shared, custom or absent authentication headers for individual buttons and cards. That lets protected and unprotected endpoints coexist in one dashboard.
Show what the request actually established
For a button that waits for a response, the app compares the HTTP status with its configured success policy. A successful status triggers the linked-card refresh path; a failure remains visible as a failure.
The app also supports fire-and-forget requests and prefetched card content. A fired request is distinct from a successful response, and a prefetched card is distinct from a fresh reading after an action. The interface maintains separate states for these cases.
Developed and tested, with public release still pending
The tool was built and verified in an iOS simulator. Earlier builds also have physical-device test and App Store Connect upload records. At the July 2026 delivery checkpoint, the newest build still awaited upload. These records establish development and testing, rather than a public App Store release.
The request launcher grew into a dashboard with adjustable controls, fetched information, linked refresh and authentication settings for each item.