DesculpaAI: Álibis sob Demanda
Inspiration
Todos nós já estivemos lá: aquele encontro que mais parece uma entrevista de emprego, um almoço de família onde perguntam sobre os namoradinhos, ou uma reunião que poderia ter sido um e-mail. A inspiração para o DesculpaAI veio da necessidade universal e humana de... fugir. Queríamos criar um "Uber de Desculpas", conectando pessoas em situações constrangedoras a atores locais (os "Álibis") dispostos a ligar, aparecer ou inventar uma emergência caótica para salvá-las. A ideia é monetizar o constrangimento social através de uma economia colaborativa de mentiras do bem.
What it does
O DesculpaAI é uma plataforma de duas pontas:
- O Desesperado: O usuário que precisa sumir. Ele seleciona a situação atual (ex: Date Ruim), o nível de absurdo da desculpa (Leve, Médio, Caótico) e o tipo de ator necessário (Veterinário Emocional, Advogado, Primo Preocupado).
- O Álibi (Herói Local): Atores frustrados ou pessoas entediadas recebem notificações de "Chamados" na sua região. Ao aceitar um chamado, eles recebem um roteiro gerado na hora ("A gente precisa ir. O peixe não resistiu.") e ganham Karma como recompensa.
How we built it
Construímos a aplicação visando alta performance e responsividade, pois quando o usuário precisa de um álibi, cada segundo conta.
- Frontend: Desenvolvido com Next.js (App Router) e React. Utilizamos TailwindCSS para criar uma interface noturna (Dark Mode por padrão) com cores neon pulsantes (destaque para o radar carmesim buscando álibis).
- Comunicação: Configuramos o Axios para gerenciar as requisições assíncronas ao backend, garantindo que o status do resgate (Polling simulado) seja o mais em tempo real possível.
- Componentização: Arquitetura modular separando os fluxos
/desesperado(quem pede ajuda) e/alibi(quem presta o serviço).
A lógica de pareamento entre o Desesperado e o Álibi baseia-se na nossa equação proprietária de urgência (Modelada em $\LaTeX$):
$$ U(x) = \lim_{t \to 0} \left( \frac{A_n^2 \times D}{C_{soc}} \right) + \int_{0}^{t} \lambda e^{-\lambda \tau} d\tau $$
Onde $A_n$ é o Nível de Absurdo (1 a 3), $D$ é a Distância em Metros, e $C_{soc}$ é o Custo Social do constrangimento (em decibéis de silêncio constrangedor).
Challenges we ran into
- Gerenciamento de Estado de Assincronicidade: Criar a ilusão de tempo real para o usuário aguardando o resgate sem saturar o servidor de requisições. Tivemos que implementar um sistema de polling robusto no frontend.
- UX Sob Pressão: Como desenhar uma interface para alguém que está escondido no banheiro tentando escapar de um encontro? A resposta foi uma UI de altíssimo contraste, com botões massivos e fluxo de cliques mínimos (Max 3 cliques para pedir resgate).
- Padronização de API: Migrar de dados "mockados" localmente para um backend real exigiu a reestruturação global do cliente HTTP com variáveis de ambiente injetadas em build-time.
Accomplishments that we're proud of
- Desenvolver uma UI Pixel-Perfect e incrivelmente responsiva. As animações pulsantes de "radar" em CSS puro (
animate-ping) criam uma tensão dramática fantástica. - Conseguir equilibrar uma piada de humor ácido com código funcional, criando um fluxo de ponta a ponta (Criação de pedido $\rightarrow$ Feed de motoristas/álibis $\rightarrow$ Match e roteiro).
What we learned
Aprendemos muito sobre a gestão de estados complexos de UI com Next.js. Além disso, percebemos que o design emocional importa: a interface precisa transmitir o sentimento correto (neste caso, urgência secreta). Do lado técnico, dominamos o uso de Server e Client Components, otimizando a montagem de layouts isolados.
What's next for DesculpaAI
- Geolocalização Real: Integração com a API do Google Maps para parear álibis baseados na distância euclidiana exata: $d(p,q) = \sqrt{(p_x - q_x)^2 + (p_y - q_y)^2}$.
- Geração de Roteiro por IA: Usar LLMs para gerar roteiros de resgate dinâmicos baseados no contexto (ex: o álibi fingir que o servidor de produção do cliente caiu e só o Desesperado tem a chave SSH).
- Monetização: Converter o Karma em descontos reais em apps de delivery (afinal, depois de fugir de um date, você vai querer comer pizza em casa).
Log in or sign up for Devpost to join the conversation.