Notable Projects
A small set of built systems, each with its own entry and diagram. More will be added over time.
Terminal Onboarding
flowchart LR
Client["Payment Terminal"] --> Onboarding["Terminal Onboarding"]
Onboarding --> Internal["Internal Onboarding"]
Internal --> InternalAPI["Internal APIs"]
Internal --> Provider1Base["Provider 1 Proxy"]
Provider1Base --> Provider1["Terminal Provider API 1"]
Internal --> Provider2Base["Provider 2 Proxy"]
Provider2Base --> Provider2["Terminal Provider API 2"] Contains several microservices to facilitate terminal provisioning. Terminal is received and onboarded with the appropriate profile before it's usable by the merchant. All communicating via SNS.
Profile Manager
flowchart LR
Client["Payment Terminal"] --> Gateway["Profile Manager"]
Gateway --> DB["DynamoDB"]
DB --> Base["Mother Profile"]
Base --> PAX["PAX Base"]
Base --> Sunmi["Sunmi Base"]
PAX --> PAXUnattended["PAX Unattended"]
PAXUnattended --> PAXJcb["PAX JCB Only"]
PAXUnattended --> PAXAll["PAX All Payments"] Hierarchical profile management for terminals. Takes advantage of DynamoDB for setting keys on the fly and passing them down.
Arbitrage Trading
flowchart LR Client["Code"] --> Maker["Maker Exchange"] Client --> Taker["Taker Exchange"] Maker --> MOrderbook["Orderbook"] MOrderbook --> A1["Sell/Buy Market Order"] Taker --> TOrderbook["Orderbook"] TOrderbook --> B1["Buy/Sell Limit Order"] B1 --> B2["Limit Order Filled"] A1 --> B2
Simple market making strategy involving reading continuous streams of orderbook data and making `ms` decisions based on it. Ran across 3 exchanges.