Gabriel Scherer

Gabriel Scherer

I write the software between a device and the cloud.

Senior software engineer in Porto Alegre, Brazil. Embedded C and C++, desktop and mobile apps in Qt and Flutter, and the cloud services they report to. I lead all software at Criffer, a maker of measurement instruments.

Email me LinkedIn

One product, four layers

Most of my work follows a measurement from the hardware that takes it to the people who act on it.

  1. Firmware

    Embedded C and C++ on measurement hardware, and the validation that proves it works before it ships.

  2. Bench and device apps

    Desktop and mobile apps in Qt, C# and Flutter that test, calibrate and operate the devices.

  3. Cloud and APIs

    REST APIs and SQL storage on Google Cloud and Azure. Test results and calibration certificates land in a database.

  4. Team and roadmap

    Turning what Sales, Support and management ask for into priorities the team can build, and mentoring the people building them.

Selected work

Acoustic calibration, five times faster

Criffer, 2025 to present

Software for the calibration lab that measures and certifies the company's devices. It calibrates several devices at the same time and stores each certificate in a database, so the lab is no longer limited to one device at a time.

Calibration speed
5 times faster
Devices at once
Several, in parallel
Certificates
Stored in a database
Company code
Private

The rest are projects I build on my own time. Only the offer bot has a public repository so far.

ZapBoard, a WhatsApp CRM in the browser

July 2026 to present

A Chrome extension that adds a sidebar to WhatsApp Web and ties each conversation to a Trello card and a client folder, through its own backend. Each user signs in with their own Trello account.

The hard part was tenant isolation. I moved it from per-user to per-team scope: an Alembic migration that re-keyed the link tables on team, and a dedicated test module that checks data does not cross between teams.

Status
In production: API on Render, Postgres on Neon, extension shared as a zip
Stack
Python, FastAPI, SQLAlchemy 2, Alembic, PostgreSQL, Chrome Manifest V3
Tests
22 modules and 156 test functions; about 2,400 lines of tests for 1,900 of backend code
History
174 commits from July 27 to September 14, 147 of them in the first 30 days
Repository
Private

Offer bot, a modular publishing pipeline

July to August 2026

A pipeline that fetches discounted products, drops duplicates and small discounts, writes the caption and the story image, runs a rule-based review, and posts to Telegram. Each stage is its own module, so a new source or channel is one new file.

Promobit sends people to stores through a client-side JavaScript redirect that plain HTTP clients cannot follow. The fetcher reads the destination out of the inline script, after checking robots.txt, and rebuilds Amazon links from the product code so the affiliate tag is applied.

It runs as a GitHub Actions workflow that an external cron job triggers every ten minutes, because GitHub's own schedule was too unreliable, and it commits its state back to the repository.

Run
51 days, July 9 to August 28: 562 offers posted to Telegram
First 31 days
402 of 410 attempts succeeded (98%)
After that
Telegram began rejecting most requests (HTTP 400) and success fell to 15 to 22%
Stack
Python 3.12, asyncio, httpx, BeautifulSoup4, Pillow, GitHub Actions
Repository
github.com/imgscherer/offer-bot, public

Offline-first training log

August 2026

A mobile-first PWA for logging strength and running sessions. Everything runs in the browser on IndexedDB, with no server.

Progression rules live in external JSON and a small interpreter applies them at runtime, so the logic exists in one place instead of being reimplemented in the client.

Status
MVP. Not yet used through a full training cycle
Stack
React 19, TypeScript, Vite, Tailwind 4, Dexie, Zod, Vitest, Cloudflare Pages
Tests
121 tests in 18 files
CI
The test suite gates every deploy; 10 of 11 pipeline runs deployed
Repository
Private

Websites as a subscription for lawyers

September 2026 to present

One Next.js codebase serves many law firms. Each client is a single JSON file with their content and four brand colors, and every client gets its own deployment. The rest of the palette is derived from those four colors with CSS color-mix.

Status
Early. One pilot client in progress; a fictional demo tenant is included
Stack
Next.js 14, React 18, TypeScript, Tailwind CSS
History
4 commits, September 24 to 29
Repository
Private

Experience

  1. Jan 2025 to present

    Senior Software Engineer, Criffer

    São Leopoldo, RS

    I lead software and cloud infrastructure end to end: priorities, processes and the product lifecycle. I turn requirements from Sales, Technical Support and management into solutions, and I mentor the less experienced members of the team.

    Flutter, C, C++, Qt, Google Cloud

  2. Oct 2022 to Dec 2024

    Software Engineer, FuelTech

    Porto Alegre, RS

    I designed and built the new Hardware Tester Software for the company's products, with REST APIs that store the test results in a SQL database. I also improved how engineering and production work together, and supervised newer engineers.

    C, C++, C#, ASP.NET, Qt, MySQL

  3. Sep 2021 to Oct 2022

    Software Engineer Intern, BRS Electronic Systems

    Porto Alegre, RS

    I built two internal applications that made production more efficient, and ran software and hardware validation on new and existing products.

    C, C++, C++ Builder

Education

Tools I use

Firmware and native
C, C++, Qt, embedded Linux
Apps
Flutter and Dart, C# and ASP.NET, TypeScript, React and Next.js
Backend and data
Python with FastAPI, SQLAlchemy and Alembic; REST and SOAP APIs; PostgreSQL and MySQL
Cloud and delivery
Google Cloud, Azure, Docker, GitHub Actions and CI/CD, Render, Cloudflare Pages

Contact

If you are building a product where hardware, apps and cloud meet, I would like to hear about it.

gabrielscherer2709@gmail.com linkedin.com/in/gabriel-scherer

Open to remote contract roles paid in USD.