Frontend
Vue-based selection and transaction interfaces for vending and cash-in paths.
A vending workflow connecting a Vue interface, Python backend services, BCH transaction handling, the Paytaca app, and Raspberry Pi hardware control.

Context
A payment-backed vending flow has to coordinate user selection, transaction state, confirmation, hardware action, and failure handling. Software and physical outcomes must remain aligned.
Responsibility
Contributed during an industry internship in a collaborative environment, with focus on Python and Vue application behavior, external BitCash transaction integration, and Raspberry Pi communication.
Constraints
Keeping payment confirmation and physical dispensing in the same state
Handling external API responses and incomplete transactions
Connecting web application events to Raspberry Pi hardware actions
Approach
Model the vending flow as explicit states from selection through transaction confirmation and dispense.
Treat external payment confirmation as a boundary before allowing hardware action.
Keep interface feedback visible so the user understands pending, confirmed, and failed states.
Implementation
Vue-based selection and transaction interfaces for vending and cash-in paths.
Python and Django REST workflows for transaction coordination and API communication.
BitCash API and Paytaca-supported BCH transaction flow.
Raspberry Pi communication connecting confirmed application states to vending behavior.
Operational value
Engineering reflection
Hardware integration makes error states tangible. The software must be explicit about when a transaction is safe to translate into a physical action.