Skip to content

ioott/InsightPop

Repository files navigation

InsightPop - Compartilhe e relaxe. A IA organiza e te lembra.

Visão Geral

O InsightPop é um assistente de inteligência ativa que transforma fluxos de informação desestruturada (WhatsApp, emails, prints de tela, fotos, PDFs e áudios) em dados organizados e ações futuras. O app utiliza inteligência adaptativa no onboarding, onde a IA ajusta suas perguntas conforme as respostas que recebe e a realidade específica de cada usuário. Por isso, ele sabe o que é importante pra você e, quando processa o conteúdo compartilhado, identifica dados relevantes, gera insights personalizados e notificações. Útil tanto para o microempreendedor que precisa gerir leads, clientes e contratos, quanto para o indivíduo que deseja um “segundo cérebro” para não esquecer detalhes importantes da vida pessoal e familiar, sua inteligência preditiva é capaz de sugerir o próximo passo antes mesmo de você pensar nele, te ajudando a estar sempre um passo à frente.

Inteligência Ativa ➔ Adaptativa ➔ Preditiva

O projeto foi arquitetado como um motor agnóstico capaz de se adaptar a qualquer nicho de mercado através de uma estrutura de atributos dinâmicos. Ele cria "caixinhas" novas dependendo do que o usuário precisa.

Links Úteis e Demonstração

Documentação Completa

Para detalhes profundos sobre o projeto, consulte:

🗂️ Índice

O Problema: Excesso de Informação, Falta de Tempo e o Colapso da Organização Pessoal na Vida Moderna

Vivemos no auge da comunicação mas o cérebro humano não consegue processar e organizar a quantidade de informações que recebe:

  • Esquecimento de Leads: Perda de faturamento por não oferecer serviços no momento certo (ex: buffet para aniversário de 1 ano de um cliente que fez o chá de bebê meses atrás, retomar contato com um cliente que fez uma pausa nas negociações por motivo de viagem, etc).
  • Sobrecarga Pessoal: Detalhes de consultas médicas, compromissos acadêmicos, pedidos de familiares, calendário escolar ou planos futuros que morrem no histórico das conversas e prints na galeria do celular.
  • Fricção de Cadastro: A resistência em abrir um app várias vezes para cadastrar eventos, tarefas e lembretes, impede o registro de dados, por cansaço, procrastinação ou desorganização. Se a entrada não for automática e intuitiva, a informação é perdida.

A Solução: InsightPop - Seu Segundo Cérebro

A grande vantagem competitiva é a autonomia total do ecossistema: o usuário não precisa criar eventos, tarefas ou lembretes manualmente em uma agenda. O InsightPop é um app “Share-First” (focado no compartilhamento) que funciona assim:

  1. Entrada Versátil: O usuário compartilha diretamente para o app, um arquivo ZIP (ex: conversa exportada do Whatsapp), PDF (ex: o calendário escolar ou um contrato de serviço), um print (ex: um convite de aniversário), uma foto (ex: um aviso com informações importantes ou um documento), um áudio (ex: algo importante que você gravou pra não esquecer) ou um texto copiado (ex: de um e-mail ou uma página da internet).
  2. Processamento Multi-Modal: A IA identifica identidades, fatos relevantes, preferências e intenções futuras, considerando as regras definidas por ela na criação da conta, de acordo com o perfil que ela configurou junto com você, e as regras que você criou, que fazem com que ela saiba o que é importante pra você. Extrai tudo que é relevante no arquivo compartilhado e infere as ações importantes que você precisa realizar, com as respectivas datas (ex: lembrar da reunião da escola, de cobrar a 2ª parcela do pagamento do cliente ou de confirmar presença na festa de aniversário até a data limite).
  3. Organização por Contextos: Separação clara entre vida profissional e pessoal através de Workspaces isolados.
  4. Lembretes Proativos: Notificações para ações futuras, baseadas em "gatilhos" inferidos, eliminando a necessidade de agendamento manual.

Diferenciais Tecnológicos

  • Onboarding Conversacional (IA): O aplicativo entende quem é o usuário através de um bate-papo natural, definindo automaticamente regras e prioridades antes mesmo do primeiro uso.
  • Arquitetura de Contextos & Workspaces Isolados: Gestão flexível de diferentes áreas da vida em um único banco de dados, sem misturar informações.
  • Dicionário de Atributos Dinâmicos (EAV no NoSQL): Base de dados flexível que se adapta às necessidades de cada usuário, sem esquemas fixos.
  • Aprendizado por Confirmação: A IA sugere "gavetas" (atributos/regras) aguardando validação humana.
  • Consolidação de Memórias: Sistema que detecta duplicidades e sugere a unificação de registros fragmentados em um único histórico manual revisado pelo usuário.
  • Motor de Regras Dinâmicas: A IA aprende com regras personalizadas definidas pelo usuário para inferir oportunidades e ações futuras.
  • Leitura de Imagens (OCR): Capacidade de interpretar prints de conversas para extração imediata de dados.

Tecnologias Utilizadas (Stack)

  • Backend: Python com FastAPI (rodando em Docker)
  • Segurança: Autenticação robusta com Bcrypt.
  • Arquitetura: Monolito Modular em Camadas (Repository Pattern)
  • Banco de Dados: MongoDB (rodando em Docker)
  • Mobile: React Native
  • Testes: Suítes completas de testes unitários e de integração (Pytest e Jest).
  • Inteligência Artificial: Google Gemini
  • Notificações: Firebase Cloud Messaging (FCM) (Pós-MVP)

Como Rodar Localmente (Setup Inicial)

  1. Pré-requisitos: Certifique-se de ter o Docker instalado e em execução em sua máquina.

  2. Clonar o repositório:

    git clone https://github.com/ioott/insightpop.git
    cd insightpop
  3. Configurar o ambiente Docker:

    docker-compose up -d --build

    Isso irá construir a imagem do backend e iniciar os contêineres do backend e do MongoDB em segundo plano.

  4. Verificar o Backend:

    curl http://localhost:8000

    Você deverá ver: {"message": "InsightPop Backend is running!"}

  5. Acesso Externo (Mobile): Para acessar o app no celular fora da rede do servidor, utilize o ngrok:

    ngrok http --domain=tipsy-roomily-ricky.ngrok-free.dev 8000

Roadmap (Status de Desenvolvimento)

✅ Fase 1: Backend e Core da Inteligência (Concluído)

  • IA Resiliente e Multi-Key: Lógica de ranqueamento dinâmico, failover de modelos e suporte nativo à rotação de múltiplas chaves de API (evitando limites de cota). Nota: Este fluxo será retirado quando o app entrar em produção.
  • Endpoints da API: CRUD completo para Insights, Memórias, Regras de Usuário e Gestão de perfil.
  • Autenticação Segura: Criação de conta e login com criptografia bcrypt.
  • Banco de Dados: MongoDB com estrutura flexível e escalável.
  • Processamento Multi-Modal: Suporte para Texto, Arquivos ZIP (Histórico WhatsApp), PDF e Imagens.
  • Consolidação de Dados: Lógica inteligente para atualizar registros existentes em vez de duplicar.
  • Padronização e Testes: Código 100% aderente ao PEP 8 e internacionalização estrutural. Suíte de testes unitários cobrindo todos os fluxos críticos.

✅ Fase 2: Aplicativo Mobile e UX (Concluído)

  • Estrutura do App: Criação do app React Native (Android) com TypeScript e Tipagem Forte.
  • Onboarding com IA: Fluxo de chat interativo estilo "entrevista" para a IA decidir as perguntas necessárias de acordo com as respostas fornecidas, traçar o perfil do usuário e sugerir regras automáticas logo na criação da conta.
  • Navegação Estável: Sistema baseado em estado com Interceptor de segurança para dados não salvos.
  • Design System: Paleta de cores centralizada, semântica e zero CSS inline. Interface dos formulários 100% padronizada.
  • Telas Principais:
    • Login & Cadastro (AuthScreen/ProfileReviewScreen): Acesso com validações estritas de e-mail, telefone e nome.
    • Dashboard (HomeScreen): Listagem de insights com busca, filtro por workspace, pull-to-refresh e Unificação Manual de memórias.
    • Captura (UploadScreen): Tela para upload de arquivos com feedback de processamento.
    • Revisão (ConfirmScreen): Interface para ajuste fino dos dados extraídos pela IA.
    • Gestão de Regras (RulesScreen): CRUD completo para as regras que guiam a IA, incluindo aceitação de sugestões automáticas.
  • UI/UX: Design coeso com fontes customizadas e componentes reutilizáveis.
  • Feedback Unificado: Componente global de modais para comunicação clara com o usuário.
  • Testes Automatizados: Testes com Jest e Testing Library garantindo o funcionamento do Frontend (fluxos de Login e Profile).
  • Notificações Inteligentes: Push notifications pelo app via Notifee, permitindo adiar (snooze) ou excluir um insight diretamente da notificação.
  • Segurança e LGPD: Recuperação de senha (com e-mail) e Deep Linking para redefinição. Exclusão permanente de conta e dados em cascata.

✅ Fase 3: Segurança, Escalabilidade e Clean Architecture (Concluído)

  • Arquitetura SOLID (Backend): Implementação de Clean Architecture separando Controller, Service e Repository, garantindo baixo acoplamento e permitindo testes isolados de regras de negócio.
  • Segurança e Proteção de Cota (API): Rate Limiting integrado (slowapi) para mitigação de ataques DDoS e economia de cotas da IA, aliado a um middleware CORS estrito e validação dinâmica de ambiente (Pydantic Settings).
  • Observabilidade e Resiliência: Substituição de saídas padrão por um sistema de Logging profissional estruturado e tratamento global de exceções com respostas HTTP padronizadas.
  • Estado Global Seguro (Mobile): Adoção do Zustand para gestão de estado centralizada, previsível e livre de prop-drilling, melhorando a escalabilidade e a performance de renderização.
  • Confiabilidade de UX (Mobile): Integração de formulários tipados de ponta a ponta com React Hook Form e Zod, garantindo validação síncrona sem overhead, e unificação do motor de rede nativo com instância protegida do axios.

🚀 Fase 4: Engajamento, Evolução da IA e Escalabilidade (Em Desenvolvimento)

  • Feedback Loop (IA): O modelo deverá comparar as sugestões geradas com o que o usuário efetivamente salvou/editou para aprender com o comportamento da pessoa.
  • Avaliação do App (Rating): Permitir que o usuário avalie (estrelas) a qualidade dos dados extraídos e insights sugeridos.
  • Recorrências de Notificação (Cron): IA sugere e usuário define datas de repetição (diário, semanal, anual) com UI de Picker/Dropdown.
  • Busca Semântica Avançada: Filtros naturais (ex: "clientes que têm filhos" ou "origem google").
  • Novas Funcionalidades Mobile: Substituir navegação manual por @react-navigation/native.
  • Multimídia: Adicionar processamento nativo de áudio (Speech-to-Text).
  • Otimização de UI: Carregar memórias sob demanda (Infinite Scroll) e "Theme Provider" (preparação para Dark Mode).
  • Segurança: Confirmação de email e telefone com código (OTP / 2FA).
  • Jurídico: Documentos de conformidade com LGPD, Termos de Uso e Políticas de Privacidade.
  • Crescimento: Integração via API à agenda do Google e tela de assinatura (Paywall).

Contato

Desenvolvido por Vania Ioott. Linkedin | Whatsapp

Este README.md será continuamente atualizado com o progresso do projeto.

About

Assistente de inteligência ativa que transforma fluxos de informação desestruturada (WhatsApp, emails, prints de tela, fotos, PDFs e áudios) em dados organizados e ações futuras. Utiliza inteligência adaptativa no onboarding, processa o conteúdo que recebe, identifica dados relevantes, gera insights personalizados e notificações.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors