Urgent.News

What's breaking now, across thousands of outlets.

Tech

Construindo o surfaai do zero: stack, decisões e o que eu faria diferente

Depois de alguns anos como engenheiro de software em empresas — frontend architecture, sistemas distribuídos, produtos que outras pessoas definiam — decidi construir algo do zero, sozinho: do primeiro commit até estar rodando em produção, com usuários reais e dinheiro de verdade passando pelo sistema. Esse algo é o surfaai . Esta é a primeira de uma série de artigos técnicos sobre as decisões que…

Original Portuguese Read in English

Surfaai, uma plataforma que conecta alunos a instrutores/prestadores de serviço, surgiu de um problema simples: como conectar duas pontas com dinheiro no meio sem que cada provider resolve seu próprio checkout, emissão, taxas e split. O desafio central era garantir a transferência líquida do dinheiro do aluno ao provider, com a taxa da plataforma descontada corretamente, de forma auditável e sem race conditions.

Para isso, surfaai usou a stack Next.js + React + TypeScript no front, Tailwind para UI, Supabase (Postgres + Auth + RLS) no backend e Stripe Connect para pagamentos e repasse. A decisão de usar Stripe Connect com destination charges permitiu que o sistema cuidasse da transferência líquida automaticamente assim que o pagamento foi confirmado.

Todo crédito de compra só é criado no evento payment_intent.succeeded do webhook do Stripe, evitando duplicação de crédito por race condition e tornando o sistema auditável. No próximo artigo da série, será detalhado como o destino de pagamento funciona na prática, com código.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

More from Wednesday 30 September →