Pocket Interview Prep app icon
Coming soon to the App Store

Coding interview prep that fits in your pocket

Real problems, a real code editor, and the patterns behind them. Write Java, Python, or C++ and run it right on your phone.

What's inside

Built for engineers prepping for algorithmic interviews

Not a learn-to-code app. It skips the basics and drills the patterns and techniques interviewers actually test.

Run your code on-device

Java, Python, and C++ interpreters run on your phone and check your solution against every test case, offline.

See how it scales

Once every test passes, it measures how your solution grows with input size and points at the loop that costs the most.

Learn the patterns

Short, scannable lessons on two pointers, monotonic stacks, Dijkstra, DP state design, and interview technique.

Remember it for the interview

Spaced repetition flashcards. Finish a lesson or problem and its cards are dealt into your deck, timed for review right before you'd forget.

Sketch it first

Swap the editor for a whiteboard to draw out the pointers, the tree, or the grid before you write a line.

Private by design

No account, no tracking, no network requests. Your code and progress never leave your phone.

Free and Pro

Start free, no sign-up

The first two units are free forever, with no account and no trial clock.

Free

  • Units 1 and 2: 14 problems and 9 lessons
  • Every flashcard deck
  • Java, Python, and C++

ProAll 12 units

  • All 150 problems and 50 lessons
  • Monthly, or a one-time lifetime unlock
  • Restores with your Apple Account
FAQ

Questions, answered

Does it work offline?

Always. The app never makes a network request. The only thing that needs a connection is an App Store purchase.

Which languages can I write in?

Java, Python, and C++. Every problem has starter code and a verified solution in all three, and each language gets its own saved solution, so switching never overwrites your other work.

Is this the real language?

It's a large subset of each, aimed at interview code. The interpreters run on your phone rather than on a server, so a few things behave differently:

  • Python integers are 64-bit. A value too large to fit raises OverflowError instead of growing without limit. No problem in the app needs numbers that big.
  • In C++, size() returns a signed count, so v.size() - 1 on an empty vector gives -1, and uninitialized locals read as zero. Correct code behaves exactly the same.
  • Some larger features are out of scope, such as try/catch and interfaces in Java, generators and class inheritance in Python, and templates and virtual functions in C++. If you hit one, you'll get a clear message rather than a wrong answer.
What's free and what's Pro?

Units 1 and 2 (14 problems and 9 lessons) plus every flashcard deck are free forever, with no account and no prompt. Pro unlocks the remaining 10 units, monthly or as a one-time lifetime purchase.

Which languages is the app in?

English, Japanese, Korean, and Simplified Chinese, including every lesson, problem, and flashcard. It follows your iPhone's language, and you can switch any time in Settings > Language.

I reinstalled and lost my progress.

Progress lives only on your device, so deleting the app removes it. Purchases come back with Restore Purchases on the Pro screen.

How do I report a bug or suggest a problem?

Email . Every message gets read.

Need a hand?

Found a bug, stuck on a purchase, or have a problem you'd love to see added? Get in touch at .

Email support