dinorah farias / ai developer

I like solving challenging problems.

Yes, this website was built with AI too.

AI and back-end developer in Python, with a soft spot for data science. I build multi-agent systems, internal tools, and automations that run in production, from staffing recommendations to reading utility bills with LLMs.

Agentsmulti-agent tools recommending staffing in productionLightfarm · internal tools ↗
−82%max time per utility bill after rebuilding extraction with LLMsLANCE · YVY Energia ↗
15→3 minto extract a 500+ page legal PDF with OCRMPRN · AI Lab ↗
1publication: systematic review of PPCP, AI and optimizationpublications ↗

01 / experience

Where I've been building.

Research, AI, and back-end work, from public institutions to production studios.

01

Lightfarm Studios

Back-end Developer Junior III · AI & Python

Feb 2026 - present

Rio de Janeiro, Brazil

AI back end for internal operations: multi-agent architecture, chatbots, and automated dashboards that turn operational-capacity, vacation, and staffing data into decisions, running in production for the team.

multi-agent architectureinternal tools in productionself-hosted models on VMs
1.1

Multi-agent systems / internal tools

An agent that recommends who should take each job

Staffing used to depend on someone manually cross-checking availability, seniority, and past work. The agent does that cross-check on every assignment.

  • Built a work-assignment recommendation agent that weighs seniority, fit to the job requirements, scheduled vacations, and semantic similarity to each person's previous work.
  • Designed the multi-agent architecture behind the internal chatbot and automated dashboards, so managers query operational capacity and vacations directly instead of assembling reports by hand.
  • Automated data analysis for the operational-capacity feature, replacing manual spreadsheet consolidation with dashboards that refresh on their own.
1.2

Back end & model deployment

Keeping AI features running in production

  • Deployed local models on virtual machines for production use, keeping inference in-house.
  • Used OpenRouter to bring models into features quickly and switch between them without rewriting integrations.
  • Worked as a back-end developer across the codebase: code reviews, bug fixes, and maintenance of production services.
  • Developed AI features with spec-driven development (Spec Kit / SDD) and Orca to orchestrate coding agents across parallel worktrees.
02

LANCE, Instituto Metrópole Digital (IMD/UFRN)

Junior Python AI Developer · Document AI Back-end

Nov 2025 - present

At LANCE (Leading Advanced Technologies Center of Excellence), UFRN's research and development center linked to IMD, I build the AI Utility Bill Reading Hub for the YVY Energia project: a platform that extracts structured data from electricity, water, and gas bills with LLMs. It works with any provider and layout, with automatic validation.

−82% max time per bill≥54% lower cost per billno template per new provider
2.1

YVY Energia / LLM extraction

Utility bills from any provider, without templates

The first version used Tesseract and coordinate templates annotated in Label Studio: every new provider meant annotating bill areas by hand, and any layout change broke extraction. I rebuilt it around LLMs with mathematical verification.

  • Designed a staged pipeline: a cheap model classifies the bill first, then three extractions run in parallel: base data, taxes, and electricity-, water-, or gas-specific data.
  • Made steps composable on demand: 5 ready-made pipelines or only the steps a request asks for; if one step fails the others continue and the result comes back as partial.
  • Built validation without AI: check digits of the payment line (44-, 47-, and 48-digit formats), barcode amount against the bill total, tax base × rate, item sums, and dates.
  • Added automatic correction: when the model gets the payment line or the CNPJ wrong, the system fixes it from the PDF text.
  • Hardened it for production: schema-validated output, fallback between providers (Google and OpenAI), and detection of when the model enters a loop.
  • Made every call traceable with 7 versioned prompts and cost, tokens, and latency logged per response.
  • Exposed it as a synchronous REST API, asynchronous processing through a RabbitMQ queue, and a command-line tool.
2.2

Results / measurement

Measured on 10 real bills from 8 providers

Each iteration attacked an observed problem (model loops, request limits, image resolution, digit errors) and was recorded against a comparison answer key covering 3 service types.

  • Correctly extracted consumption went from 75% (6/8) to 100% (8/8), and correctly extracted total amount rose by 20 percentage points.
  • Failed steps dropped by 100%, average time per bill by 44%, and maximum time per bill from 259.9 s to 45.5 s (−82%).
  • Cost per bill fell by at least 54%, and adding a new provider no longer needs any template or manual annotation.
  • Ran a feasibility study for open models on own or rented GPUs, estimating US$3 to US$15 per 1,000 bills on a VM with an L40S.
2.3

First version / OCR

The Tesseract pipeline that came before

  • Built the original Python OCR pipeline with Tesseract on resource-constrained hardware, keeping CPU/RAM usage low.
  • Annotated bill fields in Label Studio and trained provider-specific models alongside a generalist model, with automatic recognition of the provider and bill layout.
03

Ministério Público do Estado do Rio Grande do Norte

Research and Development Fellow

Jun 2025 - Feb 2026

Back end and research for the MPRN AI Lab: OCR and structured extraction of 500+ page legal case files, feeding the embeddings behind an AI pipeline that pre-analyzes each case.

15 → 3 min per 500+ page PDF~200% faster with GPU parallelismFastAPI · PyTesseract · Azure
3.1

OCR / legal documents

From 15 to 3 minutes to read a 500-page case file

Research and development fellow on the project “Research on artificial intelligence models applied to legal documents at the Public Ministry of Rio Grande do Norte (MPRN) as support for the development of an Artificial Intelligence Lab project.”

  • Built structured extraction for 500+ page legal PDFs with PyTesseract and Azure, cutting extraction time from 15 to 3 minutes per document.
  • Parallelized OCR on the GPU, gaining roughly 200% in processing speed.
  • Turned the extracted text into input for embeddings that feed an AI pipeline used as a pre-analysis of each case.
  • Developed an API for extracting text from legal cases, supporting different extraction methods with Tesseract OCR, PyMuPDF, and FastAPI.
3.2

Back end & research

Choosing the stack for the AI Lab

  • Worked as a back-end developer using FastAPI.
  • Benchmarked Apache Cassandra, MongoDB, and PostgreSQL (vector) on insertion, search, regex search, and vector search in a Docker environment.
  • Researched DeepSeek models running on Ollama for use in internal systems.
  • Implemented an integration API with Google's AI using FastAPI.
  • Studied the Transformer architecture and text representations such as Bag of Words, TF-IDF, and Word2Vec.
04

CNPq, Conselho Nacional de Desenvolvimento Científico e Tecnológico

Scientific Initiation Scholarship

May 2025 - Nov 2025

Development of an intelligent production planning, scheduling, and control system for micro and small textile companies, focused on optimization and demand forecasting.

optimizationdemand forecastingtextile industry
05

Hospital Universitário Onofre Lopes

Full Stack Developer

Apr 2025 - May 2025

Natal, Brazil

Built the registration and identification module for oncology patients, so they get into the hospital faster and spend less time waiting.

oncology patientsshorter waitsused by hospital staff
5.1

Full stack / healthcare

Less waiting for patients who can't afford it

  • Built the registration and identification module for oncology patients, streamlining hospital access and reducing waiting time at check-in.
  • Fixed bugs across the hospital's existing system as a full-stack developer.
06

Comperve/UFRN, Núcleo Permanente de Concursos

Full Stack Web Developer

Oct 2024 - Mar 2025

Natal, Brazil

Pages used by public-exam candidates at UFRN: exam pages, notices, and fixes on a system that can't fail on deadline day.

public-facing pagesexam candidatesfull stack
6.1

Full stack / public exams

Shipping pages that thousands of candidates rely on

  • Built public exam pages and notice pages used by candidates to follow each selection process.
  • Fixed bugs and maintained the platform in production across front end and back end.

03 / toolbox

Technologies that show up in the work.

A quick way to find the useful nouns.

AI

LangGraphLangChainmulti-agent systemsLLM extractionprompt versioningRAGMCPOpenRouterOpenAIGoogle AIOllamaself-hosted modelsTransformersembeddings

Documents

schema validationPyMuPDFPyTesseractTesseractAzureGPU parallelismLabel Studio

Workflow

Spec Kitspec-driven development (SDD)Orcacode review

Back-end

PythonFastAPImicroservicesRabbitMQGoDockerPostgreSQLPGVectorMongoDBCassandra

Data

pandasdata visualizationstatistical modelingprobability & inferencedata ethics

04 / education

Education, certifications and publications.

Computing at UFRN, game programming at IFRN, and data science along the way.

01

Universidade Federal do Rio Grande do Norte

Interdisciplinary Bachelor's degree, Information Technology

Mar 2023 - Jul 2026
02

IFRN

Integrated Technical High School, Digital Game Programming

2019 - 2022

Certifications

Data Analysis with PythonData Analysis and Visualization with Python PathData Visualization with PythonPES em Ciência de DadosData Manipulation with pandas

05 / contact

Got a challenging problem?

Even better if it involves documents, agents, or a back end that needs to be fast on little hardware.

dinorahfarias@outlook.com

ENPTDownload CV