Privacy-first photo, video, and storage cleanup for iOS and Android.
LumaClean is a native mobile app and open-source technical capability demo built with the AI Prompt Library. It shows how a short product brief can become a planned, source-backed, testable implementation across SwiftUI, Kotlin, platform media APIs, privacy documentation, store metadata, release checks, and generated visual assets.
This repository is also a public example of how Creatrixe thinks about applied AI: systems that earn their keep, stay close to the domain, and produce operational software rather than just a chat transcript. Creatrixe's GitHub presence lives at github.com/creatrixe.
LumaClean started as a product brief: build native iOS and Android apps that help users clean up photo/video libraries, resume progress, find new media since the last run, and preserve user privacy by keeping processing on device.
The AI Prompt Library was used to turn that brief into:
- Product vision, feature plans, task contracts, dependency graphs, and delivery order.
- Native iOS implementation surfaces using Swift, SwiftUI, PhotoKit-oriented architecture, and local persistence models.
- Native Android implementation surfaces using Kotlin, Jetpack Compose, MediaStore-oriented architecture, Room/DataStore-style local boundaries, and scoped-storage posture.
- Privacy, security, store submission, release readiness, screenshot, and visual asset artifacts.
- Verification scripts for build readiness, no-user-media-network checks, screenshot assets, and store visual assets.
The interesting part is not that AI generated files. The interesting part is that the work is traceable: prompts, tasks, acceptance criteria, source ledgers, release gates, and implementation artifacts live in the repo.
LumaClean is designed as a calm, native, privacy-first cleaner:
- Swipe-first photo and video review with visible keep/delete controls.
- Local progress tracking so users can stop and resume.
- New-since-last-run queues to avoid repeated review.
- Smart cleanup shortcuts for large media, old media, screenshots, similar items, blurry media, and possible sensitive candidates.
- Review-before-delete flows using OS-approved confirmation patterns.
- Fixture/demo screenshots and synthetic visual assets, not real user media.
- No account requirement in v1.
- No cloud media processing in v1.
The app is intentionally not a RAM booster, antivirus product, hidden-file cleaner, cloud backup tool, or automatic deletion agent.
Security and privacy are core to this demo, not a footer.
The central invariant is:
Photos, videos, thumbnails, filenames, EXIF/GPS data, platform media IDs, OCR text, smart labels, embeddings, cleanup decisions, and progress must not leave the device for v1 media cleanup.
Current local enforcement includes:
- Android manifest checks for no
INTERNETand noMANAGE_EXTERNAL_STORAGE. - Static source scans for common runtime network clients such as
URLSession,OkHttp, andRetrofit. - Store privacy and data-safety documentation under docs/store.
- No-user-media-network documentation under docs/privacy/no-user-media-network-enforcement.md.
- Release readiness checks in scripts/release-readiness.sh.
- Build/privacy gate in scripts/build-gate.sh.
Run the local privacy/build check:
bash scripts/build-gate.sh --check-onlyRun the release-readiness check:
bash scripts/release-readiness.sh --check-onlyRelease readiness may report pending external items such as App Store Connect credentials, Play Console credentials, signed release artifacts, and live public URLs. Those are expected until a release environment is configured.
| Path | Purpose |
|---|---|
| MY_PROJECT.md | Original product brief and constraints. |
| .ai-prompts | AI Prompt Library submodule. |
| prompts/outputs/current | Generated planning, source-ledger, task, and execution artifacts. |
| ios | Native iOS app project. |
| android | Native Android app project. |
| docs/privacy | Privacy boundaries, data inventory, no-network enforcement, support-copy constraints. |
| docs/store | Store metadata, privacy/data-safety forms, permission justification, visual asset map. |
| docs/release | Release readiness, signing, crash/vitals, and versioning docs. |
| assets | App icon masters, generated marketing images, and synthetic placeholders. |
| fastlane | Screenshot and store metadata export folders. |
| scripts | Build, setup, release-readiness, and visual asset verifiers. |
| tools | Screenshot verification and visual asset generation tooling. |
This project is a concrete demonstration of an AI planning/execution pipeline:
- A human writes a product brief in MY_PROJECT.md.
- The AI Prompt Library expands it into epics, features, tasks, risks, store artifacts, and verification contracts.
- The executor works task-by-task against real file paths and real acceptance criteria.
- The repo keeps the audit trail: source ledger, task graph, execution log, release gates, screenshots, and generated assets.
That makes LumaClean useful as a reference for teams asking a practical question: can AI-assisted software delivery create something auditable, privacy-aware, and product-shaped rather than just a pile of generated code?
This project is intended to be useful as an open-source reference implementation for:
- Native mobile privacy and media-permission patterns.
- Local-first product architecture.
- AI-assisted planning with deterministic task gates.
- App Store and Play Store readiness artifacts.
- Privacy-first store copy and release review preparation.
- Synthetic screenshot and marketing asset workflows.
Before publishing a public release, add or confirm the repository license, contribution policy, and security reporting policy. Until a license file is present, treat the code as source-available for review rather than assuming broad reuse rights.
Creatrixe is interested in maintaining, adapting, and white-labeling this style of product for clients.
Potential client engagements include:
- White-label photo/video cleanup apps with client branding.
- Privacy-first native mobile utilities for regulated or trust-sensitive domains.
- AI Prompt Library-driven planning and implementation pipelines for internal product teams.
- Security/privacy audits of AI-assisted mobile products.
- Store submission preparation, screenshot systems, and release-readiness gates.
- Long-term maintenance retainers for native iOS/Android apps.
If your team wants this capability adapted to your business, start at creatrixe.com or the Creatrixe GitHub organization at github.com/creatrixe.
Check local setup:
bash scripts/dev-setup.sh --check-onlyRun the check-only build/privacy gate:
bash scripts/build-gate.sh --check-onlyRun Android compilation from the Android project:
cd android
./gradlew :app:compileDebugKotlin --no-daemonRun an iOS simulator build:
DEVELOPER_DIR=/Applications/Xcode-27.0.0-Beta.app/Contents/Developer \
xcodebuild build \
-project ios/LumaClean.xcodeproj \
-scheme LumaClean \
-destination 'platform=iOS Simulator,name=iPhone 17'Verify generated visual assets:
VISUAL_ASSET_PYTHON="$HOME/.cache/codex-runtimes/codex-primary-runtime/dependencies/python/bin/python3" \
bash scripts/release-readiness.sh --check-onlyThe repository contains native iOS and Android implementation surfaces, generated release/store documentation, fixture screenshot assets, app icon and marketing assets, and local verification scripts.
Known release blockers are external rather than product-source claims: signed release artifacts, store credentials, public support/privacy URLs, and human approval of final screenshots and visual baselines are still required before real App Store or Play Store submission.
Please do not open public issues with private media, screenshots of personal libraries, tokens, signing material, or service-account credentials.
For now, contact Creatrixe through creatrixe.com for responsible disclosure or maintenance inquiries. A dedicated SECURITY.md should be added before broad public launch.