Skip to content
about/projects.tsx
13 of 13 projects shown

Projects and case studies

Internal products I built on the innovation team, with AI and automation, case studies from my ERP and WordPress work, and open-source projects. Client code is confidential, so those case studies describe context, approach, and outcome.

13

Items

11

Open source

2

Confidential

Category
Status
In progress
Internal tool

Painel Sites Express

Internal dashboard that centralizes institutional website production: from client material in Google Drive to generation in Lovable, client approval, and FTP publishing through GitHub Actions.

Context

Each website went through five tools (Drive, Lovable, GitHub, FTP hosting, and a link shortener), with manual steps between them. There was no single view of where each client stood, and every manual step was a source of errors and rework.

Result

Each project shows its current stage and next step in a single button, with batch generation and publishing. The client gets an approval link that stays the same when the site is rebuilt, and confirmation that a site is live comes from the actual workflow run. All credentials stay in the backend, and generation, the only paid step, runs only after it is explicitly enabled.

Highlights
Credentials kept in the backendGuard against accidental spendingGranular per-key permissions430+ automated tests in CI
Stack
TypeScriptReactNode.jsExpressGitHub ActionsGoogle Drive API
Repository
Published
Applied AI

LetícIA

WordPress plugin that replaces the briefing form with an AI-guided conversation (Gemini): one question at a time, with text or voice answers, file uploads, and the option to resume later.

Context

The briefing sets the delivery date of a website, but the 15-field form was abandoned halfway or came back with answers too short to write content from.

Result

The server sets the script and validates every answer; the model only writes the text shown on screen. If the API is unavailable, the plugin keeps running in degraded mode with the same questions and the same submission, so the briefing always reaches the team by email with its attachments. The dashboard shows where people drop off and how long each question takes.

Highlights
Server-side script and validationWorks even without AIHMAC-signed links411 automated tests
Stack
PHPWordPressJavaScriptGemini APIPython
Repository
Published
Applied AI

LivIA

WordPress plugin with a virtual assistant that streams answers to questions from people filling in the briefing, based on a knowledge base maintained by the team.

Context

Non-technical clients got stuck on simple questions, such as what a domain is or how to attach images, and gave up or turned to the team.

Result

Answers use only what is in the knowledge base, and pricing or out-of-scope questions go to human support. A server-side check blocks contacts, prices, and links that are not in the base, including while streaming. The dashboard groups questions that did not get a good answer, so the base is fixed with data.

Highlights
Blocks made-up answersServer-verified streaming54% fewer tokens per messagePersonal data handled under LGPD
Stack
PHPWordPressJavaScriptGemini APIPython
Repository
Published
Internal tool

JVX Desenvolvimento

Full stack system for running a website development operation: projects, deliveries, team payments, and metrics.

Context

Tracking happened in spreadsheets, with no central history, no access control, and no consolidated view of productivity and costs.

Result

React, Express, and MySQL application with JWT authentication, access roles, dashboards, a delivery calendar, CSV import, and PDF reports. It also includes operational tools: uptime, SSL, and DNS monitoring for websites, and one-time links for sharing credentials.

Highlights
Access rolesPDF reportsSSRF-safe monitoringUnit and integration tests
Stack
TypeScriptReactNode.jsExpressMySQL
Repository
Published
Internal tool

Joinvix Deploy

Internal tool that automates publishing front-end websites to FTP hosting with GitHub Actions.

Context

Every release meant creating secrets, copying workflows, and finding the build folder of each framework by hand, repository by repository.

Result

You pick the repository and enter the domain and credentials: the dashboard writes the encrypted secrets, generates the build and deploy workflows, and follows the run in real time. The GitHub token stays on the local server, which by default only accepts connections from the same machine.

Highlights
Secrets encrypted with libsodiumAutomatic build folder detectionLocal network only52 automated tests
Stack
TypeScriptReactNode.jsGitHub Actionslibsodium
Repository
Confidential
WordPress

WordPress websites at Joinvix

2025 - Present

Case study: building and maintaining institutional websites, portals, and landing pages for Joinvix clients.

Context

Clients need websites that ship quickly, that their own team can edit, and that are looked after once they launch, without needing a developer for every change.

Result

I build the layouts in WordPress with Elementor Pro and BeTheme and extend them in PHP where the builder falls short. After delivery, I handle migrations, DNS and SSL, updates, performance, and security. 41 client WordPress websites are live.

Highlights
Responsive layoutsPHP extensionsMigrations, DNS, and SSLPost-launch maintenance
Stack
WordPressElementor ProPHP

Confidential client code

See the 49 live websites
Confidential
ERP

Consistem ERP customization

2022 - 2025

Case study: customizing and maintaining the Consistem ERP at WDi Digital for companies such as Colcci and SETI.

Context

The companies needed the ERP adapted to their own business rules, with reliable production routines and integrations with other systems, without disrupting operations.

Result

I gathered requirements directly with clients and implemented them in ObjectScript (InterSystems IRIS). I optimized SQL queries in critical routines, built REST API integrations, and investigated and fixed production issues.

Highlights
Business rulesProduction supportAPI integrationsQuery optimization
Stack
InterSystems IRISObjectScriptSQLREST APIs

Confidential client code

Published
Web app

JoinLerite

Full stack app that converts PDF payslips into structured XML and presents the data in dashboards, with monthly budgeting and optional AI analysis.

Context

Checking PDF payslips month by month is slow and error-prone, and the data stays locked in documents that cannot be compared over time.

Result

The Flask back end extracts the entries with pdfplumber and regular expressions and classifies them as earnings or deductions. The React interface shows trends by period, each payslip in detail, and the monthly budget. AI analysis goes through the back end, which only accepts local connections.

Highlights
PDF to XML extractionRecharts dashboardsAI key kept in the back endPrivacy mode for amounts
Stack
PythonFlaskTypeScriptReactGemini API
Repository
Published
Portfolio

Portfolio.2026

This portfolio: a React and TypeScript application laid out like a code repository, with prerendered pages in Portuguese and English.

Context

Present my background, projects, and skills coherently in two languages, with the same content feeding both the website and the PDF CV.

Result

Pages are prerendered at build time with SEO metadata and structured data. READMEs and the repository list come from GitHub during the build, and the CV and link-preview images are generated from the same content. Playwright end-to-end tests run in CI.

Highlights
Prerendering and SEOBilingualCV generated from contentEnd-to-end tests in CI
Stack
ReactTypeScriptViteTailwind CSSshadcn/uii18next
Live siteRepository
Published
Web app

Calculator

Web calculator in plain JavaScript with a responsive layout.

Context

A study project to practice DOM manipulation, events, and chained operations.

Result

Published on GitHub Pages, with an interface that adapts to desktop and mobile.

Highlights
Plain JavaScriptResponsive layoutGitHub Pages
Stack
JavaScriptHTMLCSS
Live siteRepository
Study
Study

Study-of-Physics

JavaScript experiment to study object generation and physics simulation in the browser.

Context

Explore animation, movement, and object behavior without external libraries.

Result

A study published on GitHub Pages that spawns objects on demand and simulates their movement on screen.

Highlights
AnimationPhysics simulationGitHub Pages
Stack
JavaScriptHTMLCSS
Live siteRepository
Published
Web app

passwordApp

React Native (Expo) mobile app that generates passwords of adjustable length and stores them on the device.

Context

A study project to practice mobile development: screen navigation, state, and local storage.

Result

The app generates a password from a slider, copies it to the clipboard, and saves chosen passwords with AsyncStorage in a dedicated tab.

Highlights
Tab navigationLocal storageClipboard
Stack
React NativeExpoJavaScript

Client work

Websites in production

49 websites

Client websites I built that are live, grouped by technology.

After delivery, each client has full autonomy to edit their own website. What is live today may therefore differ from both the original layout and the final version I delivered.

WordPress

41 websites

Built with Elementor Pro or BeTheme and editable by the client.

SPA

8 websites

JavaScript single-page applications, published as static websites.