Back to Portfolio
Velum logo Coming Soon iOS 2026 · 10 / 11 Visit live

Velum

Your library. Your device. Nothing else.

React NativeExpoSwiftCore MLSigLIP 2SQLiteStoreKitEAS Update
Year
2026
Duration
Built in 2 weeks · in App Store review
Team
Mahere & Caner
Status
Coming Soon
By the numbers

Scope, speed, and what we delivered.

From idea to launch 2 weeks so far2 Wochen bisher
Categories, one tap to hideKategorien, ein Tipp zum Ausblenden
6
Per photo on the Neural EnginePro Foto auf der Neural Engine
~20 ms
Images that leave the phoneBilder, die das Handy verlassen
0
Delivered by Fluxera
DesignDesign MobileMobile AIKI OperationsBetrieb
Who built it
  • MahereMahere 70%
  • CanerCaner 30%

The whole design is by Caner, from the app interface to the silk-veil icon and logo. Code and models: Mahere.Das gesamte Design stammt von Caner, von der App-Oberfläche bis zu Icon und Logo mit dem Seidenschleier. Code und Modelle: Mahere.

What this means for you

An iPhone app with machine learning that runs entirely on the device: our own trained models, a native Swift module, background processing, and a one-time in-app purchase.Eine iPhone-App mit Machine Learning, das komplett auf dem Gerät läuft: selbst trainierte Modelle, ein natives Swift-Modul, Verarbeitung im Hintergrund und ein Einmalkauf in der App.

Overview

What is Velum?

Velum scans the photo library on the iPhone for the photos not everyone should see: nudity, cannabis, other drugs, violence, creepy content, and alcohol and party shots. Every hit carries a level (High, Medium, or Low), and for each category the user decides which level counts. One tap moves the hits into the Photos app's Hidden album, which iOS protects with Face ID: no second vault, no copies, no extra password to forget. If wanted, Velum checks new photos and videos at night while the phone charges and reports back with a neutral notification that reveals nothing on the lock screen. Nudity is free; Velum Pro unlocks every other category as a one-time purchase.

The Challenge

The problem we set out to solve.

A scanner for the most private photos on a phone only makes sense if it never uploads them. That rules out cloud vision APIs: the models have to ship inside the app and still be fast enough to go through tens of thousands of photos in minutes. Detection had to be sharp where it matters and calm everywhere else, so statues, swimwear, herbs, kitchen knives, and memes do not turn up as hits. And iOS is strict about background work, so a long scan has to survive the user leaving the app.

Our Solution

How we built it.

An Expo app with a native Swift module. SigLIP 2 computes one embedding per photo through Core ML on the Neural Engine, and every category is a small linear head on top; nudity also draws on a dedicated NSFW model. The heads come from our own training pipeline: images collected from Wikimedia Commons and Openverse with source and licence per file, reviewed cluster by cluster, augmented with crops, JPEG artefacts, blur, screenshot frames, and meme bars, and split by near-duplicate groups so copies never land on both sides of the test. Look-alikes such as herbs, cigarettes, and statues are trained as hard negatives. The index lives in SQLite, so every photo is checked once and later scans only pick up new ones. Because the heads are small JSON files in the JavaScript bundle, a retrained model reaches every phone through EAS Update without a new build, and the app rescores its stored embeddings at the next launch. Pro is a non-consumable StoreKit purchase without any third-party billing service.

In Action

See it in action.

Scan: time window and the categories to look for
Hits, blurred, with a level per photo
Minimum level per category
Settings: night scan while charging
Tech Stack

Under the hood.

Platform
iOS (iPhone), Expo SDK 57, Expo Router
Native
Swift module: Core ML, Photos, SQLite index
Models
SigLIP 2 with linear heads, Marqo NSFW
Training
Own pipeline: Wikimedia Commons, Openverse, cluster review
Background
iOS background tasks, night scan while charging
Purchases
StoreKit one-time purchase, no subscription
Delivery
EAS Build, TestFlight, models over the air
Website
velum.fluxera.us, static on Cloudflare Workers
Attention to Detail

What we paid attention to.

  1. 01

    No image leaves the phone

    Both models ship inside the app, the index is a local database, and Velum works in airplane mode. There is no account, no analytics, and no server that could ever see a photo.

  2. 02

    Hide, not a vault

    Velum keeps no copies. Hits move into the Hidden album that iOS already protects with Face ID and come back with one tap in the Photos app.

  3. 03

    Better models without a new build

    A category head is a few kilobytes of JSON. A retrained head reaches every phone over the air, and the app rescores from stored embeddings instead of scanning the library again.

Result

Where we are today.

Velum 1.0 is submitted to the App Store. The TestFlight builds of 1.0.1 add video scanning, a scan that keeps running after the app is minimised, and the Pro category "Alcohol & Party". The website with privacy policy, support, and terms is live at velum.fluxera.us in German and English. Velum Pro costs a one-time €9.99.