Urgent.News

What's breaking now, across thousands of outlets.

Tech

How I Built BackPocket and Submitted It to Both App Stores in Eight Days

BackPocket reached store review in eight days. Written invariants and real-device testing caught the dangerous bugs that passing tests missed.

How I Built BackPocket and Submitted It to Both App Stores in Eight Days

Eight days ago, the GitHub repository contained just one commit labeled "first commit." Today, it boasts 167 commits, with an iOS build in App Store review and an Android build in Play's closed testing. The application, named BackPocket, pin and reuses information. It stores frequently retyped data like policy numbers, Wi-Fi passwords, and recurring replies, presenting them through a custom keyboard in any other app. All the data remains on the device, with no account or server involved.

This story recounts the journey of creating BackPocket. The story's duo, Arjun and the reporter, never met in person since they attended different universities, twelve years apart. They chose to collaborate via Shipaton with a specific idea. After discarding six concepts, BackPocket emerged as the final choice.

Seven days were dedicated to building the app, while one and a half days were spent deciding on the project. Before starting to build features, the reporter wrote down invariants, short, numbered rules that the app should never break. Examples include INV-01, which states that the core functionality is local-first and account-free, and INV-08, which ensures that creating is paid, while existing templates and kits remain viewable and fillable indefinitely, regardless of a subscription lapse.

The reporter emphasized the importance of having these rules in place before becoming exhausted. He structured the app four times during the eight-day project, each time resulting in a distinct design language. Initially, the app followed a Notion-esque style, followed by a warm ivory palette called Quiet Utility, then a teal-accent reskin on a near-black background, and finally, a consistent Source Serif 4 face with monospaced numbers for a more data-like appearance.

A critical rule that helped unify the app's design was the use of a single accent color, which only marked what was live—selected, focused, pinned, or the primary action on screen. This rule ensured that everything important was highlighted, making nothing go unnoticed.

During the development process, the reporter built an icon set and onboarding layout from a branch with a redesigned onboarding screen, which included a sign-up screen despite the app's no-account policy. The reporter eventually dropped the sign-up screen, as it served no purpose. Additionally, a "Ready to reuse" shelf on the home screen was removed, as it only added unnecessary layers between the user and the search bar.

When submitting the app to Apple, the reporter faced a rejection based on Guideline 2.1, which demanded information about how the keyboard was enabled and whether any account was required. This feedback made sense, as a custom keyboard is only visible after enabling it in the settings, and if the reviewer cannot find it, the feature does not exist.

The reporter also learned that beta-built binaries were rejected by App Store Connect only after completing the entire archive and upload process, leading to a preflight check that fails instantly instead of waiting for ten minutes.

Lastly, the reporter highlighted a bug discovered on day five, where templates crashed on every Android device. The root cause was a single character in the placeholder regex, which failed to compile due to an unescaped closing brace. This issue required immediate attention to ensure the app's stability on Android devices.

Written by urgent.news from HackerNoon's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at hackernoon.com →

More in Tech

More from Wednesday 9 September →