MacSiem.dev

Ten mobile apps
for the everyday stuff.

Hi, I'm Maciej — an indie developer. Ten of my apps are live on the App Store today, nine of them on Google Play as well: Compresser, Mote, Archivr, VaxJournal, DeMotion, Upscalr, Bobas, BabySteps, Echo and Tokenly.

They all follow the same rules: work offline, keep your data on the device, and never lock the core feature behind a paywall. No accounts, no tracking, no sync you did not ask for.

Alongside them I maintain a free, open‑source Home Assistant toolkit and the odd web tool.

Mobile apps 10 apps · live on iOS & Android · one shared codebase

Every app below is live in both stores unless a chip says otherwise. Nine of them share a single React Native + Expo SDK 54 codebase, which is how one person keeps ten apps current on two platforms — a fix in one lands everywhere.

Compresser: Compress & Convert

Live · iOS Live · Android React Native Expo SDK 54

Native mobile app for compressing media locally — images, video, documents (PDF) and audio, all processed on‑device, nothing uploaded. Bottom‑tab navigation (Images / Video / Documents / Audio / Settings), batch image mode, light/dark theming, and a one‑time Premium unlock + tip‑jar to remove ads. Available now on the App Store and Google Play.

Mote: Everyday Appreciation

Live · iOS Live · Android React Native Expo SDK 54

Pair‑based mobile app for appreciating your partner — not replacing the conversation, triggering it. Two people pair with a 6‑character code, then exchange small appreciations ("for something" / "just because") across three delivery modes (instant, private, scheduled). The receiver reacts with one of four emoji — no text reply by design, so the real talk happens face‑to‑face. End‑to‑end encrypted, offline‑first, with a Cloudflare Worker + Durable Object handling pairing and an account‑backed encrypted cloud backup (Sign in with Apple / Google). Live on both App Store and Google Play.

Archivr: Pack & Lock Archives

Live · iOS Live · Android React Native Expo SDK 54 libarchive

Local‑first mobile app for packing, unpacking and password‑protecting archives on your phone — never uploaded. Handles ZIP (AES), 7z (content‑ and header‑encrypted), TAR / TAR.GZ, RAR (read‑only) and PDF password add/remove, powered by custom native modules wrapping libarchive, PLzmaSDK and Apache Commons Compress. Bento UX baseline shared with Mote, with a "Recent" / "History" hub and one‑time Premium + tip‑jar pricing. Available now on the App Store and Google Play.

VaxJournal: Family Vaccines

Live · iOS Live · Android React Native Expo SDK 54 Health

Private family vaccination tracker — profiles, schedules, history, reminders, custom vaccine entries, and an offline vaccine database based on official Polish PSO / URPL references. Health records stay on the device, with encrypted backup and Apple / Google sign‑in for cross‑device restore. Premium unlocks unlimited family profiles, custom records beyond the default schedule, and removes ads. Available on the App Store and Google Play.

DeMotion: Strip Photo Motion

Live · iOS React Native Expo SDK 54 PhotoKit

Photo utility that strips the motion / Live Photo layer from iPhone shots — keeping just the still frame you actually want, in‑place in your library. Uses a custom Swift PhotoKit native module (PHContentEditingOutput) to edit photos non‑destructively, so the original Live can still be restored later. iOS‑only by design — Android was retired in 2026‑05 after the platform stripped Motion Photo APIs that made a cross‑platform implementation viable. Available now on the App Store.

Upscalr: AI Photo Enhancer

Live · iOS Live · Android React Native Expo SDK 54 Core ML

On‑device AI photo upscaler and enhancer — sharpens, denoises, and enlarges images up to while keeping faces natural, skin believable, and colors preserved. The whole pipeline runs locally (Core ML on iPhone, ONNX on Android) — no upload, no account, no cloud. Pick a photo, slide before/after, save in higher resolution or share. Available now on the App Store and Google Play.

Tokenly: AI usage & cost tracker

Live · iOS Live · Android Live · macOS Soon · Windows Rust core SwiftUI · Compose · Tauri

One calm dashboard for every AI plan you pay for — subscription limits, extra credit packs and API spend across Claude, ChatGPT / Codex, Gemini and more. The desktop app reads the numbers straight from each provider on your own machine; nothing routes through a server of mine, and your prompts are never read, stored or relayed. Your phone pairs once with a QR code and mirrors the dashboard over your local Wi‑Fi, end‑to‑end encrypted. The iOS and Android companions are now live in both stores. The Mac app is free — no limits, no ads.

Bobas: Baby Care Tracker

Live · iOS Live · Android React Native Expo SDK 54

Baby‑care tracker for parents — feeding, sleep, diapers and growth, shared between both parents and kept on device. Built for quick logs, daily context, and the small patterns that matter when care is split across two tired adults. Available on the App Store and Google Play.

BabySteps: Baby Milestones

Live · iOS Live · Android React Native Expo SDK 54

Baby milestones journal for photos, first words, first steps, and the small moments that disappear too quickly. Private and on‑device by default, with partner sharing when you want both parents adding to the same story. Available on the App Store and Google Play.

Echo: Emotion Journal

Live · iOS Live · Android React Native Expo SDK 54

Emotion journal for tracking how you feel and spotting patterns over time. Private and on‑device, with a calm daily check‑in, lightweight notes, and enough history to notice what keeps coming back. Available on the App Store and Google Play.

Home Assistant tools 18 tools · free & open source · HACS

The other half of the workshop: a modular toolkit for Home Assistant, split into individually installable HACS repos. Free, open source, bilingual (PL/EN).

Home Assistant tools

Open source JavaScript HACS Home Assistant 18 tools · 20 repos

A family of 18 modular utilities for Home Assistant, grouped into Advanced, Device Health, Home & Family and Smart Reports & Energy. Originally shipped as one monorepo, now maintained as split Lovelace plugin repos, custom clusters and HACS integration repos where they still make sense. Automation Analyzer, Trace Viewer, Frigate Privacy, YAML Checker, and more — all bilingual (PL/EN) and built on a shared Bento design system.

Explore all 18 tools 18

Every listed tool below was originally a panel inside the ha-tools monorepo and is now maintained as a public repo or small custom cluster where that still makes sense. Sentence Manager and Network Map are now full HACS integrations after v5 rewrites. Install the whole bundle, or pick what you need. Filter by group or click any tile to see what it does.

18
Tools
6
In HACS default
10
PRs open
2
Custom repository
🃏 Lovelace plugins HACS default

Dashboard cards — search HACS and install, zero config. Four are already in the default store (Automation Analyzer, Data Exporter, Device Health, Energy Optimizer); the rest are in the review queue.

⚙️ Integrations HACS default

Full custom_components with bundled cards — they run server-side 24/7 (schedulers, .storage, services). Sentence Manager, Network Map and Vacuum Water Monitor are in review; more are being migrated from cards.

🔗 Custom repository HACS via URL

Installed by pasting the repo URL into HACS → Custom repositories. Currently: Storage Monitor, Purge Cache, Config Auditor and the optional SMTP e-mail backend.

No tools in this group.

Web tools 1 tool · runs in the browser · nothing to install

Szlaban Nowa Iwiczna

Live · Web PL · EN Vanilla JS No backend One HTML file

A single static page that answers the one question everybody at the Nowa Iwiczna level crossing asks: how long am I going to sit here? It rebuilds a whole week of barrier closures from the real Koleje Mazowieckie timetable plus modelled SKM, Intercity and freight paths, then simulates the car queue minute by minute against a national traffic profile. The crossing is gatekeeper‑operated, so the interesting part is not one train — it is closures merging when the next train is under 2.5 minutes behind, which is how a three‑minute closure quietly becomes a twenty‑minute one. No backend, no API keys, no tracking.

About

I'm an indie developer, and most of what I ship is a mobile app. Ten are live right now across the App Store and Google Play — photo and file utilities, family health and baby‑care trackers, journaling, and an AI spend tracker. Nine share a single React Native + Expo SDK 54 codebase, which is how one person keeps ten apps current on two platforms. Alongside them sits an 18‑tool Home Assistant kit and a web tool for the level crossing next to my town. The common thread: I reach for all of them myself.

The apps are free to use. I do not like intrusive ads or hard paywalls, so ads are non‑personalized and Premium only ever unlocks affordable optional extras in apps such as Mote and VaxJournal — that's what funds new features. Data stays on your device by default; there is no account to create and nothing to sync unless you ask for it. The Home Assistant tools are free and open source on github.com/MacSiem. This page itself is a single, static HTML file served from a Mac mini at home via Cloudflare Tunnel — no tracking, no analytics, no build step.

Focus areas

What I reach for most often:

React Native Expo iOS Android TypeScript JavaScript Offline‑first App Store / Play release ops Home Assistant HACS Lit / Web Components Python Claude API