ANTIGRAVITY LABJP
Articles/App Development
App Development/2026-04-18Intermediate

Building and Releasing an Art Portfolio App for iOS and Android with Antigravity — The Full Story

How I used Antigravity to build a portfolio app for my own artwork and release it simultaneously on iOS and Android — from concept through App Store and Google Play approval.

Antigravity338art appiOS27Android27release2indie dev18

Building an app to showcase your own artwork is an idea most artist-developers have at some point. I actually did it with Antigravity. Here's the complete account — from concept through simultaneous iOS and Android release — including the places where the process went sideways.

Concept Design — Building an Experience, Not a Portfolio Viewer

The first decision was framing. A "portfolio viewer" app positions the functionality at the center: view images, swipe between them, tap to zoom. That's functionally correct but doesn't create the experience I wanted.

I wanted the app itself to feel like an extension of the work — something that communicated an aesthetic before a single image was displayed.

The design decisions I locked in before writing a single line:

Minimize interface chrome: No navigation buttons, no hamburger menus, no tab bars. The work takes the full screen. UI elements appear only when needed.

Dynamic color backgrounds: The background color shifts to match the dominant tone of the displayed artwork — muted when the piece is muted, warm when it's warm. The UI responds to the content.

Minimal text: Title and year only. No lengthy descriptions competing for attention.

Writing these decisions into Antigravity's AGENTS.md before starting development shaped the quality of suggestions throughout. Antigravity stopped generating generic components and started producing things that matched the project's intent.

Technical Stack — Why React Native and Expo

Cross-platform was required — maintaining separate native codebases solo would have been unsustainable. React Native with Expo gave a single codebase that targets both platforms.

Antigravity's React Native and Expo output is stable. The core structure — image gallery, full-screen display, swipe navigation — was roughly 80% complete after the first prompt session, with AGENTS.md providing the design context.

The Dynamic Color implementation (extracting dominant colors from images and animating the background) required more work. The combination of expo-image's color extraction and react-native-reanimated v3 for smooth transitions wasn't something Antigravity could generate accurately, but it produced a useful starting point that I could understand and modify.

Two Rejection Issues That Required Manual Fixes

Apple: Privacy Manifest Requirements

The first iOS submission was rejected for a Privacy Manifest issue. Using third-party libraries like expo-image requires declaring their privacy data usage in a PrivacyInfo.xcprivacy file — a requirement that wasn't obvious from Expo's default setup.

Giving Antigravity the rejection text produced the file structure and content needed. I still cross-referenced with Apple's documentation to verify the declarations were accurate before resubmitting. Second submission was approved.

Google Play: Target API Level

Google Play requires a minimum targetSdkVersion, which updates periodically. At submission time, API level 34 was required. Expo's default configuration didn't meet this, so the submission was rejected.

The fix was updating targetSdkVersion in app.json and rebuilding. Antigravity's diagnosis of the rejection text pointed to the right configuration, though I navigated the distinction between Expo config and Android Studio settings myself by checking Expo's documentation directly.

What the App Taught After Launch

The metric that matters for an art app isn't the same as for utility apps. Average time on screen per artwork — measured through Firebase Analytics — ran much higher than typical apps. Users were spending meaningful time with individual pieces.

This was evidence that the design investment was working. Making the interface recede so the work could come forward changed how people interacted with it.

App Store reviews occasionally come from people I've never encountered through social media — the app creating a distribution channel independent of existing follower networks. That specific quality of mobile publishing isn't something that happens with a website portfolio.

If You're Considering the Same Project

The most important thing I'd pass on: write the concept before writing code.

Not the technical architecture — the experience. What do you want someone to feel when they open this app? What should disappear into the background so the work can be present? Writing those answers in AGENTS.md gives Antigravity something to orient toward. The suggestions it produces with that context are different in quality from what comes out of blank prompting.

For developers who also think in terms of aesthetics and experience, building your own platform for your own work is worth attempting. Antigravity makes the technical barrier lower than it's been for this type of project. What you invest in the concept is what determines whether the result feels like art or just software.

Share

Thank You for Reading

Antigravity Lab is ad-free, supported entirely by members like you. We publish practical guides daily with implementation code, benchmarks, and production-ready patterns. If you've found it useful, we'd love to have you on board.

  • Copy-paste ready implementation code
  • New advanced guides published daily
  • $5/mo or $10 for lifetime access
View Membership →

If you found this article helpful, a small tip ($1.50) would mean a lot to us. Your support helps keep this site ad-free and covers server and hosting costs.

Related Articles

App Dev2026-07-03
When Universal Links Break Silently — Catching Association Drift with an Agent-Run Verification Gate
Universal Links and App Links fall back to the browser with no error when your association files or entitlements drift apart. Here is a design that generates the files from one source of truth and hands weekly and pre-release checks to an agent.
App Dev2026-05-25
One Month Splitting Antigravity's Inline Edit and Agent Mode Across Four Wallpaper Apps
A month of notes from running Antigravity's Inline Edit and Agent Mode across four production wallpaper apps — with real counts, the decision rule I wrote into AGENTS.md, a one-pass dSYM fix, and how credit cost factors in.
App Dev2026-05-15
Delegating iOS App Maintenance to Antigravity — An Honest 6-Week Report
A real-world account of using Antigravity for maintenance work on Beautiful HD Wallpapers (50M+ downloads). What worked, what didn't, and what the honest conclusion is for solo developers.
📚RECOMMENDED BOOKS
Build a Large Language Model (From Scratch)
Sebastian Raschka
LLM Dev
Prompt Engineering for LLMs
Berryman & Ziegler
Prompting
AI Engineering
Chip Huyen
AI Eng
* Contains affiliate links
See all →