Back to home

OCAIS hardware simulation prototype

Sixpicker Camera & Scanner Simulation

Software Engineer Intern

January 2025

Developed a simulation mode for Sixpicker’s card-capture workflow during my OCAIS internship, so development could exercise hardware-facing behavior through software test doubles.

OCAIS hardware simulation prototype
PythonHardware simulationMultithreaded systemsDependency injectionunittest

THE BRIEF

What needed to be built.

Camera, scanner, and hardware dependencies make capture workflows difficult to exercise during software development. The simulation needed to fit the existing scanning and image-transfer pipeline.

MY CONTRIBUTIONS

My contribution.

Simulation design

  • Built six test doubles for scanner, camera control, Ethernet communication, inventory, storage, and API dependencies.
  • Simulated scans and camera capture/save states with fixture images and configurable camera selection.
  • Refactored hardware communication to use an injected communicator, allowing simulation and real hardware to share the same workflow.

Testing & integration

  • Developed six corresponding unit-test files with Python unittest and unittest.mock, and documented the configuration needed to run the simulation.
  • Integrated hardware simulation into the existing pipeline of threads, queues, locks, and processes so developers could exercise capture workflows with test doubles.

THE RESULT

Hardware workflows made testable through simulation.

Developed a simulation mode covering six hardware and service dependencies, with unit-test files and fixture images. The prototype made capture and communication behavior testable without requiring the complete physical setup.

Back to home

WHAT’S NEXT

Your toughest problem could be
my next favorite project.

Full-stack development · Cloud infrastructure · Workflow automation · Engineering leadership

Email Ninn