Portfolio · 2026

Moving money,
without the friction.

A production-grade, multi-tenant cross-border remittance and payment-processing platform. Polyglot by intent. ISO 20022 native. Compliance as a product.

32
Projects
9
Languages
17
Lambdas
3
Environments
184
Masking Configs
Flagship Project · Mission Critical

Immediate Payments.
MASAV. Under five seconds.

A four-layer real-time payment rail integrating with Israel's MASAV clearing system. End-to-end request processing under five seconds, message-queue backbone, dual XML/JSON adapter, and a layered architecture that keeps the regulated core sealed from the public edge.

< 5s
End-to-end SLA
4
Architectural layers
MQ
Message backbone
XML · JSON
Dual adapter
Architecture · Four Layers

From request
to settlement.

01
Public Edge · Adapter

Payment Gateway Adapter

Public-facing ingress. Accepts inbound payment requests, normalizes XML and JSON payloads through a dual adapter, validates schemas, and forwards onto the MQ backbone for downstream processing.

Role XML ⇄ JSON normalize
Schema validation
MQ producer
02
Infrastructure · IaC

Payment Gateway CloudFormation

Three-tier AWS infrastructure-as-code provisioning the entire payment-gateway plane: VPC, RDS, Redis, ECS Fargate services, MQ broker, WAF, CloudFront, Route53, and Secrets Manager for operator credentials.

Stack ECS Fargate · MQ
RDS · Redis · WAF
CloudFormation
03
Core Engine · Clojure

vala-gate

System of record. Multi-tenant payment processor that owns transaction state, operator credentials, idempotency, and the Flyway-managed schema. Consumes from MQ, applies business rules, persists to Postgres, emits onto the downstream queue.

Stack Clojure · Spring
Postgres · Redis
Flyway · MQ
04
Clearing Bridge · Kotlin

wego-processor-gateway

The MASAV bridge. Translates engine events into clearing-system messages, manages HMAC + JWT auth, performs the live handshake with MASAV, and returns ack/nack back through MQ to the engine — all inside the five-second budget.

Stack Kotlin · WebFlux
R2DBC · HMAC + JWT
MASAV clearing
Client / SDK POST /pay 01 Public Edge · Adapter Payment Gateway Adapter XML ⇄ JSON · schema validate → MQ producer HTTPS MQ · canonical envelope 02 Infrastructure · IaC Payment Gateway · CloudFormation Plane ECS Fargate · MQ broker · RDS · Redis · WAF · VPC · Secrets Manager 03 Core Engine · System of Record vala-gate Clojure · Spring · Postgres idempotency · tx state machine operator creds (Secrets Mgr) · Flyway Postgres · Redis · MQ consumer 04 Clearing Bridge wego-processor-gateway Kotlin · WebFlux · R2DBC HMAC + JWT auth live clearing handshake ack / nack via MQ MQ External MASAV clearing Postgres Redis Secrets Mgr 200 / 202 + status END-TO-END BUDGET · UNDER 5 SECONDS

Per-layer time budget

TARGET · 5000ms
L1 · AdapterXML/JSON normalize
~400ms
MQ hopedge → engine
~200ms
L3 · vala-gaterules · persist · idempotency
~700ms
MQ hopengine → bridge
~200ms
L4 · processor-gw → MASAVHMAC handshake · clearing
~2400ms
MQ hopbridge → engine (ack)
~200ms
L3 · finalizestate · response
~600ms
End-to-end (indicative) ≈ 4.7s
Why MQ

Decouple the regulated core

The public edge never speaks directly to vala-gate or MASAV. Every hop is a queue — buffering, retrying, and isolating failures so a slow clearing run never melts the ingress layer.

Why XML + JSON

Speak both dialects

Clearing systems and legacy partners speak XML. Modern customer APIs speak JSON. One adapter normalizes both at the edge so every downstream layer sees a single, canonical envelope.

Why < 5s

Real-time, not eventual

Israel's instant-payment expectation is sub-five-second confirmation. Every layer's budget is measured against it — adapter, MQ, engine, clearing — with timeouts and circuit breakers wired throughout.

Executive Summary

A white-label remittance backbone for licensed operators.

Global Remit (GR) is built as a polyglot monorepo of 32 services, libraries, and applications. It moves money across operators — GCash, Thunes, RIA, MASAV — exposes ISO 20022 messaging, runs on AWS, and ships customer-, operator-, and back-office surfaces on web and mobile.

Engine of record

vala-gate

Clojure + Spring. Multi-tenant payment processing, operator credential management, Flyway-managed schema evolution. The system of record for every transaction.

ISO 20022 bridge

wego-processor-gateway

Kotlin · Spring WebFlux · R2DBC. Speaks pacs.008, pain.013, pain.014 over HMAC + JWT. Translates engine state into the language of modern correspondent banking.

Regulatory rails

Compliance Pack

IMPA-compliant UAR XML generator (Hebrew RTL) plus a 184-configuration PII masking platform on EventBridge-scheduled ECS Fargate. Compliance shipped, not retrofitted.

Deterministic automation

Workflows

FastAPI + Playwright. Records operator UI flows once, replays deterministically, falls back to an LLM only when the page changes. Replaces six-figure manual ops cost.

Architecture

One engine.
Many surfaces.

Customer apps, operator integrations, compliance flows, and reporting all converge on a single Clojure payment core and a Kotlin ISO 20022 bridge — running on three-tier AWS infrastructure-as-code.

Customer Surfaces Mobile React Native + ClojureScript Admin React · MSAL OCR · S3 · PDF Ops Dashboard Angular 11+ RxJS · Helm Payment Ops Svelte 5 O365 + OTP QR Upload React PWA Tesseract OCR Edge / API CloudFront · WAF · Route53 · Express · Vert.x · Fiber Core Engine L3 · System of Record vala-gate Clojure · Spring · Postgres Idempotency · Tx state · Flyway L4 · ISO 20022 Bridge wego-processor-gateway Kotlin · WebFlux · R2DBC HMAC + JWT · pacs.008 · pain.013 Sidecar Services Batch schedulers Spring Batch Reporting reporting-service Adapters MASAV · RIA · GCash · Thunes Health status-checker Hot Path Rust ISO Data Plane PostgreSQL Flyway Redis cache · queue DynamoDB event store wego-db-masking 184 configs AWS Infrastructure CloudFormation CDK ECS Fargate Lambda × 17 SQS / MQ Secrets Mgr
Core engine layer
Surface / service
Primary flow
Async / sidecar
Inventory

Thirty-two projects.
Each with a job.

A curated polyglot stack — each language chosen for its layer. Clojure for the engine. Kotlin for I/O. Rust for the hot path. Go for support APIs. TypeScript for surfaces. Python for ops and RPA.

01
vala-gate
Core Engine
Multi-tenant payment processing · Clojure · Spring · Postgres · Redis · Flyway
02
wego-processor-gateway
API Bridge
ISO 20022 (pacs.008, pain.013) · Kotlin · WebFlux · R2DBC · HMAC + JWT
03
pgw
Infra
Payment-gateway umbrella · MQ · MASAV adapter · schema manager glue
04
financialmessageprocessor
Hot Path
ISO 20022 high-throughput processing · Rust · async · Lambda
05
schedulers
Batch
Event-driven scheduling · Java · Kotlin · Spring Batch
06
status-checker
Service
Transaction status polling · Java · Spring Boot · Postgres · Redis
07
reporting-service
Service
Analytics + report generation · Java · Spring Boot · Secrets Manager
08
cache-document
Service
QR upload caching · Kotlin · Vert.x · Redis · k6 load tests
09
customer-support-service
Service
Support API · Go · Fiber · WebSocket · MongoDB · AI streaming
10
aws-lambda
Infra
17 Lambdas · FX rates · fraud intake · URL shortening · KYC alerts
11
AwsCloudFormation
Infra
Three-tier IaC · VPC · RDS · ECS · WAF · CloudFront · Route53
12
wego-schema-manager
Tool
Liquibase · per-environment changesets · rollback support
13
wego-db-masking-app
Compliance
184 PII masking configs · Python · Alembic · CDK · EventBridge
14
dashboard
UI
Ops portal · Angular 11+ · RxJS · Helm + Docker · Protractor E2E
15
admin-dashboard
UI
Compliance portal · React 18 · Vite · Azure AD/MSAL · OCR · S3
16
payment-processor-dashboard
UI
Payment ops · Svelte 5 · SvelteKit · Office 365 + OTP · approvals
17
iregular-report
Compliance UI
IMPA-compliant UAR XML · React · Hebrew RTL · client-side ZIP
18
uploadqr-static-site
UI
CloudFront-delivered PWA · Tesseract.js · MRZ OCR · Service Worker
19
mobile
App
React Native + ClojureScript · biometric · OTP · Maestro tests
20
zahav
Integration
Swift Connection · Transit Gateway attachment
21
workflows
RPA Platform
Record-once-reuse · FastAPI · Playwright · LLM self-healing fallback
22
external-service-emulator
Test/Mock
WireMock · RIA payout scenarios · OpenAPI · HTTPS variants
23
ui-regression-tests
Test
E2E sanctions-list automation · TypeScript · Playwright · Jest
24
codegen
Tool
SOAP/JAXB & JSON codegen · Java · Maven · Gradle
25
common · common-classes · vala-core
Libraries
Shared domain models & deps across the polyglot stack
26
dockers
Dev infra
Local dev stacks · WEGO_STAGE / PROD / THIN profiles
27
tableau-bridge
WIP
Tableau data bridge — placeholder for analytics integration
Go to Market

What we sell.
And who buys it.

A white-label cross-border remittance backbone for licensed money-transfer operators, neobanks, and corridor specialists. Customers don't rebuild ISO 20022, sanctions, KYC document capture, operator integrations, or compliance reporting — they wire into GR.

Engine API

Process · Settle · Reconcile

vala-gate + processor-gateway. For the MTO CTO: days, not quarters, to first transaction.

Admin Dashboard

Verify · Approve · Audit

OCR-driven document verification, payment approval flows, sanctions automation. For the Compliance lead.

Mobile SDK

Biometric · OTP · Corridor

White-label app with biometric onboarding, OTP, corridor pricing. For the Product lead.

Compliance Pack

UAR · Masking · KYC

IMPA-ready UAR XML, PII masking for non-prod, sanctions automation. For Risk & Legal.

RPA Workflows

Deterministic · Self-healing

Replace manual operator-portal tasks with replayable flows. For the Ops manager.

Reporting

Insight · Audit · Export

Configurable report generation, analytics dashboards, regulator-ready exports.

  1. ISO 20022 from day one

    Most challenger MTOs still hand-roll SOAP per corridor. We don't.

  2. Multi-operator portfolio shipped

    GCash, Thunes, RIA, MASAV already integrated. New corridors are configuration, not rewrites.

  3. Compliance is product

    Masking, UAR, sanctions, KYC OCR are first-class — not retrofitted in year three.

  4. Deterministic RPA with LLM fallback

    The first viable answer to "the operator portal changed again" — a known seven-figure cost center.

  5. Mobile, web, and ops parity

    Same engine, three first-party surfaces, no SaaS sprawl.

Operations · Reach · Context

How it runs.
Where it reaches.

A real distributed trace of a single payment request, a map of the corridor portfolio, and a C4 Level-1 system-context view of how the platform sits among its users and external partners.

Distributed trace · single immediate payment

trace_id: 7f3a · 4.7s · 12 spans
0s1s2s3s4s
L1 POST /pay
└─L1 validate · transform
└─MQ publish · edge→engine
L3 vala-gate consume
└─DB SELECT operator + idempotency
└─DB INSERT tx (state=PENDING)
└─MQ publish · engine→bridge
L4 processor-gw handle
└─L4 HMAC sign · build pacs.008
└─EXT MASAV clearing call
MQ ack · bridge→engine
L3 vala-gate finalize
└─DB UPDATE tx (state=SETTLED)
L1 respond 200
Corridor Portfolio

Operators &
corridors live.

HQ · Israel MASAV clearing Philippines GCash North America RIA · diaspora flows Latin America RIA · payout network Europe Thunes EU Africa Thunes mobile wallets Operator HQ · MASAV
IsraelMASAV · ILS · <5s clearing
PhilippinesGCash · PHP · e-wallet
EuropeThunes · EUR · SEPA + cards
Latin AmericaRIA · USD/MXN/COP · cash
AfricaThunes · mobile wallets
North AmericaRIA · USD · diaspora
C4 Model · Level 1

System context.
People, platform, partners.

Person Sender Customer · mobile / web Initiates remittance Person Recipient Beneficiary · payout Cash / wallet / bank Person Compliance Officer KYC · UAR · sanctions Admin dashboard user Person Ops · Support Approvals · tickets Payment ops dashboard System · In scope Global Remit Platform Multi-tenant cross-border remittance & payment-processing platform. ISO 20022 native · MASAV-integrated · compliance-as-product. vala-gate · processor-gateway · adapters · admin · mobile · workflows External · Clearing MASAV Israel clearing system ISO 20022 · pacs.008 <5s settlement External · Operators Payout Network GCash · Thunes · RIA SOAP / REST adapters Multi-corridor reach External · AI AWS Bedrock Nova Pro · Claude Support chat · summaries VPC endpoint External · Identity Azure AD / MSAL SSO for staff RBAC · tenant scoping External Regulator IMPA · BoI UAR XML sanctions feed sends remittance receives payout reviews · approves operates · resolves pacs.008 · pain.013 adapter calls invokeModel SSO · MSAL UAR XML
C4 Model · Level 2

Inside the platform.
Containers & data stores.

Zoom into the Global Remit Platform box: applications, services, and data stores — and the protocols they speak to each other and to external partners.

Personas Person Sender / Recipient remitter · beneficiary Person Compliance Officer KYC · UAR · sanctions Person Ops · Support approvals · tickets Client Apps Container · Mobile Mobile App React Native + ClojureScript Container · SPA Admin Dashboard React · MSAL · Vite Container · SPA Ops Dashboard Angular 11+ · RxJS Container · SPA Payment Ops Svelte 5 · SvelteKit Container QR PWA CRA · MRZ OCR Edge / API Container · API Gateway CloudFront · WAF · Route53 · API Gateway · Adapter (L1) Core Engine · Clearing Bridge Container · JVM vala-gate Clojure · Spring tx state · idempotency operator credentials L3 of immediate-payments flow Container · JVM wego-processor-gateway Kotlin · WebFlux · R2DBC HMAC + JWT ISO 20022 pacs.008 / pain.013 L4 of immediate-payments flow Container · Adapters Adapter Service MASAV · RIA · GCash · Thunes Container · Rust FMP Hot-path ISO 20022 fast lane Container · Python workflows (RPA) Container · Go support service Background · Reporting Container · JVM schedulers (Spring Batch) Container · JVM reporting-service Container · Kotlin cache-document (Vert.x) Container · Lambda aws-lambda fleet (×17) Data Plane DB · RDBMS PostgreSQL Cache Redis Queue / Bus MQ Broker DB · KV DynamoDB Vault Secrets Mgr Object S3 (docs) External Systems External · Clearing MASAV External Payout Operators External · AI AWS Bedrock External · IdP Azure AD External · Regulator IMPA · Bank of Israel HTTPS · WS MQ · canonical env. MQ invokeModel SOAP · REST pacs.008 · HMAC+JWT MSAL · SSO UAR XML
C4 Model · Level 3

Inside vala-gate.
Components & collaborators.

Zoom into the core engine: how an inbound payment request flows through validators, idempotency control, the transaction state machine, persistence, and outbound queueing — all inside a single Clojure / Spring process.

Container · vala-gate (Clojure + Spring) External MQ Broker canonical envelope External processor-gateway downstream consumer External · Vault Secrets Manager operator credentials External · DB PostgreSQL tx · ledger · audit External · Cache Redis idempotency · session External · Telemetry OpenTelemetry traces · metrics Ingress Component · Listener MQ Inbound Listener consume canonical env. Component · Validation Schema Validator canonicalize · normalize Component · Auth Tenant & Operator Resolver map tenant → operator creds Control Component · Core Idempotency Manager dedup key · Redis SETNX Component · Core Rules & Limits Engine corridor · fee · sanctions Component · Core Tx State Machine PENDING → SENT → SETTLED Persistence Component · Repo Tx Repository JDBC · next.jdbc · HikariCP Component · Repo Ledger Repository double-entry posting Component · Cache Cache Adapter Redis · TTL · circuit-breaker Egress Component · Publisher MQ Outbound Publisher → processor-gateway Component · Events Audit Event Emitter CloudWatch · Kinesis Component · Reply Response Builder status payload · 200/202 Cross-cutting Component · Migration Flyway Bootstrapper app-startup migration Component · Observability Tracing Aspect OTel spans · trace_id Component · Reliability Resilience4j retry · breaker · timeout Component · Health Actuator /health · /metrics Maintenance Recon Scheduler · drift sweep Settlement Reconciler · daily 1 2 3 lookup 5 SETNX dedup 7 8 9 INSERT tx PENDING 12 14
Sequence · UML

Request lifecycle.
One message at a time.

The full immediate-payment lifecycle as a UML sequence diagram — every actor lane, every message, every activation bar, every return — fitting inside the five-second end-to-end budget.

Client Mobile / Web SDK L1 · Adapter payment-gateway adapter MQ broker canonical env. L3 · vala-gate Clojure · Spring engine Redis cache idempotency PostgreSQL tx · ledger L4 · processor-gw Kotlin · WebFlux clearing bridge MASAV External clearing ISO 20022 Client L1 · Adapter MQ vala-gate Redis PostgreSQL processor-gw MASAV Phase 1 · Ingress & Normalize · ~600ms t = 0ms 1 POST /pay (JSON) validate · normalize (XML⇄JSON) 3 publish(canonical env.) Phase 2 · Engine · vala-gate · ~700ms t ≈ 600ms 4 consume(envelope) 5 SETNX idem:<key> OK · new key 6 SELECT operator + limits operator row rules · corridor · sanctions · fee 8 INSERT tx (state=PENDING) tx_id Phase 3 · MASAV Clearing · ~2.6s t ≈ 1300ms 9 publish(settle req) 10 consume(settle req) build pacs.008 · HMAC sign 12 pacs.008 (HTTPS + JWT) validate · clear · settle pacs.002 ACK 15 publish(ack settled) Phase 4 · Finalize & Respond · ~800ms t ≈ 3.9s 16 consume(ack) 17 UPDATE tx (state=SETTLED) OK 18 status callback (via MQ) 19 200 OK + tx_id + SETTLED t ≈ 4.7s · within 5s budget
Reference Architectures

Real diagrams.
From the running system.

The diagrams below are pulled directly from production design documents — Lambda summary architecture, customer-support service, GenAI chatbot infrastructure, and the Bedrock support POC.

Investor Pitch

Why now.
Why us.

Cross-border remittance is plumbing in transition. ISO 20022 has stranded the mid-market. We have what they need, already shipped.

$900B+

The Problem

Annual cross-border remittance flow still gated by SWIFT-era plumbing, ad-hoc operator integrations, and compliance teams in spreadsheets. Challenger MTOs spend 18–24 months and $3–8M before moving their first dollar. Incumbents charge 5–7% spreads because the long tail can't compete on rails.

Nov 2025

Why Now

The ISO 20022 cut-over has stranded mid-market MTOs without resources to migrate. AI-driven KYC OCR is finally cheap enough to ship in onboarding. Stablecoin and traditional rails are converging — and they reward platforms with clean ISO 20022 messaging.

The Solution

Global Remit is the payments-platform-as-a-product for MTOs: ISO 20022-native engine, multi-operator integrations, compliance pack, and customer-facing surfaces — deployed on AWS in weeks rather than years.

Technical Moat

Why us.

Polyglot engine in production

32 services across nine languages, three environments, full IaC. Not a slide — a running system.

184 PII masking configurations

Institutional knowledge of where regulated data lives. The hardest part of compliance is already done.

17 Lambda functions, pre-built

FX, fraud intake, KYC notifications — revenue-adjacent surface ready to monetize.

Multi-operator portfolio shipped

GCash, Thunes, RIA, MASAV. Each integration is six figures of avoided sunk cost for a buyer.

Hebrew RTL + IMPA UAR compliance

We ship regulated workloads in non-trivial jurisdictions — not just English-language demoware.

Deterministic RPA

Operator portal changed? Replay the recording. LLM only when the recording fails. A real moat.

The Ask

Seed / Series A to fund (1) sales-led GTM with two design-partner MTOs, (2) a stablecoin settlement corridor on USDC, (3) productizing the compliance suite as a standalone SKU, and (4) shipping the mobile SDK as an embeddable component for partner apps.

Engineering Portfolio

Shahar Solomon
Staff platform engineer.

Designed and shipped a polyglot remittance platform spanning nine languages across 32 projects, 17 Lambdas, three environments, and six+ microservices.

Languages
ClojureKotlinJavaRustGoTypeScriptPythonSwiftClojureScript
Backend
Spring BootSpring WebFluxVert.xFiberFastAPIR2DBC
Frontend
React 18Angular 11+Svelte 5React NativeExpoRe-frameReagent
Data
PostgreSQLRedisDynamoDBMongoDBFlywayLiquibaseAlembic
AWS
CloudFormationCDKECS FargateLambdaS3SQSWAFCloudFrontSecrets Manager
Messaging
ISO 20022pacs.008pain.013pain.014SOAP/JAXBRESTWebSocket
Security
Azure ADMSALHMACJWTBiometricOTPPII Masking
Testing
JestPlaywrightSpecljJUnitMaestrok6WireMock
Practices
Polyglot monorepoIaCDual migrationsMulti-tenant SaaSRegulated workloads
Highlights

Selected shipped work.

Engine

Remittance engine in Clojure

Built the multi-tenant payment processor backing the corridor portfolio and operator integrations on AWS ECS.

Bridge

ISO 20022 bridge in Kotlin

Designed the WebFlux/R2DBC bridge translating engine state into pacs/pain messages with HMAC + JWT.

Compliance

Compliance product line

Shipped IMPA UAR XML generator (Hebrew RTL) and a 184-config PII masking platform on ECS Fargate.

Automation

Deterministic RPA

Playwright record-once-reuse with LLM self-healing fallback — replacing six-figure manual ops cost.

Mobile

React Native + ClojureScript app

Biometric and OTP onboarding, operator integrations, end-to-end Maestro UI test coverage.

Cloud

AWS Lambda fleet

17 functions covering FX, fraud intake, URL shortening, KYC notifications — deployed via CDK.

Operating Principles

How I work.

Polyglot by intent, not by accident. Pick the language that fits the layer.
Compliance is product, not paperwork.
Deterministic over heuristic. LLMs are a fallback, not the spine.
Three environments, IaC, or it doesn't exist.
Migrations are first-class — dual Flyway and Liquibase, never hand-rolled SQL on prod.