Live portfolio | LinkedIn | GitHub
This repository contains the source code for my personal portfolio: a fast, multilingual single-page application designed to present my backend development work, production experience, and selected full-stack collaborations.
The site is built to give recruiters and technical reviewers a clear view of my engineering profile, with emphasis on C#/.NET, API design, database-backed applications, authentication, production readiness, and maintainable project structure.
- Backend development with C#, .NET, ASP.NET Core, Entity Framework Core, and SQL Server/PostgreSQL
- Production-oriented practices including structured logging, authentication, validation, testing, and deployment awareness
- Multilingual presentation in English, Brazilian Portuguese, and French
- Responsive, accessible UI with dark/light theme support
- Project-first structure focused on architecture, stack, status, and links to live systems or repositories
| Project | Focus | Status |
|---|---|---|
| Flight Plan (TA-FLIGHTPLAN) | .NET 8 MVC system for operational flight planning, identity, Excel processing, logging, and telemetry | Production |
| NB TCG Trader | Modular .NET 9 API with PostgreSQL, JWT authentication, validation, Docker, tests, and React frontend | In progress |
| RecipeWorld | ASP.NET Core MVC application using EF Core, Identity/RBAC, Docker, service layering, and test coverage | Production, private source |
| SmartRetail-System | ASP.NET Core Web API with SQL Server, Chart.js dashboarding, and ESP32 integration | Repository/demo available |
- Frontend: React, TypeScript, Vite
- Styling: Tailwind CSS, CSS custom properties, responsive layouts
- Internationalization: i18next, react-i18next, browser language detection
- UI Details: lucide-react icons, accessible skip link, theme persistence
- Project Data: typed TypeScript data modules for projects, skills, links, and profile constants
flowchart TD
Visitor["Recruiter or technical reviewer"] --> Browser["Portfolio in browser"]
Browser --> App["React + TypeScript SPA"]
App --> Layout["Page composition"]
Layout --> Header["Header and navigation"]
Layout --> Sections["Hero, About, Projects, Skills, Contact"]
Layout --> Footer["Footer and back-to-top"]
App --> Experience["User experience layer"]
Experience --> Theme["Dark/light theme persistence"]
Experience --> A11y["Accessibility and semantic sections"]
Experience --> Responsive["Responsive Tailwind layout"]
App --> Content["Content sources"]
Content --> Profile["Profile constants"]
Content --> Projects["Typed project and collaboration data"]
Content --> Skills["Skill groups"]
Content --> Locales["Locale files: EN, PT-BR, FR"]
Locales --> I18n["i18next runtime"]
I18n --> App
App --> PublicAssets["Public assets"]
PublicAssets --> Resume["Resume PDF"]
PublicAssets --> Metadata["Logo, favicon, manifest, robots.txt"]
index.html Vite entry, theme bootstrap, and metadata
src/
main.tsx React bootstrap with i18n and global styles
App.tsx Main page composition
index.css Tailwind layers and design tokens
components/ Shared UI components
sections/ Portfolio sections
data/ Typed project and skill data
hooks/ Theme behavior
i18n/ i18next setup and locale files
lib/profile.ts Profile, contact, resume, and social links
public/
resume/Resume.pdf Resume download target
logo.svg Site logo
favicon.svg Browser icon
manifest.json Web app metadata
robots.txt Search crawler rules
This portfolio is intentionally small, but it follows the same principles I value in production code: clear separation of concerns, typed data contracts, accessible UI behavior, localized content, and maintainable configuration. The project structure keeps personal content separate from rendering logic so that the site remains easy to review, extend, and verify.