Citizenship-test preparation with 300+ BAMF-based nationwide and state-specific questions, fully usable offline with federal-state selection. Four learning modes including a timed exam simulation, with per-answer feedback and progress tracking.
Jawad Khan
React Native Developer · 6+ years · Ingolstadt, Germany
Two products, both platforms.
I'm a React Native developer based in Ingolstadt. At 247 FactoryNet I'm responsible for the mobile side of two products: MICA, an app for people with phenylketonuria, and 247 UPTIME, a maintenance platform for industrial equipment. Both are used in places with no mobile signal, so both are built to work offline.
I studied software engineering in Pakistan, moved to Germany and completed my master's at TH Deggendorf. I joined 247 FactoryNet as a working student during my studies and became a full-time developer in November 2021.
I also build and publish my own apps. Fifteen are live on Google Play, four of them in German. Publishing them myself is how I learned release management, store compliance and in-app purchases.
The work I find most interesting involves unreliable networks and processing data on the device instead of sending it to a server.
- Education
- MSc Computer Science, Technische Hochschule Deggendorf, 2021
BSc Software Engineering, COMSATS University, 2017 - Languages
- English C1
German B1 — Goethe-Zertifikat, Goethe-Institut München
Urdu, native
247 FactoryNet GmbH
MICA
Healthcare · rare diseaseAn app for people with phenylketonuria, a rare metabolic disorder. It helps them manage a low-protein diet, track daily phenylalanine intake, and request prescriptions from their metabolic centre.
- Built the nutrition tracker: a food diary with a large ingredient catalogue, custom ingredients, meals and shakes, and cascading ingredient-to-meal updates
- Designed the offline-first command-queue sync layer so diet, prescription and remittance workflows keep working without a network connection
- Integrated Socket.IO chat, Firebase push and analytics, and biometric app lock across a multi-profile family app
- Led the React Native 0.86 upgrade on iOS and Android, and shipped DE/EN localisation and deep-link authentication
247 UPTIME
Industrial · B2BA platform industrial companies use to organise machine incidents, planned maintenance, execution workflows and operational documentation across equipment, sites, areas and equipment pools.
- Implemented workflow-based task execution and reporting with attachment handling, role-based access control and subscription-aware feature gating
- Built authenticated REST integration with Axios interceptors and token refresh, plus Zustand store slices for offline-capable field work
- Integrated Firebase Cloud Messaging, Socket.IO and MQTT for real-time fault and maintenance notifications
Six months modernising a machine-tool manufacturer's legacy frontend.
- Migrated a legacy AngularJS codebase to Angular 13, rebuilding the component and service layer with unit and integration tests in a TDD environment
Works with no connection.
Both platforms I work on are used where there is no signal — machine halls, clinic basements. Actions are stored locally as commands instead of being sent straight to the API, so the screen never waits on the network and the queue replays in order once the connection returns.
The console below runs that pattern. Press Go offline, keep using the buttons, then reconnect and watch the queue clear.
Actions from MICA
Each press writes a command locally first. The screen responds immediately whether or not there is a network.
Local command queue
The problem
Technicians work in machine halls with no reception. Patients open the app in clinic basements. If a write fails because the network dropped, the user loses work they already did — and in a medical context they may not notice.
The approach
Nothing writes straight to the API. Every user action becomes a command persisted locally first, so the interface can respond immediately. A network listener drains the queue when the connection returns, replaying commands in the order they were created.
Speech to text. Zero bytes uploaded.
- Model
- Whisper Tiny, quantised for mobile
- Runtime
- ExecuTorch via react-native-executorch
- Input
- Recorded or imported MP3, M4A, WAV, OGG, MP4 from private local storage
- Network use
- None. No audio and no transcript leaves the device.
Fifteen apps on Google Play.
I handle architecture, implementation, monetisation, store compliance and releases myself. Four are written in German. Seven of the fifteen are below; each opens its live listing.
Whisper Tiny running locally through ExecuTorch. Reads MP3, M4A, WAV, OGG and MP4 from private storage, transcribes on the phone and exports plain text. No audio leaves the device.
Real-time monitoring on EMSC data with map and list views, magnitude indicators and country filtering. Custom geofenced alert zones backed by a Cloudflare Worker that registers devices, polls live seismic data and dispatches targeted push notifications.
Feeding, sleep and diaper tracking with growth charts and multi-baby support, on local-first storage using Zustand and encrypted MMKV. RevenueCat purchases, Notifee push and PDF export.
Scans German parking signs with the camera and tells the driver whether parking is allowed — reading restrictions, Parkscheibe requirements and permitted times. German-language interface throughout.
Compares current petrol and diesel prices and finds filling stations nearby, using live pricing data and the device's location. Built entirely in German for drivers in Germany.
Calculates gold value from live spot prices across all karat purities and major currencies, with a dark interface built in NativeWind. A companion Silver Calculator shares the same pricing and conversion engine.
Toolset.
Mobile
- React Native
- TypeScript
- React Navigation
- React Native Paper
- NativeWind
- Internationalisation (DE / EN)
Device
- Biometric auth (Face ID / Fingerprint)
- Camera & media
- Document & signature capture
- Whisper via ExecuTorch
State & data
- Zustand
- Redux
- React Context
- Encrypted MMKV
- AsyncStorage
- REST
- Axios
Realtime
- Socket.IO
- WebSockets
- MQTT
- Firebase Cloud Messaging
- Notifee
Release
- App Store Connect
- TestFlight
- Google Play Console
- Staged rollouts
- Store compliance
- CI/CD pipelines
Testing
- Maestro (end-to-end UI flows)
- Unit & integration tests
Web & services
- React JS
- Angular 13
- JavaScript ES6
- Cloudflare Workers
- RevenueCat
- AdMob
- MongoDB
- MySQL