Diego Dasso Migotto

Software Engineer & Architect — C++, .NET, C#. Open-source library author.

Porto Alegre, Brazil

About

A quick overview of who I am and what I work with.

I'm a senior software engineer based in Porto Alegre, Brazil, working at AEL Sistemas in the defense and aerospace sector. I hold a degree in Computer Science from the Federal University of Rio Grande do Sul (UFRGS).

I have experience leading development teams, designing software architectures, interfacing directly with clients, and delivering products across domains ranging from GIS data processing and hardware automated testing to AI-powered data analysis tools. I enjoy building clean APIs, working with parallel programming, and contributing to open-source in my spare time.

Technologies

  • C++23
  • C#
  • .NET
  • Electron
  • GDAL
  • TCP/ICD
  • Microservices
  • Git
  • CI/CD
  • RAG / AI Agents
  • Linux
  • Python
  • CMake
  • Docker
  • WebAssembly

Open-Source Projects

Header-only C++23 libraries for procedural generation — people, families, places, addresses, weather, vehicles, phone numbers, emails, devices, identity documents, bank accounts and cards, user records, personalities, interests, occupations, and entities.

Try them live — every library runs in the browser via WebAssembly. Launch interactive demo →
    Personas

    persona-generator

    A header-only C++23 library that composes the other generators into complete fictional characters: a country, a city, a birth, a body, a name, interests, an occupation and a personality, each conditioned on what was drawn before.

    C++
    Names

    name-generator

    A header-only C++23 library for generating real-world first names and surnames from 105 cultures, and composes full names by each culture's convention (family name first, two surnames, patronymics).

    C++
    Nicknames

    nickname-generator

    A header-only C++23 library for generating nicknames, supporting name-based and custom-word-based nickname generation.

    C++
    Birthdays

    birth-generator

    A header-only C++23 library for generating demographically plausible birthdays using UN WPP 2024 population data and seasonal patterns.

    C++
    Physical traits

    biodata-generator

    A header-only C++23 library for generating physical characteristics — height, weight, eye/hair color, blood type — using population statistics.

    C++
    Interests

    interest-generator

    A header-only C++23 library for religion, hobbies and favourite film, game, book and music genres, shaped by a person's country, age and sex — measured from Eurostat time-use surveys where data exists.

    C++
    Personality

    trait-generator

    A header-only C++23 library for procedural personality generation — traits from a weighted catalogue with conflicts, synergies and Big Five axes.

    C++
    Occupations

    occupation-generator

    A header-only C++23 library for employment status, education and jobs by country, age and sex — measured from ILO labour force statistics where data exists.

    C++
    Families

    relationship-generator

    A header-only C++23 library for believable families around a person: parents and grandparents, siblings and half-siblings, partners, stepparents, children and grandchildren, with dates and names drawn from each country's demography.

    C++
    Cities

    city-generator

    A header-only C++23 library for generating random cities with population-weighted selection from GeoNames data.

    C++
    Countries

    country-generator

    A header-only C++23 library for generating random countries with comprehensive metadata — geography, politics, culture, and telecom.

    C++
    Addresses

    address-generator

    A header-only C++23 library for postal addresses with real streets by place from OpenStreetMap, laid out in each country's format for 250 territories.

    C++
    Weather

    weather-generator

    A header-only C++23 library for daily and hourly weather at any place on land and any date: temperatures, rain, snow, thunder, cloud, wind and the sun, drawn around the 1991-2020 climate normals with believable wet and dry spells.

    C++
    Vehicles

    vehicle-generator

    A header-only C++23 library for cars that fit their country and date: a make sold there, a model built in its model year, a fuel as common as it was that year, a licence plate in the format issued on the registration date and a VIN with a valid check digit, with a safe option for plates and VINs nobody holds.

    C++
    Phones

    phone-generator

    A header-only C++23 library for phone numbers that are valid in each country's numbering plan, drawn from libphonenumber's ranges, with a safe option that uses the numbers regulators reserve for fiction.

    C++
    Emails

    email-generator

    A header-only C++23 library for email addresses in each country's style from a name, nickname and birth year, with the providers people use there and a safe option with the reserved example domains.

    C++
    Devices

    device-generator

    A header-only C++23 library for devices whose parts agree: a model on sale at the date, an OS version it runs, a browser for it, the real user agent and client hints that combination sends, its screen, and an IP address registered in the country, with a safe option for documentation addresses.

    C++
    Identity

    id-generator

    A header-only C++23 library for identity numbers and documents that fit a person and a date: national numbers for 63 countries, built from the birth date, sex, birthplace and names where the format encodes them, and passports and identity cards valid on the date with an ICAO 9303 machine-readable zone. Test data, with a safe option.

    C++
    Finance

    finance-generator

    A header-only C++23 library for a person's bank accounts and payment cards, consistent with the person, the country and the date: IBANs and national account forms with their check digits, the country's banks and currency, and cards with the right network, length, Luhn digit and a plausible expiry. Test data, never for live payment systems.

    C++
    Users

    user-generator

    A header-only C++23 library for synthetic user records: a person with a username, email, phone and address that agree on the country, plus account details such as password, sign-up time, platform and locale, and on request national numbers, documents, bank accounts and cards. Also on npm as @dasmig/user.

    C++
    Entities

    entity-generator

    A header-only C++23 library for generating entities with extensible, user-defined components. Supports EnTT and Flecs adapters.

    C++

    Experience

    Professional background and education.

    Product Owner & Software Architect — Automated Test Platform

    AEL Sistemas
    Nov 2024 – Present

    Led a software team building a desktop application for automated hardware testing. Defined the product roadmap as product owner, interfaced directly with the client, and designed the system architecture: a microservices back-end in .NET with a front-end running in Electron.

    Lead Developer & Software Architect — GIS Data Converter

    AEL Sistemas
    Aug 2018 – Nov 2024

    Joined as an intern and grew into lead developer. Built and optimized C++ components, authored custom GDAL drivers, engineered requirements, designed software modules, and established E2E and unit testing practices for the team. Interfaced with the client and participated in on-site integration trips.

    Notable Projects

    AEL Sistemas

    Developed a C# library for low-level TCP communication over a custom ICD, handling message serialization with a clean, developer-friendly API. Integrated an AI Agent into UAV data analysis tools with database connectivity and a RAG pipeline for indexing flight data and surfacing analytical insights.

    B.Sc. Computer Science

    Universidade Federal do Rio Grande do Sul (UFRGS)
    2014 – 2025

    Porto Alegre, Brazil.

    Get in Touch

    Feel free to reach out for collaborations, open-source contributions, or just to say hi.