Desenvolvedor Full Stack com foco em backend e arquitetura de aplicações web escaláveis.
Apaixonado por sistemas distribuídos, performance e boas práticas de engenharia de software.
- Vue 3.5 — Composition API,
<script setup>, Pinia, Vue Router - TypeScript — Tipagem estática em toda a aplicação
- Vite 6 — Build rápido e HMR
- TanStack Query — Cache inteligente de dados da API
- PrimeVue + ApexCharts — UI components e gráficos
- Laravel 12 — API REST, filas, broadcasting, event-driven
- PHP 8.2+ — Tipagem estrita, enums, readonly properties
- Laravel Sanctum — Autenticação token-based
- Laravel Reverb — WebSocket em tempo real
- Laravel Horizon — Processamento assíncrono de filas
- PostgreSQL 16 — Schemas separados (transactional + analytics), extensões customizadas
- Redis 7 — Cache com tags, filas, scripts Lua (dedup, sliding window, streak)
- Docker & Docker Compose — Ambiente 100% containerizado
- OpenResty — Proxy HTTP com Lua na borda
- GitHub Actions — CI/CD completo (PHPUnit, Pint, PHPStan, Vitest, ESLint)
| Área | Ferramentas |
|---|---|
| Testes | PHPUnit (backend) + Vitest (frontend) |
| Análise estática | PHPStan / Larastan (nível máximo) |
| Code style | Laravel Pint + ESLint + Prettier |
| CI/CD | Pipelines automatizadas com GitHub Actions |
| Segurança | CodeQL, Dependabot alerts, headers de segurança |
Projeto pessoal — arquitetura e implementação própria
Plataforma full-stack para desenvolvedores e estudantes acompanharem sessões de estudo e métricas de produtividade.
Features
- ⏱️ Sessões de estudo com timer em tempo real, vinculadas a tecnologias
- 📊 Dashboard com KPIs (horas totais, sessões, streak), séries temporais e distribuição por tecnologia
- 🔥 Heatmap de atividade estilo GitHub
- 🎯 Metas semanais de horas de estudo
- 🔌 Dashboard em tempo real via WebSocket (Laravel Reverb)
- 🔐 Autenticação com Sanctum e gestão de dispositivos
- 📤 Exportação de dados analíticos em JSON por período
- 🌙 Dark mode
Arquitetura
- Event-driven: evento de sessão → listener →
RecalculateMetricsJob(filametrics, debounce de 2s) → recálculo transacional → flush de cache → eventoMetricsRecalculatedvia Reverb - Schemas separados no PostgreSQL —
public(transacional) eanalytics(leitura), um CQRS leve - Cache distribuído com tags no Redis para invalidação granular
- Scripts Lua no Redis para dedup, sliding window rate limit e streak
- OpenResty com Lua na borda para headers de segurança
- CI/CD com pipelines separadas de backend e frontend, CodeQL e Dependabot
Tech Stack
Frontend: Vue 3.5 + TypeScript 5.4 + Vite 6 + Pinia + TanStack Query + PrimeVue + ApexCharts
Backend: Laravel 12 + PHP 8.2 + Sanctum + Reverb + Horizon + API Resources
Dados: PostgreSQL 16 + Redis 7
Infra: Docker Compose + OpenResty + GitHub Actions
Projeto colaborativo — participação/estudo de arquitetura
Plataforma omnichannel de CRM/SaaS para atendimento ao cliente via WhatsApp, com suporte a múltiplos providers (Evolution API e Uazapi).
Arquitetura
Frontend (React SPA) ──HTTP + WebSocket──► Backend (Express)
│
┌──────────────────────────┼──────────────────┐
│ │ │
PostgreSQL Redis BullMQ
(Prisma ORM) (cache/rate) (workers)
│
┌──────────┴──────────┐
Evolution API v2.3.7 Uazapi
O backend segue arquitetura em camadas — routes → middleware → controllers → services → repositories, com workers (processamento assíncrono via BullMQ), adapters (normalização de webhooks dos providers) e providers (integração com APIs externas). Domínios de serviço incluem auth, contacts, tickets, messages, instances, socket, audit, storage e billing.
Fluxo de mensagem: webhook do provider → validação com Zod → fila webhook (BullMQ) → worker resolve contato/ticket/mensagem → evento message:new via Socket.IO → agente responde → fila outgoing → worker envia ao provider.
Tech Stack
Frontend: React 19 + Vite 6 + TailwindCSS 4 + Zustand + TanStack Query + Socket.IO Client
Backend: Node.js 24 + TypeScript + Express 4 + Prisma 6 + BullMQ + Socket.IO + JWT/Refresh + Zod
Dados: PostgreSQL 18 + Redis 7 + MinIO (S3-compatible) / AWS S3
Infra: Docker Compose + Docker Swarm (produção) + Nginx + Sentry
- Email: thiagohatanaka18@gmail.com
- LinkedIn: Thiago Silva Hatanaka
- GitHub: @hatanaca