JedIN Pages — Stack Tecnológica Completa
O Construtor de Landing Pages com IA Nativa
O JedIN Pages é o produto de marketing digital da plataforma — landing pages, CRO, quizzes, A/B testing com Thompson Sampling Bayesiano, IA generativa (copy + imagem + vídeo) e marketing automation. Concorrente direto do RD Station Pages com foco em IA de ponta.
Este post documenta a stack completa. Atenção: Pages tem auth isolada do core JedIN (JWT próprio, PAGES_JWT_SECRET separado) — é um produto multi-tenant com seu próprio conceito de organização (PagesOrg).
Linguagens
| Camada | Linguagem | Versão |
|---|---|---|
| Frontend | TypeScript | 5.3 |
| Backend | TypeScript | 5.3 |
| MCP Server | JavaScript ES2022 | Node 20 |
| LPs renderizadas | HTML / CSS / JS (runtime) | — |
Frontend
Framework
| Tecnologia | Versão | Uso |
|---|---|---|
| Next.js | 14.1 | App Router |
| React | 18.2 | UI |
| Tailwind CSS | 3.4.1 | Styling |
| Radix UI | latest | Primitivos |
| Lucide React | 0.309 | Ícones |
| next-themes | 0.2.1 | Dark mode |
Editor de Landing Pages (CUSTOM)
Não usa Grapesjs, Craft.js nem builders de terceiros — é 100% custom:
- 17 blocos configuráveis — hero, cta, image, text, heading, form, box, section, column, row, spacer, faq, social, countdown, video, link, html, emarsys
- Structure tree com seletores CSS para targeting de elementos
- Monaco Editor (
@monaco-editor/react4.7) — edição raw de HTML/CSS/JS/Head - use-editor-history.ts — undo/redo custom hook
- html-to-image 1.11.13 — screenshots/previews
- Playwright 1.58.2 (backend) — renderização para audit
State e Forms
- Zustand 4.4.7 + Immer 10.0.3 — stores
- TanStack Query 5.17 — server state
- react-hook-form 7.49 + Zod 3.22.4 — forms
- next-intl 3.4 — i18n
Visualização
- ReactFlow 11.10.2 — visualização de funnels e quizzes
- react-markdown 10.1 + remark-gfm — exec reports
- socket.io-client 4.8 — colaboração real-time
- @sentry/nextjs 10.40 — error tracking
Rotas
apps/web/app/[locale]/pages/
| Grupo | Rotas |
|---|---|
| (app) | home · sites · admin · analytics · audit · cro-audit · cro-widgets · admap · cms · design-system · quizzes · smart-traffic · ab-tests · leads · forms · automations · surveys · videos · templates · projects · library · settings · users · popups · events · attribution · drip · marketplace · webhooks · utm-builder · reseller · scoring · billing · usage · gdpr |
| (editor) | sites/[siteId]/lps/[lpId]/edit · /config · /publish · popups/[id] |
Backend
Framework
| Tecnologia | Versão | Uso |
|---|---|---|
| Node.js | 20 LTS | Runtime |
| NestJS | 10.3 | Framework |
| Express | 5.2.1 | HTTP |
| Prisma | 5.8 | ORM |
| Helmet | 8.1 | Security headers |
Submódulos (48+)
Localização: apps/api/src/modules/pages/
Core: auth · admin · users · site · landing · project · template · version · image · video · render · embed · forms · events · analytics
CRO & A11y: a11y (WCAG 2.2 AA) · cro-widgets (exit-intent, countdown, multi-step, sticky bar) · quiz (funnel builder) · smart-traffic (Thompson sampling Bayesiano) · conversion-score (0–100 real-time) · design-system (CSS vars) · cms (headless) · admap (Google/Meta ads → LP match) · dtr (Dynamic Text Replacement UTM) · audit · seo (13 checks)
Internacional & Consent: translate · lgpd-cmp (Consent Mode v2) · consent
Marketing: social-proof · sticky-bar · exec-report · drip · segments · automations · leads · scoring · comments · attribution · surveys · snippets
Ops: billing (Stripe REST) · domain · webhooks · integrations · gdpr · usage · reseller · sso (SAML) · variants · telemetry · whatsapp-chat · r2cx (bridge)
Auth ISOLADA do Core
| Componente | Detalhe |
|---|---|
| Guard | PagesAuthGuard |
| Strategy | PagesJwtStrategy (pages-jwt) |
| Secret env | PAGES_JWT_SECRET (separado do core) |
| Payload | { sub, orgId, role, email } |
| Roles | super_admin · org_owner · org_admin · editor · viewer |
| RBAC Guard | PagesRolesGuard |
| SSO | SAML via metadata.xml · LDAP (ldapjs 3.0.7) · OpenID (openid-client 6.8.2) |
Libs do Backend
| Lib | Versão | Uso |
|---|---|---|
| cheerio | 1.0 | HTML parse (audit, SEO) |
| Playwright | 1.58.2 | Screenshots, renderização |
| pdfkit + pdf-parse | 0.15.1 / 2.4.5 | PDFs |
| xlsx + jszip | 0.18.5 / 3.10.1 | Export dados |
| @aws-sdk/client-textract | 3.1027 | OCR de imagens (análise de LPs upload) |
| @aws-sdk/client-s3 + presigner | 3.1001 | Assets |
| @aws-sdk/client-ses | 3.1027 | |
| nodemailer | 8.0.1 | PagesMailerService |
| bcrypt | 5.1.1 | Password |
Database
48 tabelas Pages* em PostgreSQL 16
Core
PagesOrg · PagesUser · PagesSite · PagesLandingPage · PagesLpVersion · PagesProject
Conteúdo & Tracking
PagesFormSubmission · PagesEvent · PagesPageView · PagesImage · PagesVideoJob
Funnels & Surveys
PagesQuiz · PagesQuizResponse · PagesPopup · PagesSurvey · PagesSurveySend
Leads & Scoring
PagesLead · PagesLeadStage · PagesLeadActivity · PagesLeadScore
A/B Testing
PagesLpVariant · PagesVariantExposure · PagesVariantReward (Thompson sampling)
CRO
PagesConversionScore · PagesDesignToken · PagesSymbol · PagesCollection/Item
Integração & Auth
PagesOrgIntegration · PagesApiKey · PagesDomainVerification · PagesSamlConfig · PagesWebhook
Billing
PagesPlan · PagesSubscription · PagesApiUsage
Audit & Consent
PagesAuditLog · PagesConsentRecord · PagesSharedTemplate
Automation
PagesDripCampaign · PagesDripStep · PagesDripEnrollment · PagesAdMap · PagesComment · PagesTouch
IA Generativa (Multi-provider)
| Provider | Modelo | Uso | Custo |
|---|---|---|---|
| OpenAI | GPT-4o Mini | Copy (headline/CTA/SEO), insights | — |
| Google Gemini | 2.5 Flash Image (Nano Banana) | Imagens primárias | ~$0.004/img |
| OpenAI | DALL-E 3 | Imagens fallback | ~$0.04/img |
| Veo 3 | Vídeos async (2–5min) | — | |
| AWS | Textract | OCR de docs | — |
Integração via fetch direto (sem SDK oficial OpenAI) — chaves armazenadas em PagesOrgIntegration por organização.
Storage & Email
| Serviço | Lib | Uso |
|---|---|---|
| AWS S3 | @aws-sdk/client-s3 + s3-request-presigner | Imagens, vídeos (PagesVideoJob), assets |
| AWS SES | @aws-sdk/client-ses | Email via PagesMailerService |
Billing
- Stripe via REST fetch (sem SDK oficial)
- Webhook signature:
crypto.createHmac - Models:
PagesPlan,PagesSubscription,PagesApiUsage
MCP Server
Package: packages/mcp-pages/ · Porta: 3362 · Tools: 60+
Arquitetura
- Express 4.21 (JS puro)
- Session map LRU — máx 10 sessões por processo
- Entry:
src/server.js - Tools definitions:
src/tools.js
Categorias de Tools
| Categoria | Qtd | Exemplos |
|---|---|---|
| Site Management | 4 | pages_list_sites, pages_create_site, pages_get_embed_snippet |
| Landing Pages | 8 | pages_create_lp, pages_publish_lp, pages_update_lp |
| Structured Editing (v9500) | 6 | pages_components_catalog, pages_insert_component, pages_modify_element |
| Search & Import (v9900) | 5 | pages_search_images, pages_import_image_from_url, pages_audit_publish_ready |
| Analytics & Snippets | 6 | pages_analytics_snippet (GA4/Hotjar/Meta/Clarity/GTM), pages_events_summary |
| Image & Video | 4 | pages_generate_image (Nano Banana/DALL-E), pages_generate_video (Veo 3) |
| Versions & Approval | 4 | pages_save_version, pages_review_version |
| Forms | 3 | pages_list_form_submissions, pages_form_stats |
| AI Features | 2 | pages_ai_copy (5 variações), pages_ai_insights |
| Quiz / Smart Traffic | 5 | pages_quiz_stats, pages_smart_traffic_stats |
| Conversion Score | 2 | pages_conversion_score, pages_conversion_score_history |
| Design System | 4 | pages_design_tokens_{get,update}, pages_list_symbols |
| CMS | 4 | pages_list_collections, pages_create_collection_item |
| AdMap / DTR | 6 | pages_admap_match_score, pages_dtr_snippet |
| A11y / Translate | 2 | pages_audit_a11y, pages_translate_lp |
| CMP / WhatsApp / Social | 5 | pages_cmp_snippet, pages_whatsapp_snippet, pages_social_proof_snippet |
| CRO Widgets | 4 | pages_sticky_bar_snippet, pages_exit_intent_snippet, pages_countdown_evergreen, pages_multi_step_form |
| Exec Report | 1 | pages_exec_weekly_report |
R2-CX Bridge (Widget Flutuante)
| Componente | Função |
|---|---|
PagesR2cxController | Endpoint /pages/r2cx/chat |
| Auth | PagesAuthGuard (JWT isolado) |
| Embed.js | Injeta iframe validado por PagesOrg.embedToken |
| Rate limit | 10 req/min por usuário |
| Session namespace | r2cx-pages-${orgId}-${sessionId} |
| Streaming | SSE com keepalive 25s |
Observability
- OpenTelemetry + @sentry/nestjs 10.40
- Jaeger, Prometheus, Grafana
Resumo
O JedIN Pages é uma aplicação SaaS multi-tenant completa com:
- FE: Next.js 14 + React 18 + editor custom (17 blocos) + Monaco + ReactFlow
- BE: NestJS 10 + 48+ submódulos + auth isolada (PagesAuthGuard)
- DB: PostgreSQL 16 + 48 tabelas
Pages* - IA: 4 providers (GPT-4o Mini + Gemini 2.5 + Veo 3 + DALL-E 3) + Textract
- MCP: 60+ tools na porta 3362
- Billing: Stripe REST (sem SDK)
- SSO: SAML + LDAP + OpenID
Diferenciais técnicos: editor 100% custom (sem Grapesjs), Smart Traffic com Thompson Sampling Bayesiano, Conversion Score real-time (0–100), audit publish-ready com mixed content + CORS + CSP, SAML metadata.xml generation.
Próximos posts:
Related Articles
R2-CX — Stack Tecnológica Completa do Consultor Autônomo
Deep dive no R2-CX: consultor autônomo multi-produto com 14+ MCP targets, Playwright browser automation, LLM multi-provider (Groq Llama 3.3 70B + Gemini Flash + Ollama), Live View em tempo real, session persistence PostgreSQL e skill improvement loop.
JedIN Utilities (IS-U) — Stack Tecnológica Completa
Deep dive no produto JedIN Utilities: white-label SAP IS-U para distribuidoras de energia com 17 submódulos NestJS, integração SAP S/4HANA + C4C V1/V2 + BTP, marketplace P2P solar, DEC/FEC ANEEL e 28 tools MCP.
JedIN SRE — Stack Tecnológica Completa (Supplier Relationship)
Deep dive no JedIN SRE: 15 submódulos NestJS, integração SAP S/4HANA + ECC + Ariba + SharePoint, IA jurídica OpenAI GPT-4o para análise de contratos, e-signature SHA-256 compliance MP 2.200-2/2001, AWS Textract OCR e 44 tools MCP role-based.