System needs following:
Backend for handling escrow with 2-of-3 multisig.
sends sender 1 public/private keypair + escrow id + text with description of what the escrow is for (email).
sends reciever 1 public/private keypair + escrow id + text with description of what the escrow is for (email).
stores 1 public/private key in system + escrow id + text with description of what the escrow is for (mysql).
handles creation / release of funds.
implement dispute system (email admin if transaction is disputed - funds can be released with any keypairs).
implement release funds to reciever with senders key and system key.
system takes 0.5% sends it to a predefined address, rest is send to reciever (unless disputed, then 1% is taken out).
users can message eachother and admin.
sender can optionally predefine a time when reciever can put in his key to release the funds (in case sender forgets to release funds), without involving admin.
build api for using this system from other sites, other sites should be able to take a fee out as well.
All fees are paid when escrow is released, not before.
frontend:
login for users, and for admin.
makes above easily accessable for users of website.
and admin control area for above.
in admin panel keep track of total amount escrowed, total amount of users, and total amount of fees collected.
Keep track on how many bitcoins the system has in total escrowed on front page.
Written in PHP / MySQL