Felipe Gazolla.
← Projetos
jan 2026

Loqfy.

SaaS imobiliário: imóveis, locações, corretores e financeiro em um só lugar.

  • SaaS
  • Operacao

As demos são interativas no desktop — no celular, veja a prévia logo abaixo.

Demo navegável com dados fictícios

Problema

Imobiliárias pequenas e médias gerenciam imóveis, locações, corretores, leads e financeiro em planilhas e canais soltos, perdendo informação e tempo.

Solução

SaaS único que centraliza cadastro de imóveis, locações, pessoas/corretores, mensagens, contas a pagar e um mapa, com visão web e preview mobile.

Meu papel

Concepção de produto, modelagem das entidades, arquitetura do front-end e UX.

Resultado

Demonstra domínio de produto SaaS completo, conectado à vivência real no setor imobiliário.

Stack da demo

Next.jsTypeScriptSCSS ModulesDados fictícios

Como funciona.

Descrição do produto real (frontend + backend). A demo embutida acima é a versão de demonstração dele, com dados fictícios.

Loqfy é uma plataforma SaaS multi-tenant de gestão imobiliária para imobiliárias de pequeno e médio porte. Cobre todo o ciclo do negócio — captação e cadastro de imóveis, locações e contratos, vendas, propostas, vistorias com fotos e assinatura, financeiro (parcelas, reajustes, repasses e contas a pagar), CRM de pessoas e corretores, leads do site público e cobrança por assinatura — em um único produto com painel web, app mobile e site público de catálogo por imobiliária.

Arquitetura

  • Multi-tenant: cada imobiliária é um Tenant isolado, com seus próprios usuários, planos, dados e até domínio personalizado (CNAME) para o site público.
  • Quatro frentes em volta de uma API central: painel web (Next.js), app mobile (React Native/Expo), site público de imóveis por imobiliária (capital-imobiliaria) e a API REST que orquestra tudo.
  • API em Fastify + Prisma/PostgreSQL organizada em ~22 módulos de domínio, com validação Zod ponta a ponta, documentação OpenAPI/Swagger e modelagem de ~39 entidades e ~40 enums refletindo regras reais de locação.
  • Autenticação JWT com access + refresh token, reset de senha, registro pendente e níveis de acesso por papel (AccessLevel) dentro de cada tenant.
  • Documentos formais (contratos, termos de vistoria, recibos) gerados server-side: templates Handlebars renderizados em PDF via Puppeteer.
  • Billing e planos via Stripe, uploads de fotos/documentos no Google Cloud Storage, logs estruturados com Pino e segurança com Helmet, rate-limit e bcrypt.

Módulos

  • Imóveis e galeria de fotos (com geolocalização e visibilidade)
  • Locações, contratos, inquilinos e proprietários
  • Parcelas, reajustes (IGPM/IPCA) e parcelas extras (seguro, IPTU)
  • Vistorias: itens por cômodo, fotos, assinatura e link público
  • Vendas: vendedores, compradores, corretores, comissões e parcelas
  • Propostas de locação e compra/venda
  • Pessoas (proprietários/locatários) e corretores com perfil público
  • Financeiro: contas a pagar, contas bancárias, transações e repasses
  • Mensagens/leads vindos do site público
  • Relatórios: inadimplência, fluxo de caixa, ocupação, comissões, pipeline e mais
  • Templates de documentos, planos e assinaturas
  • Dashboard e administração da plataforma (auditoria)

Destaques de engenharia

  • Isolamento multi-tenant com domínio personalizado por imobiliária no site público.
  • Geração de contratos, vistorias e recibos em PDF a partir de templates Handlebars renderizados com Puppeteer.
  • Assinatura de vistoria pelo inquilino via token público — assina sem precisar de conta.
  • Gating de funcionalidades e limites de uso por plano, integrados ao ciclo de cobrança Stripe.
  • Modelagem de domínio rica (~39 entidades) cobrindo reajustes, comissões e repasses do mundo real.
  • Validação Zod compartilhada e documentação OpenAPI gerada a partir do código; suíte de testes com Vitest (unit + e2e).

Stack do produto real

Backend (API)
Node.js 20FastifyTypeScriptPrismaPostgreSQLZodJWTSwagger/OpenAPIPinoDocker
Pagamentos e infraestrutura
StripeGoogle Cloud StoragePuppeteerHandlebarsHelmetRate-limit
Web (painel)
Next.js 16React 19TypeScriptSCSS ModulesReact QueryZustandReact Hook FormRechartsTipTapGoogle Maps
Mobile
React NativeExpoReact NavigationZustandReact Hook Formaxiosreact-native-maps
Qualidade
VitestESLintTypeScript estrito