Back to My Work

Case Study

Apple Icons

Apple Icons is a web application that assists developers of Apple products in obtaining the precise icon size required for their application’s specifications for Xcode developing apps.

Overview

Apple Icons Generator is a production web app that turns one high-resolution image into complete icon sets for Apple’s platforms iOS, iPadOS, macOS, watchOS, tvOS, and visionOS. Users upload a square source image, pick platforms, and download a ZIP with sizes and filenames aligned to Apple’s Human Interface Guidelines, ready for Xcode and App Store workflows.

What was included

  • Multi-platform icon generation from a single upload (1024×1024+)
  • HIG-oriented sizing and naming, packaged into a downloadable ZIP by platform
  • Accounts with email activation, sessions, and optional TOTP 2FA
  • Free and one-time paid tiers (usage limits, platform limits, ads on free only)
  • Stripe Checkout for one-time purchases (no subscriptions / no proration)
  • Support tickets, admin tooling, notifications, and legal pages (Privacy / Terms)
  • Branded transactional email
  • Docker-based local and production deploy (app, database, reverse proxy / HTTPS)
  • AdSense hooks for free-tier monetization (served after Google site approval)

Challenge

Apple’s ecosystem doesn’t use one icon size. Each platform has its own set of required dimensions and naming conventions. Designers and indie developers often resize by hand or rely on incomplete scripts slow, error prone, and hard to keep current as platforms change.

The product challenge was to make that pipeline one step upload once, choose platforms, get a correct ZIP while still supporting a real product: accounts, fair free usage, paid unlocks, payments, email, support, and a deployable production setup.

Approach

- Mapped platform requirements into a single generation pipeline that scales/pads the source into a 1024 base, then emits each required size and packs a structured ZIP.

- Built a small PHP MVC app with clear limits by plan (generations, platforms, ads) enforced server-side.

- Used one-time Stripe Checkout sessions so pricing stayed simple for users (final payment, not a subscription).

- Separated concerns: image processing, auth/security, billing webhooks, mail, and admin/support

- Shipped with Docker so local and production stayed the same shape (app + MySQL + HTTPS edge), with production config tuned for a small VPS

Next step

Want this level of thinking for your product?

I can help shape the strategy, design the UX, and ship the build.