Back to portfolio

Latest edition · Native iOS

Encrypted Messenger — Swift

Portfolio refreshed 13 October · Ongoing native development

The latest version of my messaging app, migrated from React Native to native Swift. It brings conversations, calls, shared checklists, pinned messages and attachments together with a Node.js API and MySQL backend, plus a growing toolkit for files, privacy and server work.

Programming languages
SwiftJavaScriptSQL
Application stack
Native iOSNode.js APIMySQL

Working project · Native Swift

Native Swift Encrypted Messenger.

My Encrypted Messenger app is built in native Swift with help from ChatGPT and Claude, connected to a Node.js API and MySQL backend. Alongside chats, calls and shared checklists, the latest development adds optional SSH, Vault, metadata, encrypted notes, SFTP and code-editing tools.

Native Swift interfaceMessaging and callsOpt-in native toolkitCode Editor + SFTP

The video shows an earlier app build; the screenshot gallery shows newer native tool previews. The complete recording streams in its iPhone frame without cropping.

Application screenshots

Explore the iPhone interface

Updated iPhone captures show the native toolkit, chat sharing, code editing, workspace explorer and metadata inspection. Test captures use sample content; the shared checklist comes from the earlier recording. Select any screenshot to enlarge it.

Crypta Tools

Opt-in native tools inside Messenger, with membership-aware access and device-side processing.

Messages and sharing

An iPhone chat with photo, file, location, plan, checklist and sketch actions, plus screenshot notifications.

Light-mode conversation

The updated conversation interface in light mode, with sample messages and screenshot notifications.

Native code editing

Line numbers, syntax colours, explicit saving and SFTP handoff. This capture uses a harmless test configuration, not production secrets.

Workspace explorer

Expandable local folders and hidden files in the account-scoped code workspace.

Metadata Analysis

A local metadata report from a synthetic test image, with field categories and report inspection.

Shared checklist

A shared software checklist inside a conversation from the recorded iPhone demonstration.

Latest native development

More than messaging: an opt-in toolkit.

Premium and Exclusive members can enable Terminal, Vault, Metadata Analysis, Encrypted Notes, SFTP and Code Editor individually. Choose footer shortcuts, a compact header menu or hidden shortcuts. Preferences and local tool storage are separated by account.

SSH Terminal

Direct device-to-server SSH, saved hosts, password/key sign-in, host fingerprint checks and device Keychain storage.

Encrypted Vault

Local, passphrase-protected AES-256-GCM packages for files and folders up to 5 GB. Export packages and keep the passphrase; large exports require additional free space.

Metadata Analysis

Inspect supported image, PDF, audio and video metadata on the device and export reports. Findings describe stored fields, not proof of authenticity or guaranteed privacy.

Encrypted Notes

Write, search and edit private local notes, encrypted with an account-specific device Keychain key. Sharing explicitly exports a readable copy.

SFTP File Browser

Browse server folders, including hidden files, and upload or download through direct SFTP using saved SSH hosts and trusted fingerprints.

Code Editor

Local folder trees, tabs, line numbers, syntax colours, find and undo/redo. Explicit saves and reviewed SFTP replacement connect editing with server files.

Secure Links

Permission-controlled encrypted text links with expiry, open-count limits and owner revocation. Recipients can keep copies of anything they have already opened.

Access and data handling: Secure Links has separate administrator-controlled permissions and is not unlocked by a subscription alone. An optional attachment-metadata removal setting is available to all memberships for supported formats; it does not redact visible or spoken content.

Vault, notes and metadata work locally; SSH/SFTP connects to the selected server. Messenger's chat keys remain managed by the service, so messaging is not server-blind end-to-end encryption. The local Vault and Secure Links features do not change that chat architecture.

The migration

From React Native to a native Swift experience.

The original Encrypted Messenger was built with React Native and Expo. The new Swift edition is the next stage of that project, focused on the native iOS experience while retaining a backend built around Node.js and MySQL. The earlier project has its own portfolio page, screenshots and video so you can explore both versions.

Built with AI assistance

I used ChatGPT and Claude to help create the Swift version and work through the migration. I direct the product, review the implementation and remain responsible for the app’s engineering and delivery.

Inside the working app

The messaging experience.

Conversations

A native iPhone interface for browsing chats and keeping conversations together.

Shared checklists

Shared lists bring practical planning and tasks into the messaging experience.

Pinned messages

Keep useful information close to the conversation with pinned messages.

Photo attachments

Capture and share photos as part of a conversation, demonstrated with personal media redacted.

Settings

Dedicated settings screens support the app’s account and personalisation workflows.

Administration

Administration screens show the operational side of the application alongside its customer experience.

How it fits together

A native app, a custom API and a database.

Swift iOS application

Language · Swift

The native mobile client presents the screens, navigation and interactions on iPhone. It connects to the backend API for the app’s data and workflows.

Node.js backend API

Language · JavaScript

The server handles application requests, account access and backend logic. The mobile app communicates with the API rather than connecting directly to MySQL.

MySQL database

Language · SQL

The database supports the application’s stored data behind the API. Database credentials remain on the server, separate from the installed iOS app.

Have a native iOS app in mind?

This is a working portfolio project. My Swift development service covers native iOS applications with a Node.js API and MySQL backend, scoped around your own requirements.

Explore the Swift service