Engineering

Since our founding in 2003, we have built software, developed algorithms, researched core technologies, and operated systems.

Core Stack

  • Imaging, Documents & Language Image Processing / OCR / Full-Text Search / Algorithm Design / LLM / Vision Models / Python
  • Business & Commerce Systems Web Systems / Payments / CMS / Database Engineering / PHP / TypeScript / Node.js / AWS / GCP / Cloudflare
  • Networking & Protocols HTTPS Proxy / Device Management Protocol / Network Performance / Wi-Fi Log Analysis / Rust
  • Embedded & OS Linux / C/C++ / AOSP / Yocto / Virtualization / Windows
  • Mobile Distribution iOS / Android / Swift / Kotlin / Store Operations / Localization / macOS
  • Security Security Evaluation / Intrusion Detection / Audit / Key Management (CKMS)

Technology Decisions

We have worked in mobile development since the iPhone 3GS era in 2009 and have distributed our own apps since 2016. The iPhone showed what was possible: a powerful handheld device connected to the internet could deliver services around the world.

Usage data from our own apps lets us evaluate technology and UI/UX continuously in real-world conditions. It also lets us test at a scale that individual projects rarely reach. We apply what we learn to design work beyond mobile.

In 2016, we compared Xamarin, Cordova, and React Native through hands-on implementation, and we have evaluated Flutter since its public release. Today, we focus on native development in Swift and Kotlin and have used SwiftUI extensively in production since iOS 15.

Working close to the OS and hardware lets us optimize both measured performance and perceived responsiveness in rendering and camera work. We can also use new OS features and C/C++ libraries without waiting for an abstraction layer to catch up. Long-running apps are also less affected by breaking changes in cross-platform frameworks.

Demos

BLE · Wi-Fi · Barcode

Barcode-Based Device Readout

Instrument readings are collected via BLE, Wi-Fi, or barcode.

The instrument transmits readings wirelessly and displays them as a barcode on its LCD in real time. The app scans the barcode with its camera and records the readings.

ARKit · On-Device ML

On-Device AR Recognition

Objects in the camera view are recognized on the device and labeled in the AR view.

Each label is anchored to its object's position and stays over the object as the device moves.