React Native Expo / TypeScript NativeWind AsyncStorage Groq AI (LLaMA 3.3)

Seven Faith

App Mobile de Fé e Bem-Estar Emocional com IA.

Mais do que um leitor bíblico, um assistente espiritual. Inclui 5+ ecrãs interativos, sistema de gamificação avançado com reforço de hábitos e um conselheiro emocional alimentado por Inteligência Artificial generativa.

O Desafio

A maioria das aplicações religiosas no mercado sofre de baixa retenção porque são apenas leitores de texto estáticos. O desafio era criar uma experiência dinâmica que combinasse leitura, gamificação e apoio emocional personalizado, garantindo que o utilizador se sentisse motivado a abrir a app todos os dias.

O Meu Papel

Mobile Developer & UX/UI: Fui o responsável integral pelo projeto. Desde a estruturação em React Native (com TypeScript e NativeWind para estilização), até à implementação da lógica de persistência de dados offline e integração dos fluxos de Inteligência Artificial via Groq API.

Solução Técnica & Funcionalidades

  • Integração IA (LLaMA 3.3 70B): Orquestrei 4 fluxos distintos de IA: um conselheiro emocional com histórico de conversa, geração de devocionais diários com cache, explicação contextual de versículos e um quiz adaptativo baseado no nível do utilizador.
  • Leitor Otimizado: Construção de um leitor bíblico com seleção avançada, destaque de versículos com paleta de cores personalizada e gravação do progresso de leitura através de AsyncStorage.
  • Gamificação Anti-Fraude: Sistema de consistência ("Lâmpada de Azeite") com streak tracking. Implementei verificações baseadas em datas reais do servidor para evitar que utilizadores manipulassem o relógio do telemóvel para ganhar troféus falsos.
  • Feedback e i18n: Adição de feedback háptico (vibração tátil) para reforço positivo e internacionalização completa (PT, EN, ES, FR) utilizando i18next com deteção automática do idioma nativo do telemóvel.

Trechos de Arquitetura

Exemplos da lógica complexa aplicada no frontend da aplicação.

Exemplo: Chamada de IA com Contexto e Histórico

// Integração com a Groq API para o Conselheiro Emocional
export const fetchCounselorAdvice = async (userEmotion, chatHistory) => {
  const systemPrompt = `És um conselheiro empático. O utilizador sente-se: ${userEmotion}. Baseia a tua resposta em princípios bíblicos.`;
  
  const response = await fetch('https://api.groq.com/openai/v1/chat/completions', {
    method: 'POST',
    headers: {
      'Authorization': `Bearer ${GROQ_API_KEY}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      model: "llama3-70b-8192",
      messages: [
        { role: "system", content: systemPrompt },
        ...chatHistory // Mantém o contexto da conversa
      ],
      temperature: 0.7
    })
  });
  
  return response.json();
};

Exemplo: Lógica Anti-Fraude para o Streak (Lâmpada de Azeite)

// Verificação de acessos diários consecutivos
const checkDailyStreak = async () => {
  const lastLogin = await AsyncStorage.getItem('lastLoginDate');
  const today = await fetchRealWorldDate(); // Fetch de uma API de tempo externa
  
  if (!lastLogin) return initializeStreak(today);
  
  const daysDifference = calculateDaysDiff(lastLogin, today);
  
  if (daysDifference === 1) {
    incrementStreak(); // +1 Lâmpada de Azeite
  } else if (daysDifference > 1) {
    resetStreak(); // O utilizador falhou um dia
  }
  
  await AsyncStorage.setItem('lastLoginDate', today);
};
Anterior: BlinkFund Próximo: ShopVerde