Full-stack developer across hardware, backend and AI.
Six years shipping production end to end, from embedded C and industrial devices to backend services and AI-powered systems.
Some days, memory byte by byte. Other days, React dashboards. Embedded C to enterprise TypeScript. Both ends of the same stack.
Who I am
I started with PHP. Today the work spans the full stack: C firmware on payment machines and Raspberry Pi, MQTT and CCTalk telemetry, React/Vue/Node.js dashboards, and LLMs integrated through RAG, MCP and agents.
Industrial systems are getting language models. Factory floors, payment machines, IoT fleets. That seam, between hardware that runs and models that reason, is where the work is moving.
What I build.
Industrial & Embedded
Payment-machine APIs in C with CCTalk and ID003. IMX8 image builds, PCB flashing tools, Raspberry Pi software, MQTT feeds. Zero memory leaks, verified with Valgrind.
- C
- MQTT
- CCTalk
- Raspberry Pi
- Linux
- Valgrind

Enterprise Platforms
Multi-tenant business platforms with real-time dashboards, RBAC/IAM, multi-location operations. Data pipelines processing 900k+ POS documents. Memory optimization from 3GB to 850MB.
- React
- Node.js
- TypeScript
- Socket.IO
- SQL Server
- TypeORM

AI Systems depguard.dev
RAG platforms with vector search, embeddings, and product-based chat with images and video. Autonomous trading bots on Binance futures, 24/7, AI-driven decisions controllable via Telegram. Author of depguard, an open-source MCP server.
- Python
- LangChain
- Embeddings
- MCP
- Telegram API

Web & SaaS
SaaS platforms in React, Next.js, Vue and Angular. Multi-tenant architecture, B2B/B2C e-commerce, payment integrations. WCAG AA compliance on government projects.
- React
- Next.js
- Vue.js
- Angular
- Vite
- WCAG AA

Technologies I work with
Selected work

depguard
Open-source MCP server for npm dependency security, built in TypeScript with zero runtime dependencies. 12 tools: pre-install guardian, AI hallucination guard, static code analysis with malware pattern detection, dead dependency sweep, dual-source vulnerability audit (npm + GitHub Advisory), AI code review, CycloneDX 1.6 SBOM with VEX. 298 offline tests. Published on npm: npmjs.com/package/depguard-cli.

GOV.analytics
Public procurement analytics for Portugal, built on open data from BASE/IMPIC (dados.gov.pt). Turborepo monorepo: Fastify + TypeScript backend with Kysely as type-safe query builder, PostgreSQL with year-based table partitioning and materialized views for fast aggregations, Redis + BullMQ queues, Next.js 15 (App Router) frontend with Tailwind v4. The ETL pipeline ingests over 200k public contracts spanning 2018 to 2026 from XLSX exports: automatic download, parsing, transformation, batch loading with deduplication, view refresh. The frontend exposes contracts, suppliers and analytics: spending summaries, top suppliers, contract drill-downs, search. The 'live' ambition is constrained by archaic government data formats (Excel-only, year-delayed releases). Historical analysis works on real production data.

Workora
Recruitment SaaS connecting companies with candidates. Backend in Node.js/Express 5 with TypeScript, Prisma ORM and PostgreSQL (31 controllers, 30+ services, 28 route files). React 18/TypeScript frontend with Vite, Tailwind and shadcn/ui (18 pages, 21 component groups). Companies post credit-gated jobs and review applicants. Candidates upload CVs, search and apply with one click. Gemini AI scores candidate-job fit and surfaces recommendations; humans make the final call. Stripe for credits and subscriptions, LinkedIn OAuth for one-tap login plus profile import, Socket.IO for real-time notifications, Bull queue with SMTP/SendGrid/Mailgun for email pipelines, PDFKit for invoices and reports, full PT/EN i18n. Role-based access for Admin, Company and Candidate.
How I Built an MCP Server That Saves AI Agents Thousands of Tokens Per Package Decision
When AI coding assistants need to evaluate an npm package, they do what any developer would: search the web, read READMEs, check vulnerability databases, compare alternatives. The difference is that every step costs tokens, and tokens cost money and time.
Need a system that works?
From concept to production: enterprise systems, performant APIs, hardware integrations. Available for remote projects and full-time opportunities.