ONLINE — em produção desde 2021

Rodrigo Lima

Senior Flutter Engineer

Flutter & Dart · IA aplicada a mobile (LLMs, Visão Computacional) · Firebase · Liderança técnica de produtos end-to-end

Construo aplicativos Flutter que rodam em produção de verdade — de sensores autônomos em postes na Índia a apps bancários e plataformas offline-first. 5 anos entregando software que não pode falhar em campo.

main.dart
  1. import 'package:flutter/material.dart';
  2.  
  3. void main() => runApp(const RodrigoLima());
  4.  
  5. class RodrigoLima extends StatelessWidget {
  6. const RodrigoLima({super.key});
  7.  
  8. @override
  9. Widget build(BuildContext context) => const Portfolio(
  10. role: 'Senior Flutter Engineer',
  11. focus: 'Flutter · IA aplicada a mobile · Firebase',
  12. motto: 'Software que não pode falhar em campo.',
  13. );
  14. }
DEVICE_PROFILE.rl
Ilustração de Rodrigo Lima em frente ao computador
uptime
5y 0m
stack
Flutter · Dart
location
Santarém, BR
deploys
BR · Índia · Dubai · EUA
5+ anos em produção
6 produtos entregues
4 países com deploy real
24/7 dispositivos monitorados em campo
// experiência

Log de implantação Experiencia.json

  1. 2021 — presente

    Senior Mobile Engineer

    produção

    CityData.ai · remoto

    Dono do app Flutter de sensoriamento de campo numa empresa de mobility intelligence atuante em mais de 1.500 cidades: sensores autônomos de visão computacional instalados em postes de rua, com deployments reais na Índia e em parceiros nos Estados Unidos. Construí o modo kiosk (Device Owner), pipeline de atualização OTA, telemetria de frota e modelos YOLO para detecção de pessoas e veículos — além de mentoria técnica formal a outros desenvolvedores do time.

    Flutter Firebase Android nativo OTA YOLO Codemagic
    citydata.json
    1. {
    2. "role": "Senior Mobile Engineer",
    3. "org": "CityData.ai · remoto",
    4. "period": "2021 — presente",
    5. "status": "produção",
    6. "description": "Dono do app Flutter de sensoriamento de campo numa empresa de mobility intelligence atuante em mais de 1.500 cidades: sensores autônomos de visão computacional instalados em postes de rua, com deployments reais na Índia e em parceiros nos Estados Unidos. Construí o modo kiosk (Device Owner), pipeline de atualização OTA, telemetria de frota e modelos YOLO para detecção de pessoas e veículos — além de mentoria técnica formal a outros desenvolvedores do time.",
    7. "stack": ["Flutter", "Firebase", "Android nativo", "OTA", "YOLO", "Codemagic"]
    8. }
  2. 2025 — presente

    Co-Founder & Flutter Engineer

    produto próprio

    Darvin Labs · Santarém, PA

    Cofundei a Darvin Labs, boutique própria de automação e software. Construí o Sondar, plataforma de pesquisa de campo offline-first, migrando um cliente real do KoBoToolbox para uma solução própria. Row Level Security e Policies do Supabase configuradas do zero, camada local-first com Drift/SQLite e sincronização idempotente via UUIDs client-side.

    Flutter Supabase Riverpod Drift/SQLite
    darvin_labs.json
    1. {
    2. "role": "Co-Founder & Flutter Engineer",
    3. "org": "Darvin Labs · Santarém, PA",
    4. "period": "2025 — presente",
    5. "status": "produto próprio",
    6. "description": "Cofundei a Darvin Labs, boutique própria de automação e software. Construí o Sondar, plataforma de pesquisa de campo offline-first, migrando um cliente real do KoBoToolbox para uma solução própria. Row Level Security e Policies do Supabase configuradas do zero, camada local-first com Drift/SQLite e sincronização idempotente via UUIDs client-side.",
    7. "stack": ["Flutter", "Supabase", "Riverpod", "Drift/SQLite"]
    8. }
  3. 2026 — presente

    Flutter Technical Lead

    contrato

    7 Promotora · app bancário

    Liderando a reescrita completa em Flutter de um app bancário de empréstimo consignado (antes em React Native), após o fornecedor anterior entregar o projeto pela metade. Antes de escrever qualquer linha nova, conduzi uma auditoria técnica completa — encontrando credenciais expostas no Git e keystore Android ausente — e só então formalizei o plano de continuidade.

    Flutter BLoC WebSocket Node.js Fastify
    banking_app.json
    1. {
    2. "role": "Flutter Technical Lead",
    3. "org": "7 Promotora · app bancário",
    4. "period": "2026 — presente",
    5. "status": "contrato",
    6. "description": "Liderando a reescrita completa em Flutter de um app bancário de empréstimo consignado (antes em React Native), após o fornecedor anterior entregar o projeto pela metade. Antes de escrever qualquer linha nova, conduzi uma auditoria técnica completa — encontrando credenciais expostas no Git e keystore Android ausente — e só então formalizei o plano de continuidade.",
    7. "stack": ["Flutter", "BLoC", "WebSocket", "Node.js", "Fastify"]
    8. }
// projetos

Software que roda no mundo real Projetos.yaml

FIELD DEPLOYED — ÍNDIA & EUA

Sensoriamento Autônomo de Campo

Mobility Intelligence

Sensores autônomos de visão computacional montados em postes urbanos, contando pessoas e veículos 24/7 — sem intervenção humana no dia a dia. Implantações reais na Índia e em parceiros nos Estados Unidos.

Destaque técnico

Redesenhei o mecanismo de reboot dos dispositivos: separei a decisão pura (RebootPolicy) da execução (RebootExecutor), com proteção anti-loop e testes com relógio simulado.

Flutter Device Owner OTA Firebase
field_sensing.yaml
  1. name: field_sensing
  2. category: Mobility Intelligence
  3. status: FIELD DEPLOYED — ÍNDIA & EUA
  4. description: Sensores autônomos de visão computacional montados em postes urbanos, contando pessoas e veículos 24/7 — sem intervenção humana no dia a dia. Implantações reais na Índia e em parceiros nos Estados Unidos.
  5. highlight: Redesenhei o mecanismo de reboot dos dispositivos: separei a decisão pura (RebootPolicy) da execução (RebootExecutor), com proteção anti-loop e testes com relógio simulado.
  6. stack: [Flutter, Device Owner, OTA, Firebase]
EM PRODUÇÃO — EUA

Assistente Conversacional Institucional

GovTech

Chatbot institucional para atendimento ao público nos Estados Unidos. Meu primeiro projeto na empresa: herdei um sistema legado na primeira semana e reescrevi do zero para o lançamento.

Destaque técnico

Lancei em produção com menos de 5 meses de experiência profissional em Flutter — integrando Dialogflow (NLU) e Firebase Cloud Messaging num chatbot real.

Flutter Dialogflow Firebase FCM
gov_chatbot.yaml
  1. name: gov_chatbot
  2. category: GovTech
  3. status: EM PRODUÇÃO — EUA
  4. description: Chatbot institucional para atendimento ao público nos Estados Unidos. Meu primeiro projeto na empresa: herdei um sistema legado na primeira semana e reescrevi do zero para o lançamento.
  5. highlight: Lancei em produção com menos de 5 meses de experiência profissional em Flutter — integrando Dialogflow (NLU) e Firebase Cloud Messaging num chatbot real.
  6. stack: [Flutter, Dialogflow, Firebase, FCM]
EM PRODUÇÃO — DUBAI

CRM de Frota em Tempo Real

Hospitalidade & Logística

CRM completo para coordenar em tempo real uma frota de ativos e motoristas, implantado numa rede hoteleira de luxo em Dubai.

Destaque técnico

Minha primeira implementação de foreground services e Isolates em produção (2022), numa época de regras do Android em transição e documentação oficial confusa — resolvido na base de pesquisa e tentativa e erro.

Flutter Firebase Foreground Services Isolates
fleet_crm.yaml
  1. name: fleet_crm
  2. category: Hospitalidade & Logística
  3. status: EM PRODUÇÃO — DUBAI
  4. description: CRM completo para coordenar em tempo real uma frota de ativos e motoristas, implantado numa rede hoteleira de luxo em Dubai.
  5. highlight: Minha primeira implementação de foreground services e Isolates em produção (2022), numa época de regras do Android em transição e documentação oficial confusa — resolvido na base de pesquisa e tentativa e erro.
  6. stack: [Flutter, Firebase, Foreground Services, Isolates]
EM USO — CAMPO

Sondar

Darvin Labs

Plataforma de pesquisa porta-a-porta offline-first: o entrevistador coleta dados sem internet e tudo sincroniza depois sem conflito, com relatório em PDF gerado direto no aparelho.

Destaque técnico

Sincronização idempotente: cada entrevista recebe um UUID gerado no cliente e é gravada como registro imutável (append-only) — sync duplicado nunca corrompe o dado.

Flutter Supabase RLS Drift/SQLite PDF on-device
sondar.yaml
  1. name: sondar
  2. category: Darvin Labs
  3. status: EM USO — CAMPO
  4. description: Plataforma de pesquisa porta-a-porta offline-first: o entrevistador coleta dados sem internet e tudo sincroniza depois sem conflito, com relatório em PDF gerado direto no aparelho.
  5. highlight: Sincronização idempotente: cada entrevista recebe um UUID gerado no cliente e é gravada como registro imutável (append-only) — sync duplicado nunca corrompe o dado.
  6. stack: [Flutter, Supabase RLS, Drift/SQLite, PDF on-device]
EM DESENVOLVIMENTO

App Bancário de Empréstimo Consignado

Fintech

App bancário de simulação e contratação de empréstimo consignado, integrado a uma instituição financeira. Segurança e confiabilidade em cada etapa do fluxo de crédito.

Destaque técnico

Antes de reescrever qualquer coisa, auditei o código herdado por completo — separando o que valia preservar do que exigia mudança real, em vez de recriar por padrão.

Flutter BLoC Node.js/Fastify MySQL
banking_app.yaml
  1. name: banking_app
  2. category: Fintech
  3. status: EM DESENVOLVIMENTO
  4. description: App bancário de simulação e contratação de empréstimo consignado, integrado a uma instituição financeira. Segurança e confiabilidade em cada etapa do fluxo de crédito.
  5. highlight: Antes de reescrever qualquer coisa, auditei o código herdado por completo — separando o que valia preservar do que exigia mudança real, em vez de recriar por padrão.
  6. stack: [Flutter, BLoC, Node.js/Fastify, MySQL]
EM VALIDAÇÃO

Correção de Redações com Caneta Digital

EdTech

App para professores corrigirem redações manuscritas em tablet com caneta (S Pen), gravando a correção em vídeo com anotações de tinta em tempo real.

Destaque técnico

Integrei gravação de tela nativa via MediaProjection do Android (canal Kotlin/MethodChannel) sincronizada com a camada de anotação de tinta — undo, redo e borracha inclusos.

Flutter Kotlin nativo MediaProjection PDFium
essay_grading.yaml
  1. name: essay_grading
  2. category: EdTech
  3. status: EM VALIDAÇÃO
  4. description: App para professores corrigirem redações manuscritas em tablet com caneta (S Pen), gravando a correção em vídeo com anotações de tinta em tempo real.
  5. highlight: Integrei gravação de tela nativa via MediaProjection do Android (canal Kotlin/MethodChannel) sincronizada com a camada de anotação de tinta — undo, redo e borracha inclusos.
  6. stack: [Flutter, Kotlin nativo, MediaProjection, PDFium]
// stack

Ferramentas de trabalho Skills.MD

Mobile & Arquitetura

FlutterDartClean Architecture BLoC / CubitRiverpodGetXMobXReact Native

Android nativo & Dispositivos

Device Owner / KioskMethod Channels Foreground ServicesIsolatesOTAOffline-first

Backend & Dados

SupabaseFirebasePostgreSQL MySQLNode.jsTypeScriptPython / FastAPIWebSockets

Qualidade & Entrega

Testes unitáriosTestes de widget CI/CD · CodemagicDockerOrbStackPlay StoreApp Store

Desenvolvimento AI-augmented

Claude CodeContext engineeringSpec-driven dev

Visão Computacional & Assistentes

YOLODialogflowChatbots com LLMs

Frontend Web

ReactVue.jsNext.js

Mapas & Geolocalização

Google MapsMapboxOpenStreetMapGeofencing
// educação

Formação Education.xml

Ciência da Computação UFOPA · 2015–2020
Sistemas de Informação PUC Minas · em andamento
education.xml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources package="br.rodrigo.lima">
  3.  
  4. <degree name="computer_science">
  5. <title>Ciência da Computação</title>
  6. <institution>UFOPA</institution>
  7. <period>2015–2020</period>
  8. </degree>
  9.  
  10. <degree name="information_systems">
  11. <title>Sistemas de Informação</title>
  12. <institution>PUC Minas</institution>
  13. <period>em andamento</period>
  14. </degree>
  15.  
  16. </resources>
// idiomas

Idiomas Idiomas.plist

Português nativo
Inglês fluente
Espanhol básico
languages.plist
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN">
  3. <plist version="1.0">
  4. <dict>
  5. <key>pt-BR</key>
  6. <string>nativo</string>
  7. <key>en</key>
  8. <string>fluente</string>
  9. <key>es</key>
  10. <string>básico</string>
  11. </dict>
  12. </plist>
// contato

Vamos construir algo que precisa funcionar de verdade. Contato.txt

Aberto a novos projetos, colaborações e conversas técnicas.

contact.txt
  1. $ cat contact.txt
  2.  
  3. name Rodrigo Lima
  4. email rodrigolimadh@gmail.com
  5. linkedin linkedin.com/in/rodrigo-lima-flutter
  6. location Santarém, PA — remote-friendly
  7. status Aberto a novos projetos, colaborações e conversas técnicas.
  8.  
  9. # Vamos construir algo que precisa funcionar de verdade.