Staging & demo content
Images, videos and screens from or test, not production. Names, numbers and flows are fictional or anonymized examples for the portfolio; they do not represent real clients or identifiable data.
User registration flow
Full in-app account creation flow, including data entry steps and initial user validation.
I worked on Fotocord, a mobile app for creating personalized photo books: users assemble albums with their photos, pay in the app and receive the physical product.
The project uses React Native (Expo) on the client and NestJS on the backend, with PostgreSQL, Prisma and Docker.
My main responsibility was the payments system end to end: integrating the backend with the K8 Fintech gateway and shaping the entire checkout flow. I implemented multiple methods—including PIX, hybrid boleto, credit card and subscriptions—covering charge creation, processing and reliable payment status updates.
The design includes state handling (pending, approved, error, expired), webhooks to stay in sync with the gateway and idempotency strategies to avoid duplicate charges. I also wired payments to orders so financial transactions stayed consistent with the purchase journey.
I contributed to authentication and user management with Keycloak, covering sign-up, login and application security.
I also worked on communications: transactional email with Resend (account confirmation, password recovery) and push notifications with Expo Notifications, improving engagement and the overall experience.
The project involved real product challenges: a robust checkout, integrations with external services, asynchronous state handling and a smooth experience across the full user journey.
Implementation of a complete payments system in production, including integration with a financial gateway, multiple payment methods, webhooks for status updates and a direct link to the platform order flow.
Ownership of one of the most critical parts of the product, ensuring the purchase journey worked end to end—supporting system reliability, user experience and operational viability of the app.