[{"data":1,"prerenderedAt":141},["ShallowReactive",2],{"mdc--nlmb5r-key":3,"mdc-esmklh-key":16,"mdc-6bj22o-key":25,"mdc--1dmr8u-key":34,"mdc--czhkld-key":43,"mdc-rezh2g-key":52},{"data":4,"body":5},{},{"type":6,"children":7},"root",[8],{"type":9,"tag":10,"props":11,"children":12},"element","p",{},[13],{"type":14,"value":15},"text","Creation, review, status and fundraising progress",{"data":17,"body":18},{},{"type":6,"children":19},[20],{"type":9,"tag":10,"props":21,"children":22},{},[23],{"type":14,"value":24},"Stripe Checkout, Connect Standard and webhooks",{"data":26,"body":27},{},{"type":6,"children":28},[29],{"type":9,"tag":10,"props":30,"children":31},{},[32],{"type":14,"value":33},"Causes, stories and information pages in several languages",{"data":35,"body":36},{},{"type":6,"children":37},[38],{"type":9,"tag":10,"props":39,"children":40},{},[41],{"type":14,"value":42},"A dedicated campaign and editorial dashboard",{"data":44,"body":45},{},{"type":6,"children":46},[47],{"type":9,"tag":10,"props":48,"children":49},{},[50],{"type":14,"value":51},"Nuxt, Vue, Firebase, Firestore and Storage",{"data":53,"body":54},{},{"type":6,"children":55},[56,70,83,93,102,109,120,126,131,136],{"type":9,"tag":10,"props":57,"children":58},{},[59,68],{"type":9,"tag":60,"props":61,"children":65},"a",{"href":62,"rel":63},"https:\u002F\u002Fdonation-pool.app",[64],"nofollow",[66],{"type":14,"value":67},"Donation-Pool",{"type":14,"value":69}," is a donation campaign platform connecting the story of a cause, beneficiary verification and payment. I developed the public website and the dashboard for managing campaigns and their content.",{"type":9,"tag":71,"props":72,"children":75},"band",{"color":73,"frame":74},"#f4efe6","browser",[76],{"type":9,"tag":77,"props":78,"children":82},"media",{"alt":79,"effect":80,"src":81},"Donation-Pool home page in the browser","none","https:\u002F\u002Fres.cloudinary.com\u002Fddwpkkaqv\u002Fimage\u002Fupload\u002Fc_fill,g_north,w_1400,h_900,q_auto\u002F2026-donation-pool_app-0_p3zvly.webp",[],{"type":9,"tag":84,"props":85,"children":87},"section",{"title":86},"From campaign to payment",[88],{"type":9,"tag":10,"props":89,"children":90},{},[91],{"type":14,"value":92},"The creator prepares a campaign and connects their Stripe account. Donations are charged directly on the beneficiary's connected account through Stripe Connect Standard. Webhooks record the payment result, update fundraising totals and support receipts, rather than treating a visit to the confirmation page as proof of payment.",{"type":9,"tag":84,"props":94,"children":96},{"title":95},"Clear amounts",[97],{"type":9,"tag":10,"props":98,"children":99},{},[100],{"type":14,"value":101},"The current model has no fixed platform commission. Each campaign configures how it supports Donation-Pool through tips: funded from proceeds or offered voluntarily by the donor. Stripe processing costs are deducted from the beneficiary's balance. The calculation distinguishes the donation, the tip and the total charged.",{"type":9,"tag":103,"props":104,"children":106},"h2",{"id":105},"walkthrough",[107],{"type":14,"value":108},"Walkthrough",{"type":9,"tag":71,"props":110,"children":112},{"color":111,"frame":74},"#e8eef4",[113],{"type":9,"tag":77,"props":114,"children":119},{"alt":115,"effect":116,"src":117,"poster":118},"Browsing Donation-Pool","reveal","https:\u002F\u002Fres.cloudinary.com\u002Fddwpkkaqv\u002Fvideo\u002Fupload\u002Fvc_h264,q_auto,w_1280\u002FGrabacio%CC%81n_de_pantalla_2026-10-29_a_las_15.24.54.mov-hevc-c_hhrvtx.mp4","https:\u002F\u002Fres.cloudinary.com\u002Fddwpkkaqv\u002Fvideo\u002Fupload\u002Fso_2,w_1280,q_auto\u002FGrabacio%CC%81n_de_pantalla_2026-10-29_a_las_15.24.54.mov-hevc-c_hhrvtx.webp",[],{"type":9,"tag":77,"props":121,"children":125},{"alt":122,"effect":123,"src":124},"Donation-Pool screen 2","unfurl","https:\u002F\u002Fres.cloudinary.com\u002Fddwpkkaqv\u002Fimage\u002Fupload\u002Fc_fill,g_north,w_1400,h_1000,q_auto\u002F2026-donation-pool_app-1_l2o4zm.webp",[],{"type":9,"tag":77,"props":127,"children":130},{"alt":128,"effect":123,"src":129},"Donation-Pool screen 3","https:\u002F\u002Fres.cloudinary.com\u002Fddwpkkaqv\u002Fimage\u002Fupload\u002Fc_fill,g_north,w_1400,h_1000,q_auto\u002F2026-donation-pool_app-2_nz9kkf.webp",[],{"type":9,"tag":77,"props":132,"children":135},{"alt":133,"effect":123,"src":134},"Donation-Pool screen 4","https:\u002F\u002Fres.cloudinary.com\u002Fddwpkkaqv\u002Fimage\u002Fupload\u002Fc_fill,g_north,w_1400,h_1000,q_auto\u002F2026-donation-pool_app-3_kdwtaw.webp",[],{"type":9,"tag":77,"props":137,"children":140},{"alt":138,"effect":123,"src":139},"Donation-Pool screen 5","https:\u002F\u002Fres.cloudinary.com\u002Fddwpkkaqv\u002Fimage\u002Fupload\u002Fc_fill,g_north,w_1400,h_1000,q_auto\u002F2026-donation-pool_app-4_rzqthe.webp",[],1794317809960]