I can give you a tl;dr
1. You and the person you want to zap both need a lightning address in your profiles.
2. Query their lightning address over HTTP to find their "callback" URL.
3. Sign a Zap Request event, and POST it to their "callback" URL.
That's it.
If you have enough funds, the Lightning server will transfer the money to the recipient and publish a Zap Receipt event onto relays, confirming the transaction.
The Lightning server does most of the heavy lifting.