SSH Terminal
Direct device-to-server SSH, saved hosts, password/key sign-in, host fingerprint checks and device Keychain storage.
Latest edition · Native iOS
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.
Working project · Native Swift
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.
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
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.
Opt-in native tools inside Messenger, with membership-aware access and device-side processing.
An iPhone chat with photo, file, location, plan, checklist and sketch actions, plus screenshot notifications.
The updated conversation interface in light mode, with sample messages and screenshot notifications.
Line numbers, syntax colours, explicit saving and SFTP handoff. This capture uses a harmless test configuration, not production secrets.
Expandable local folders and hidden files in the account-scoped code workspace.
A local metadata report from a synthetic test image, with field categories and report inspection.
A shared software checklist inside a conversation from the recorded iPhone demonstration.
Latest native development
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.
Direct device-to-server SSH, saved hosts, password/key sign-in, host fingerprint checks and device Keychain storage.
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.
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.
Write, search and edit private local notes, encrypted with an account-specific device Keychain key. Sharing explicitly exports a readable copy.
Browse server folders, including hidden files, and upload or download through direct SFTP using saved SSH hosts and trusted fingerprints.
Local folder trees, tabs, line numbers, syntax colours, find and undo/redo. Explicit saves and reviewed SFTP replacement connect editing with server files.
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
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.
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
A native iPhone interface for browsing chats and keeping conversations together.
Shared lists bring practical planning and tasks into the messaging experience.
Keep useful information close to the conversation with pinned messages.
Capture and share photos as part of a conversation, demonstrated with personal media redacted.
Dedicated settings screens support the app’s account and personalisation workflows.
Administration screens show the operational side of the application alongside its customer experience.
How it fits together
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.
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.
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.
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.