Skip to content

theos2node/ipados-inventory-taker

iPadOS Inventory Taker

iPadOS Inventory Taker is a SwiftUI inventory capture app for beverage programs, bars, and back-of-house stock counts. It supports barcode lookup, AI-assisted photo recognition, and text-based product inference in one iPad-first workflow.

Why this repo is public-ready

  • OpenAI keys are stored in Keychain, not UserDefaults
  • Inventory data stays on-device unless you explicitly use barcode or AI lookup
  • CSV exports exclude secrets
  • Unit tests cover duplicate resolution, CSV formatting, and secret persistence
  • GitHub Actions runs the project test suite on every push and pull request

Features

  • Barcode scanning with manual fallback
  • AI photo analysis from camera or photo library
  • Text-based product inference
  • Duplicate detection with merge-or-new-line resolution
  • Quick quantity editing
  • CSV export for downstream inventory workflows
  • Local image preview support for captured products

Privacy model

  • Inventory sessions are stored locally on-device
  • Barcode lookup uses OpenFoodFacts
  • AI inference uses the OpenAI Responses API only when you invoke text or image inference
  • Your OpenAI API key is stored in the iOS Keychain on the device running the app

Requirements

  • Xcode 26.2 or newer
  • iPadOS / iOS 26.2 deployment target
  • An OpenAI API key if you want AI-assisted capture

Local setup

git clone https://github.com/theos2node/ipados-inventory-taker.git
cd ipados-inventory-taker
open "Inventory Taker.xcodeproj"

Then:

  1. Build and run the app on an iPad or simulator.
  2. Open the Settings tab.
  3. Add your OpenAI API key if you want text or image inference.

CLI build and test

xcodebuild -project "Inventory Taker.xcodeproj" -scheme "Inventory Taker" -destination "platform=iOS Simulator,name=iPad Air 13-inch (M3)" build
xcodebuild -project "Inventory Taker.xcodeproj" -scheme "Inventory Taker" -destination "platform=iOS Simulator,name=iPad Air 13-inch (M3)" "-only-testing:Inventory TakerTests" test

Architecture

  • ContentView.swift: capture, viewer, settings, and export UI
  • InventoryStore.swift: session state, persistence, duplicate handling, CSV generation
  • CaptureServices.swift: barcode lookup and OpenAI inference
  • ScannerAndImagePickers.swift: UIKit bridges for camera and photo picking
  • SecretStore.swift: Keychain-backed secret persistence

Open source

This project is released under the MIT License. See LICENSE.

Contributing

See CONTRIBUTING.md for development workflow and pull request expectations.

Security

If you find a security issue, see SECURITY.md.

About

Open-source iPadOS inventory capture app with barcode, AI photo, and text search workflows

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages