╭─────────────────────────────────────────────────────────────╮ │ charles assunção :: staff engineer │ ╰─────────────────────────────────────────────────────────────╯
whoami
I build fast, thoughtful front‑end interfaces — and the teams that ship them.
cat about.txt
Twelve years in. Currently at Appcues, leading tech for product platforms and quietly obsessed with bundle sizes, design systems, and making the web feel kinder.
cat identity.json
{
"name": "Charles Assunção",
"role": "Staff Engineer",
"place": "Belo Horizonte, Brazil",
"email": "junioassuncaocharles@gmail.com",
"github": "@assuncaocharles",
"experience": "12 years",
"shipped": true
}// §03
career.map()
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
Appcues
Jun 2021 — Present
Staff Engineer
Remote
Promoted from Senior to Staff. Tech lead across several product surfaces.
▸ Lead product features and cross‑team integrations
▸ Migrated frontend to TypeScript; Webpack → Vite
▸ Cut bundle size by 60%, made loading 4× faster
▸ Shipped a client‑facing analytics & dashboard surface
▸ Helped build the in‑house design system
▸ Contribute Elixir to unblock frontend work
▸ Active on the hiring panel
TypeScriptReactViteElixirGraphQL
Microsoft
Mar 2020 — Mar 2021
Software Engineer II
Prague, Czechia
Built Fluent UI components used across Microsoft Teams.
▸ Shipped new components to the Fluent UI library
▸ Supported Teams engineers with prototypes, debugging, and Q&A
▸ Wrote the migration guide for the new Fluent UI
▸ Led the migration of several Teams features
ReactTypeScriptFluent UIDesign Systems
Credit Suisse
Apr 2018 — Mar 2020
Sr. Software Engineer — AVP
Warsaw, Poland
XVA pricer + credit risk dashboards for a distributed trading team.
▸ Built an XVA pricer simulator with a globally distributed team
▸ Led a squad of three; owned delivery with BA + QA
▸ Front‑end on the Credit Risk Dashboard — rich slice‑and‑dice UX
▸ Represented the team in cross‑functional reviews
AngularTypeScriptRxJSD3
Toro Investimentos
Jan 2017 — Mar 2018
Sr. Front‑End Developer
Belo Horizonte, Brazil
Helped take a fintech product from zero to market.
▸ Built a finance product from scratch alongside designers and UX
▸ Led implementation of new features
▸ Onboarded new engineers; shaped team rituals
ReactReduxSCSS
TecMidia Soluções
Apr 2014 — Jan 2017
Jr. Software Developer
Belo Horizonte, Brazil
First professional gig. Where I learned to ship.
▸ Web systems in JavaScript, Angular and a lot of will
▸ Cross‑platform with Ionic
▸ Led frontend for a new web product line
JavaScriptAngularIonic
PUC Minas
Feb 2014 — Jun 2016
Assistant Teacher — Algorithms & Data Structures
Betim, Brazil
Mentored new CS students. Graded, taught, designed challenges.
▸ Supported the professor with grading and labs
▸ Mentored students struggling with programming
▸ Prepared classes and coding challenges
CJavaAlgorithms
// §04
ls -la blog/
Long‑form, notes, and the decade review.
- -rw-r--r-- 2025-12-24 →Ler Descartes Hoje: Dúvida, Método e a Coragem de Pensar por Conta PrópriaImagina Descartes vendo que você não pensa e ainda existe?
- -rw-r--r-- 2025-11-11 →Protesto contra as certezasA dúvida não é uma condição agradável, mas a certeza é absurda. - Voltaire
- -rw-r--r-- 2020-02-29 →Almost a decade reviewMy IT adventure and what is to come
- -rw-r--r-- 2019-09-14 →Building and publishing your first NPM packageCustom Hook: creating, testing and publishing it to npm and beyond
- -rw-r--r-- 2019-09-06 →Async/await can still surprise you... A LOT!Did you know you can use async/await with any "thenable" function, not only with Promises()?!
- -rw-r--r-- 2019-09-05 →Leadership, a responsibilityIt's not about the title you hold, it's about your responsibility with people
- -rw-r--r-- 2019-09-03 →The code review we deserveThe code review should be an opportunity for improvement and sharing knowledge while building a product as a team.
// §05
Open source
A selection of repositories I maintain or started. 42 public repos on github.com/assuncaocharles.
REPO / DESCRIPTION LANG STARS UPDATED
★
ngx-indexed-db
Angular service that wraps IndexedDB with an RxJS observables API — no plumbing, just streams.
Maintainer ⑂ 68
TypeScript
★ 187
Dec 2025
★
react-indexed-db
The React sibling. Same IndexedDB wrapper, declarative promises API instead of observables.
Author ⑂ 6
TypeScript
★ 24
2023
★
create-react-app-parcel-typescript
CRA-style scaffold swapping Webpack for Parcel and bolting on TypeScript. An experiment from 2018 that still gets stars.
Author ⑂ 5
TypeScript
★ 61
2020
·
ICollections
JavaScript data‑structure primitives: Queue, Stack, Binary Tree, Linked List, Priority Queue. From the PUC teaching days.
Author ⑂ 2
JavaScript
★ 6
2017
// §06
Teaching & community
[2014 — 2016]
Assistant Teacher, Algorithms & Data Structures
PUC Minas
[Microsoft era]
MSP — Microsoft Student Partner
Community speaking on .NET and web
[Ongoing]
Mentoring & hiring
Appcues + side conversations
// §07
Contact
echo "The best way to reach me is email. I read everything."
╭─────────────────────────────────────────────────────────────╮ │ charles assunção :: staff engineer │ ╰─────────────────────────────────────────────────────────────╯
whoami
Construo interfaces front‑end rápidas e cuidadosas — e os times que as entregam.
cat sobre.txt
Doze anos nessa. Hoje na Appcues, liderando tecnicamente plataformas de produto e obcecado por bundle size, design systems e tornar a web mais gentil.
cat identidade.json
{
"name": "Charles Assunção",
"role": "Staff Engineer",
"place": "Belo Horizonte, Brasil",
"email": "junioassuncaocharles@gmail.com",
"github": "@assuncaocharles",
"experience": "12 years",
"shipped": true
}// §03
career.map()
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
Appcues
Jun 2021 — Hoje
Staff Engineer
Remoto
Promovido de Senior para Staff. Tech lead em várias frentes de produto.
▸ Lidero features e integrações entre times
▸ Migrei o frontend para TypeScript; Webpack → Vite
▸ Reduzi bundle em 60%, carregamento 4× mais rápido
▸ Lancei uma superfície de analytics para clientes
▸ Ajudei a construir o design system interno
▸ Contribuo com Elixir para desbloquear o frontend
▸ Ativo no painel de contratação
TypeScriptReactViteElixirGraphQL
Microsoft
Mar 2020 — Mar 2021
Software Engineer II
Praga, Chéquia
Componentes do Fluent UI usados em todo o Microsoft Teams.
▸ Entreguei novos componentes para a biblioteca Fluent UI
▸ Apoiei engenheiros do Teams com protótipos e debugging
▸ Escrevi o guia de migração para o novo Fluent UI
▸ Liderei a migração de features do Teams
ReactTypeScriptFluent UIDesign Systems
Credit Suisse
Abr 2018 — Mar 2020
Sr. Software Engineer — AVP
Varsóvia, Polônia
Simulador XVA + dashboards de risco para um time global.
▸ Construí um simulador XVA com time distribuído globalmente
▸ Liderei uma squad de três; dono da entrega com BA + QA
▸ Front‑end no Credit Risk Dashboard — UX rica de slice‑and‑dice
▸ Representei o time em reviews entre áreas
AngularTypeScriptRxJSD3
Toro Investimentos
Jan 2017 — Mar 2018
Sr. Front‑End Developer
Belo Horizonte, Brasil
Ajudei a levar um produto fintech do zero ao mercado.
▸ Construí um produto financeiro do zero com designers e UX
▸ Liderei implementação de novas features
▸ Onboarding de novos engenheiros; desenhei rituais do time
ReactReduxSCSS
TecMidia Soluções
Abr 2014 — Jan 2017
Jr. Software Developer
Belo Horizonte, Brasil
Primeiro emprego. Onde aprendi a entregar.
▸ Sistemas web em JavaScript, Angular e muita vontade
▸ Cross‑platform com Ionic
▸ Liderei o frontend de uma nova linha de produto web
JavaScriptAngularIonic
PUC Minas
Fev 2014 — Jun 2016
Professor Assistente — Algoritmos & Estruturas de Dados
Betim, Brasil
Mentorei novos alunos de CC. Corrigi, ensinei, criei desafios.
▸ Apoiei o professor com correções e laboratórios
▸ Mentorei alunos com dificuldade em programação
▸ Preparei aulas e desafios de código
CJavaAlgoritmos
// §04
ls -la blog/
Textos longos, notas e a retrospectiva da década.
- -rw-r--r-- 2025-12-24 →Ler Descartes Hoje: Dúvida, Método e a Coragem de Pensar por Conta PrópriaImagina Descartes vendo que você não pensa e ainda existe?
- -rw-r--r-- 2025-11-11 →Protesto contra as certezasA dúvida não é uma condição agradável, mas a certeza é absurda. - Voltaire
- -rw-r--r-- 2020-02-29 →Almost a decade reviewMy IT adventure and what is to come
- -rw-r--r-- 2019-09-14 →Building and publishing your first NPM packageCustom Hook: creating, testing and publishing it to npm and beyond
- -rw-r--r-- 2019-09-06 →Async/await can still surprise you... A LOT!Did you know you can use async/await with any "thenable" function, not only with Promises()?!
- -rw-r--r-- 2019-09-05 →Leadership, a responsibilityIt's not about the title you hold, it's about your responsibility with people
- -rw-r--r-- 2019-09-03 →The code review we deserveThe code review should be an opportunity for improvement and sharing knowledge while building a product as a team.
// §05
Open source
Uma seleção dos repositórios que mantenho ou comecei. 42 repos públicos em github.com/assuncaocharles.
REPO / DESCRIPTION LANG STARS UPDATED
★
ngx-indexed-db
Serviço Angular que envolve IndexedDB com API de observáveis RxJS — sem plumbing, só streams.
Mantenedor ⑂ 68
TypeScript
★ 187
Dez 2025
★
react-indexed-db
A versão React. Mesmo wrapper IndexedDB, API declarativa com promises em vez de observáveis.
Autor ⑂ 6
TypeScript
★ 24
2023
★
create-react-app-parcel-typescript
Scaffold estilo CRA trocando Webpack por Parcel e TypeScript. Experimento de 2018 que ainda recebe estrelas.
Autor ⑂ 5
TypeScript
★ 61
2020
·
ICollections
Estruturas de dados em JavaScript: Queue, Stack, Binary Tree, Linked List, Priority Queue. Dos tempos de PUC.
Autor ⑂ 2
JavaScript
★ 6
2017
// §06
Ensino & comunidade
[2014 — 2016]
Professor Assistente, Algoritmos & Estruturas de Dados
PUC Minas
[Era Microsoft]
MSP — Microsoft Student Partner
Palestras sobre .NET e web
[Em curso]
Mentoria & contratação
Appcues + conversas paralelas
// §07
Contato
echo "A melhor forma de me encontrar é por e‑mail. Eu leio tudo."