Renan Oliveira
Renan Oliveira standing in a corridor of lit, framed pictures

▲ Autonomous operations engineering · Brasília, DF

I get a company's operation to run on its own.

Routines that run on their own, in the cloud and on a virtual server (VPS).
Thirty-four projects with a repository.

34projects with a repository
7addresses live right now

The systems that are standing

Screens captured from the real systems. Each one opens a page with the architecture decision and what was hard.

FysolPulse operations console, with the work grouped by type of problem
01 — Asset monitoring

The alarm that learned to keep quiet

A solar plant that stops generating does not tell anyone. The owner finds out thirty days later, on the electricity bill.

The hard part was not detecting the failure. It was raising an alert only when there is a reason. Some of the system's rules exist to tell it to stay silent, because an alarm that goes off every day gets switched off in the first week.

  • Python + 6 Cloudflare Workers at the edge
  • Sessions PBKDF2-SHA256, 100,000 iterations, constant-time comparison
  • Tests automated, on every change to the main branch
Read the full case →
Operations screen for the platform's sales pipeline
02 — Operations platform

Nine modules that talk through events

Selling a solar system is a relay race between five departments. The baton gets dropped at the handover.

Instead of one module calling another, they publish and listen to events. When a new module comes in, it starts listening to an event that already exists, and none of the others has to be touched.

  • TypeScript end to end tRPC 11 · Drizzle · MySQL · React 19 · Capacitor
  • Isolation multi-tenant by subdomain, company scoping checked in CI
  • Tests automated, on every change to the main branch
Read the full case →
Technical drawing of the string wiring, with numbered modules and the string cabling
03 — Regulated process, from form to dossier

Eleven documents, two utilities, one command

A plant installed and switched off on the roof, waiting for approval, generates nothing.

The robot assembles the whole filing from a single form: it fetches the certificate for each piece of equipment, calculates the estimated production from the European irradiation database, and draws the module layout with dimensions and orientation.

  • Python PVGIS · INMETRO · LibreOffice headless · reportlab · lxml
  • Check 4 baselines that compare the finished document, not the code
  • Delivers 11 generation steps · 121 scripts · sole author
Read the full case →
Map of the customer service bot, step by step
04 — Acquisition and customer service

Three layers of bots, and the cheapest one handles most of it

Sending every message to a language model is expensive, slow and unpredictable.

What can be answered by a rule is answered by a rule. The fast model returns a structured action, not prose. The expensive model only comes in where there is judgement to make. When all three fail, the bot says it did not understand.

  • 7,859-line Worker Cloudflare D1 and KV · WhatsApp integration
  • Layers deterministic rule → fast model with a JSON action → strong model
  • Scale 4 pages live
Read the full case →

Before the software, the engineering

Signed medium-voltage work, protection, tax reports and public tenders, all of it before any line of code.

Medium voltage

13.8 and 34.5 kV substations

From design to delivery, under my own professional liability registration (ART). Short-circuit and selectivity studies, for retrofits and for connecting distributed generation at medium voltage.

Energy market

ICMS tax reports and public tenders

ICMS reports for two factories, which used them to recover the tax credit on the energy used in production. Public tenders, with bids won and, on many days, several prepared on the same day. Feasibility and energy market studies, as an energy analyst between 2017 and 2018.

Distributed generation

Around a thousand PV designs

Produced by me, part of them under my own professional liability registration (ART). From homes to farm-scale plants, with approval from the utility.

  • CREA, activeProfessional registration in good standing
  • ONS · EPE · CCEE · ANEELWork within the framework of the Brazilian power sector
  • Energy efficiencyAnalysis, measurement and reporting
  • 2014 to 2018Energy consulting and analysis, before technology

Before the systems, the operation

Three years at an electrical supply retailer in Unaí. I took the operation as it was and handed it back working by process, rather than by the memory of whoever worked in it.

The starting point

No bin locations, no records, no audit

Different items sharing the same bin, with no stock layout. The balance in the system did not match the physical stock, so the store sold what it did not have. The till was closed with no record and no audit trail.

The order of the fix

Stock, layout, bin locations, process

Then picking, goods in and goods out, records and audit. In that order, because assigning locations to a stock whose balance is wrong only organises the error. Each step became a written instruction and training for the people doing it.

Purchasing

R$ 1.2 million in stock down to R$ 750k

I took over purchasing after the ERP rollout, when the first data came in and showed where the capital was tied up. The reduction came without running short of material. What changes is buying at the right time, not buying less.

How purchasing stopped being an emergency

The store bought on emergency demand, almost always at a higher price and from whoever delivered fastest, which ate into the margin of its own sales.

Method

Turnover, ABC and XYZ curves, reorder point

Parameters configured in the ERP itself, with the order triggered ahead of the freight lead time and smaller, more frequent purchases. The supplier base went to around 20, instead of depending on whoever happened to be nearby.

The myth that fell

Buying out of state was cheaper

The accountants said buying from another state was expensive, because of tax substitution and the interstate rate differential, and the store had stopped buying there. I calculated the final cost of the product up to the moment it entered the store: on some items bought in volume, even after paying the tax, buying out of state brought the cost down by R$ 0.10 to R$ 0.15 per unit. It looks small until you multiply it by a week's volume.

Price

The margin became a draw

Where better buying opened up room, part of the margin went into the selling price. High-turnover items started pulling customers into the store, and with them the whole sale that would not otherwise have happened.

What changed, and what was left

Losses

From a peak of R$ 15k in one month to a few hundred

The error that was left stayed below 1% of inventory, and in small items: metres of cable, screws, wall plugs. Large, high-cost items stopped disappearing, because the process was closed.

Checks

A daily stock count and a till that balances

The stock started getting a daily count. Closing the till gained a record and a check: when money was missing, the check caught the difference, and the till started to balance.

What held it up

From R$ 150k to R$ 500k a month

Revenue grew on top of that base. The structure did not make the sales. It allowed the sales to happen without stock, purchasing and cash becoming the bottleneck.

The numbers in this section come from my direct management, between 2023 and 2026.

Before the title, the problem solved

At a solar energy company, between 2018 and 2024. I started by solving what the owner told me was going wrong, with no title and no pay. The role came later.

The problem

Sales with no history and no pricing rule

Sales had no history and no follow-up, and pricing followed no rule. I heard about it on my visits to the company and decided to solve it.

Process
From 90 to around 40 days

Average time from sale to delivery, after standardising the process end to end, from first contact to after-sales. One plant was delivered in 29 days, from signed contract to finished installation.

2018

CRM and proposals in VBA, in Excel

Point and click, for whoever put the proposal together. It recorded the customer, the history and the audit trail, and generated the proposal on its own. I built it for free, as a test, and it sped things up a lot.

The 2018 VBA shows that building systems did not start with AI. It started with Excel.

Nobody pressed a button

The 34 most recent runs of one of the systems. Five distinct routines, triggered by schedule, by external event and by code change, over six days.

List of the 34 most recent runs of the automated routines, all completed, with routine name, trigger and time

Taken from the real run history on 18 September 2026. Sixty of the last sixty runs of this system completed without failure.

Three things that set me apart from the pile

The sector where this was built is energy. What is on offer here is not energy. It is the ability to take a process done by hand and hand it back running on its own.

01 — Production, not a repository

What is working right now, without me

Career-change portfolios tend to show code that sits still. The axis here is different: routines running on their own and 7 addresses live.

02 — The whole chain

I find the requirement myself, I don't get it handed to me

The platform covers quoting, design, purchasing, installation and after-sales. Covering the whole chain takes understanding the business, and that came from three years as a multi-sector executive, with ERP, IT, logistics and data.

03 — The layer that fails the work

I build the mechanism that distrusts my own delivery

Anyone can get an AI to produce something these days. Almost nobody builds the layer that fails it before the client sees it. This is it →

Solar energy appears in these cases as a proving ground, not as the subject: a utility that sends a filing back over one wrong attachment, technical standards, certified equipment and customers who notice the failure on their electricity bill. A system that holds up in that environment holds up in the others.

The rest of the portfolio

What is live, what runs behind the scenes and what became a product of its own.

Home page of the company website
Company website

A site that publishes itself

Next.js exported as a static site, which retired WordPress. Forms validated with zod, content in versioned JSON, and FTPS publishing triggered by the push.

5 routines: deploy, tests, site watch and TLS probe
Internal customer service dashboard
Delegation

Operations supervisor

It queries the platform database every day, finds work that should be done and is not, and chases the person responsible. It has a rehearsal mode, which shows what it would do without sending anything, and a second watchdog that checks whether the first one ran.

Node and mysql2 · 647 changes
Accounts receivable instruction
Operations

Technical instructions

The manual the installer opens on the phone when a question comes up, written in the language of the person on the roof, not of the person who wrote the code.

documentation that becomes a PDF
Five-page sales portfolio
Sales piece

Operations portfolio

Five pages the customer opens on the phone, with the work photographed and the state of the art in energy storage.

live, at its own address
Instruction for creating a quote
Quoting

A proposal in minutes

From choosing the kit to the signed PDF, with the contract coming out alongside it and the payment plan created in the same step.

platform module
Executive presentation of the WhatsApp bot
Conversational bot

Customer service in three layers

A deterministic rule at the first level, a fast model returning a JSON action at the second, and a strong model only for what calls for judgement. When all three fail, the bot says it did not understand.

7,859-line Worker · D1 and KV
open source · MIT
Public tool

claude-memory-hooks

Persistent memory across work sessions, in plain Python: no server, no database, no external dependency. Installed by script, with tests running on every change.

MIT · engine, knowledge and method kept separate
open source · MIT
Public tool

não-depende-de-lembrar

The gates that fail the work before the error gets out, with measurement and fixes. The name is the whole thesis.

published in September 2026
under evaluation
Legal database

Juris

A base of Brazilian legislation and case law where every citation is checked against the official source before it appears.

it started with a law firm
Utility robotPrepares the solar credit allocation inside the utility's portal; submission stayed locked pending authorization.Python
HUB SolarBrought together the real prices of nine distributors so the installer can close a quote.221 changes
Internal assistantsA layer of assistants so the team can solve on its own what today turns into a question.54, all mine
Automated newsletterWeekly curation and drafting run automatically; sending goes out after an approval.8 routines
Video channelsTwo English-language channels, from script to publishing, with verification against sources.autonomous production
Agent dashboardA system of specialist agents with real-time visual tracking.TypeScript, Phaser
Black-and-white profile portrait of Renan Oliveira Profile portrait of Renan Oliveira in a stock warehouse Portrait of Renan Oliveira in teal and red light

About me

What doesn't fit in a list of systems.

Energy engineer who graduated from the University of Brasília, with a master's in Aerospace Science and Technology from Beihang University (Beijing), and a research stint at Instituto Superior Técnico in Lisbon.

Lisbon, at 22

My first time abroad was Portugal. I went through Ciência sem Fronteiras (Science without Borders) to Instituto Superior Técnico in Lisbon, on a mobility placement in the integrated master's in mechanical engineering, and completed six course units, among them energy in transport, energy management and electrical systems.

What stayed with me from that year was not the credits. It was joining the Transport, Energy and Environment research team, working on the energy and dynamic characterisation of electric vehicles, with on-road monitoring that compared their energy and environmental performance against conventional vehicles.

In other words, at 22 I was already measuring energy consumption in real conditions, with instruments, to compare it with what theory predicted. Measured work against assumed work. It is what I still do today.

Beijing, after that

Professors and coordinators of the engineering programme at UnB nominated me to the Brazilian Space Agency, I went through their screening and was selected by the Chinese government scholarship programme. The destination was Beihang, and the subject became aerospace science and technology, with research on microsatellites.

This time it was not only a different country. It was another alphabet, another way of teaching and a field I did not know. I finished with the best thesis defence of my class and with work presented at the Global Space Exploration Conference.

I took part in the BUSAT-1 programme, Beihang's 2U CubeSat in the QB50 constellation, launched in April 2017. My master's was the thermal control architecture: I simulated the orbital environment to size heat dissipation, heaters and blankets, so the electronics would work within the temperature range they can withstand.

A satellite has no maintenance. After launch nobody goes up to adjust anything, and the margin you did not put into the design no longer exists. That is where I learned to leave margin for what can go wrong, and it is the same rule I apply today to a system that has to run with nobody watching.

Why I started building

It was not a calling for software. It was a need for process.

I ran processes that were designed correctly, and the results still varied. A good process, carried out by different people on different days, under different pressure, does not come out the same. And the part that varies most is usually the most repetitive one, which is exactly the part that wears out the person doing it.

So I started automating to take weight off the people who were there. Training a system takes roughly the same time as training a person, sometimes less. The difference is that once it has learned, it repeats the same instruction the thousandth time with the same accuracy as the first. The person is free to do what no machine does.

The mistake it took me years to see

I built systems for other people's operations with a discipline I did not apply to myself. Every project of mine has a decision log, checks that fail the work, and a document that states what is live. None of that care went into the record of my own work.

The result is that a good part of my engineering became invisible. Substation design, protection studies, tax reports and public tenders were on no CV, no profile, nowhere. They existed only in the delivered work and in the memory of whoever was there.

This page is the correction of that mistake, and it took far too long to exist.

What I am building

I have an autistic daughter, support level 2, non-verbal. What I build today is her future, and it will go on being that for as long as it takes.

That answers a question this page raises without explaining. I insist on systems that run on their own, on checks that fail the work before the error gets out, on documents that tell the truth about their own code, and on a public repository called não depende de lembrar ("doesn't depend on remembering"). It is not an aesthetic preference. I learned, in the place where it matters most, that anything that needs someone present in order to work will fail at some point.

2010 to 2014
Energy Engineering, University of Brasília.
2012 to 2013
Exchange in the integrated master's in Mechanical Engineering (Bologna system), Instituto Superior Técnico, Lisbon, through Ciência sem Fronteiras. Research on the energy characterisation of electric vehicles.
2014 to 2015
Engineering assistant and energy analyst at a consultancy: energy efficiency and project feasibility.
2015 to 2017
Master's in Aerospace Science and Technology (Space Technology Applications), Beihang University, Beijing, with research on microsatellites. Best thesis defence of my class, work presented at the Global Space Exploration Conference.
2017 to 2018
Energy analyst: ICMS tax reports for industry, public tenders and feasibility studies.
2018 to 2024
Multi-sector executive at a solar energy company: CRM and proposals, sales process, design and installation.
2023 to 2026
Multi-sector executive in retail: Sankhya ERP, purchasing, inventory, logistics and data.
2025 to 2026
Executive manager and product owner at the solar energy company: building the systems on this page.
Languages
Portuguese native, full professional English, basic Spanish, elementary Chinese.

I work so that things stay standing when I am not looking.

That is the rule, and it applies both to what I deliver and to what I leave behind.

  • University of BrasíliaEnergy Engineering
  • Beihang University, BeijingMaster's in Aerospace Science and Technology, best thesis defence of my class
  • claude-memory-hooksOpen source, MIT licence
  • não-depende-de-lembrarOpen source, MIT licence

How I work

Rule
A number comes with its source.
Open
The two MIT-licensed repositories can be read in full.

Contact

Where I am
Brasília, Federal District, Brazil.
I talk about
Operations that only work because someone remembers to do things. Process that needs to become a system. Automation that already exists and is not delivering what it promised.
Format
Employment, fixed-scope project or consulting. The format follows the problem, not the other way round.