Coderilla Logo

Coderilla

Own Product · LiveiOS & Android

NetOS

Network scanning and monitoring for iPhone and Android. Offline-first, in an unapologetically retro 80s console interface, with no account and no server.

NetOS app logo
netos · scan
$ netos scan --wifi
  12 networks · strongest -41 dbm
$ netos scan --lan
  8 hosts · 3 with open ports
$ netos scan --ble
  5 devices · 2 vendors identified
$ netos log --tail
  everything logged locally

Why NetOS?

Typical network tools

Create an account, send scan results to a server, drag along analytics and advertising SDKs. Whatever you scan leaves your device.

NetOS

No backend, no account, no server, no analytics. Everything lives in a local SQLite database, and saved Wi-Fi passwords go into the system Keychain or Keystore.

// Privacy

No accountsNo backendNo trackingOn-device only

// Toolkit

Six tools in one app

Wi-Fi radar

An animated radar sweep with a transparent HUD list of nearby networks. Distance and bearing are estimated from signal strength, connected networks are marked, and every network keeps its own history.

LAN & port scan

Discovers hosts and services on the local network.

Bluetooth LE scanner

Fingerprints vendor and device type via company IDs, service UUIDs, and OUI lookup.

REST console

A built-in Postman-lite API client: methods, headers, query params, body, cookie jar, request history, and cURL export. The target dropdown lists every host and IP already discovered.

Node map

An OS-native map with markers for every located node, colour-coded by type.

Global CLI activity log

Every action is logged, searchable, and exportable. Plus a panic wipe and a simulation mode.

// Positioning

A monitoring and logging tool, not an attack tool

NetOS observes and logs. No deauth, no packet injection, no cracking. That is a deliberate decision, not a missing feature.

// Stack

How I built it

React NativeExpoTypeScriptExpo RouterReact CompilerSQLite (expo-sqlite)

One codebase for iOS, Android, and a static web build.

Releases ship from a git tag

  • $Pushing a tag is the entire release process: v1.2.0 builds both platforms on EAS, signs them, and auto-submits to the App Store and Google Play.
  • $A tag with a prerelease suffix like v1.2.0-beta.1 goes to TestFlight and the Play internal track instead.
  • $The tag is the source of truth for the version number. CI writes it into the app config before building.
  • $JS-only changes skip the build entirely and ship over the air via eas update in seconds. The runtime version is fingerprint-based, so an OTA update can never reach a build whose native surface no longer matches.

One honest limitation: iOS does not permit apps to scan nearby Wi-Fi networks. That is an Apple restriction, not a design decision.

iOS & Android

Live on the App Store and Google Play

NetOS is available for iPhone and Android. You can export your data at any time or wipe everything from the device with one tap.

Got a mobile app idea?

I build mobile apps for iOS and Android, sprint-based, transparent, focused on what actually matters.