# Cuducos (@cuducos.me)

Profile: https://sifa.id/p/cuducos.me
Headline: Making data flow into a better Discover at Bluesky
Website: https://cuducos.me

## Career

- **Senior Product Engineer at Bluesky Social PBC** (Dec 2025 - Present)
  Remote
  I work on the AT Protocol data layer behind Discover: turning the public stream of records — every post, like, follow — into real-time features ML engineers use, at a scale and speed that keeps recommendations live.
  \- Designed and built the feature store behind Discover and other ML products, letting data scientists express what was impossible before and directly shaping Discover's quality: it stores and serves features from the live stream of records — over 10k feature writes/s, tens of thousands of reads/s, all at millisecond latencies, with a 75% cache hit rate.
  \- Stood up the new Discover engine end to end, 20% higher like-rate than legacy and noticeably faster for users: staging, zero-downtime rollouts, and profiling throughout — serving latency down from seconds to sub-second P99.
  \- Designed and built the seen & served tracker giving the ML team a new layer of explicit signals to rank on: tens of thousands of checks per second in single-digit milliseconds, with over 95% cache hits.
  \- Rebuilt the Kafka to BigQuery analytics pipeline so ML and product teams have high trust in client event data for analysis, UX, and internal decisions: rewrote the writer on BigQuery's Storage Write API — sustained high throughput, analytics and live events always in sync.
- **Lead Backend Engineer at Rings Ai** (Jan 2024 - Dec 2025)
  It is my responsibility to refactor the backend of the product for scalability. The criteria for success are reducing cloud, increasing code quality and technical culture, as well as allowing the platform to onboard 100 to 1000x more users.
  • Design and implement modules for reusability in different parts of the stack
  • Identify performance bottlenecks and implement alternative solutions in code and architecture.
  • Create patterns and documentation for code quality, as well as automate code quality checks
  • Promote proactivity, transparency and collaboration in tech conversations within the team
- **Developer at Shopify** (Dec 2020 - Dec 2023)
  I work at the Quality & Trust Automation building tools to improve the quality of third-party apps from the Shopify App Store.
  • Implemented merchant-facing features using generative IA related to Shopify's App Store;
  • Implemented a new payout system for third-party developers using multiple payment methods, such as bank accounts, PayPal, and others;
  • Automated the queue for manual audits in the Shopify App Store, allowing our operations team to invest time in the most pressing issues;
  • Enhanced tooling for the operations team to better understand the quality of third-party apps;
  • Automated dozens of quality checks for every app available in the Shopify App Store;
  • Prototyped new implementations and solutions using Go and Rust for higher performance and availability;
  • Contributed to open-source libraries maintained by Shopify.
- **Fellow for Civic Engagement & Agile Bank Program at World Bank** (Aug 2019 - Nov 2020)
  I worked on three different fronts: operations, corporate, and knowledge sharing.
  
  On operations, I contributed to projects in Africa and Asia: Mozambique (digital response to COVID-19 at the level of the Ministry of Health's National Health Institute), Nigeria (connecting the local civic tech communities and civil society engagement to empower monitoring and evaluation platforms for local sub-projects), Kazahstan (theory of change for a project focused on artificial intelligence and smart cities), Guinea (designing the implementation for an integrated system for citizen engagement at three different levels; national, sub-national, and community levels), and Niger (discussing the digital infrastructure and the strategy for the implementation of an early-warning system).
  
  Also, I was part of the Citizen Engagement Secretariat, joining the discussion with World Bank staff and other civil society organizations providing feedback for on-going operations in countries such as Tanzania, Iraq, and Malawi.
  
  On the corporate side, I delivered, with the Agile team, three workshops in Kazakhstan for the country and regional offices and members of the federal government. There and in the headquarters in DC, I also delivered clinics focused on agile methodologies, mainly Kaban and Scrum.
  
  Finally, on knowledge sharing, I co-organized and acted as a panelist in the panel "Government as a platform and Civil Society participation" at the Global Partnership for Social Accountability Forum (2019), contributed with posts to the Governance blog on civic tech and social media accounts, and co-authored a paper on fraud detection in the public sector.
- **Senior Software Development Engineer at Jusbrasil** (Feb 2019 - Jun 2019)
  As a developer I engaged in technical challenges like porting large amounts of data from NoSQL to graph architecture, updating internal Python libraries and contributing to the the team with code reviews and technical solutions to production bottlenecks.
- **Program Manager at Open Knowledge Brasil** (Feb 2018 - Feb 2019)
  Co-Founder of Operação Serenata de Amor, an open source project to empower social control of government expenses using data science. This project was incorporated as the Data Science for Civic Innovation Programme at Open Knowledge Foundation Brazil.
- **Graduate Teaching Assistant at University of Essex** (Sep 2014 - Jul 2015)
  During my Ph.D., I was assigned to the Sociological Imagination module, an introductory course for first-year students in the Department of Sociology. Wright Mills's book inspired the syllabus and the course covered different topics in sociology, such as race and gender, labor, poverty, social classes, and consumption.
- **Project Leader at Insitum** (Jul 2010 - Sep 2012)
  Project leader focused on in-depth social research and innovation processes. The position also involved project and team management, as well as communication with clients, (including corporations such as Panasonic, Itaú Bank, Renault, Google, Telefonica and Natura).
- **Graduate Teaching Assistant at Universidade Federal de Santa Catarina** (Jul 2008 - Dec 2008)
  During my Master's, I was assigned to the Social Theory course, a compulsory course for the third semester of the Social Sciences degree. I taught and discussed the social and political theories and thoughts of George Simmel and Max Weber in these classes.
- **Web Developer at Media Effects Group** (Oct 2005 - May 2006)
  Development of digital material focused on user interface and new technologies.

## Projects

- **Minha Receita** — https://minhareceita.org (Jun 2019 - Present)
  Minha Receita uses Go and PostgreSQL to create an open and free web API serving public data of Brazilian companies. The Federal Revenue publishes a new batch of data monthly. The project downloads the data and runs it through an ETL to build the backend database. The web API serves approx 25 million HTTP responses a month and has over 700 stars and 20 contributors. I am the creator and maintainer of the project.
- **Operação Serenata de Amor** — https://serenata.ai (Sep 2016 - Feb 2019)
  Co-founder of the project who acted as developer and community manager. Currently I offer sparse contributions as a volunteer.
- **Vamos aprender Elm!** — https://cuducos.me/vamos-aprender-elm.html (Oct 2016 - Nov 2016)
  An introductory series to teach Elm programming language. The initiative pioneered the Elm community in Brazil and the chat group for the course was embraced as the Elm Brazil community channel.
- **Expedição Liberdade** — https://expedicaoliberdade.com.br (Sep 2013 - Oct 2013)
  Expedição Liberdade was produced with Daniel Larusso and Mabel Lazzarin. We visited alternative learning spaces in the UK (and Denmark) to explore how they deal with education.

## Publications

- Vibecoding é potencialmente prejudicial — cuducos.me (Jul 2026) https://cuducos.me/vibecoding-e-potencialmente-prejudicial.html
- Vibecoding is potentially harmful — cuducos.me (Jul 2026) https://cuducos.me/vibecoding-is-potentially-harmful.html
- Building a Custom Bluesky Feed, Part 3: Polish and Ship — cuducos.me (Mar 2026) https://cuducos.me/building-a-custom-bluesky-feed-part-3.html
- Building a Custom Bluesky Feed, Part 2: Iterating Over It — cuducos.me (Mar 2026) https://cuducos.me/building-a-custom-bluesky-feed-part-2.html
- Building a Custom Bluesky Feed, Part 1: Starting Simple — cuducos.me (Mar 2026) https://cuducos.me/building-a-custom-bluesky-feed-part-1.html
- Bluesky não é o AT Protocol — cuducos.me (Mar 2026) https://cuducos.me/bluesky-nao-e-o-at-protocol.html
- It took me over two years to re-read the book I read in two weeks ten years ago  — cuducos.me (Sep 2025) https://cuducos.me/it-took-me-two-years-to-re-read-a-book-i-have-read-in-two-weeks.html
- Fluxo linear de sucesso: escrevendo código limpo em Python — cuducos.me (Jun 2025) https://cuducos.me/fluxo-linear-de-sucesso.html
- Python Generators: What They Are and What Problems They Solve — cuducos.me (Apr 2025) https://cuducos.me/python-generators.html
- Tuples and Lists in Python — cuducos.me (Apr 2025) https://cuducos.me/tuples-and-lists-in-python.html
- Não compartilhe captura de tela do terminal para pedir ajuda — cuducos.me (Mar 2025) https://cuducos.me/nao-compartilha-captura-de-tela-para-pedir-ajuda.html
- Do not share a terminal screenshot when asking for help — cuducos.me (Mar 2025) https://cuducos.me/do-not-share-a-screenshot-when-asking-for-help.html
- Why do I use Neovim? The candid response — cuducos.me (Oct 2023) https://cuducos.me/why-do-i-use-neovim-the-candid-response.html
- Como organizar um projeto em Django — cuducos.me (Nov 2021) https://cuducos.me/como-organizar-um-projeto-em-django.html
- Caminho plano para o sucesso — cuducos.me (Nov 2021) https://cuducos.me/caminho-plano-para-o-sucesso.html
- Seu Python está com cheirinho de Java — cuducos.me (Nov 2021) https://cuducos.me/seu-python-esta-com-cheirinho-de-java.html
- Desastres de um freela — cuducos.me (Oct 2021) https://cuducos.me/desastres-de-um-freela.html
- Cartilha de Lua para Neovim — cuducos.me (Sep 2021) https://cuducos.me/cartilha-de-lua-para-neovim.html
- Dicas super simples e diretas para aprender uma linguagem de programação — cuducos.me (Aug 2021) https://cuducos.me/dicas-super-simples-e-diretas-para-aprender-uma-linguagem-de-programacao.html
- Quick tips to learn a programming language — cuducos.me (Aug 2021) https://cuducos.me/quick-tips-to-learn-a-programming-language.html
- Debugando um problema de recursão no Python — cuducos.me (Jul 2020) https://cuducos.me/debugando-um-problema-de-recursao-no-python.html
- Como eu descobri o que eu queria ser quando crescer: meus últimos 20 anos — cuducos.me (Mar 2020) https://cuducos.me/como-eu-descobri-o-que-queria-ser-quando-crescer.html
- Government as a Platform: from Social Accountability to Institutional Reform — cuducos.me (Nov 2019) https://cuducos.me/government-as-a-platform-from-social-accountability-to-institutional-reform.html
- Rosie the Robot: Social accountability one tweet at a time – Part 2 — cuducos.me (Nov 2019) https://cuducos.me/rosie-robot-social-accountability-one-tweet-time-part-2.html
- Rosie the Robot: Social accountability one tweet at a time — cuducos.me (Oct 2019) https://cuducos.me/rosie-robot-social-accountability-one-tweet-time.html
- A suspensão da Rosie no Twitter mostra como as regras para bots ainda precisam ser lapidadas — cuducos.me (Feb 2019) https://cuducos.me/a-suspensao-da-rosie-no-twitter-mostra-como-as-regras-para-bots-ainda-precisam-ser-lapidadas.html
- Refactor fácil em Python com NeoVim (ou Vim) — cuducos.me (Feb 2019) https://cuducos.me/refactor-facil-em-python-com-neovim.html
- Tuplas e listas no Python — cuducos.me (Jun 2018) https://cuducos.me/tuplas-e-listas-no-python.html
- Vamos aprender JavaScript para separar as responsabilidades do frontend e do backend — cuducos.me (Apr 2018) https://cuducos.me/vamos-aprender-javascript-para-separar-as-responsabilidades-do-frontend-e-do-backend.html
- Como se comunicar melhor? — cuducos.me (Mar 2018) https://cuducos.me/como-se-comunicar-melhor.html
- O que importa são as perguntas — cuducos.me (Mar 2018) https://cuducos.me/o-que-importa-sao-as-perguntas.html
- Um rápido tour sobre as classes de dados do Python 3.7 — cuducos.me (Feb 2018) https://cuducos.me/um-rapido-tour-sobre-as-classes-de-dados-do-python-3-7.html
- Elm e produtividade — cuducos.me (Sep 2017) https://cuducos.me/elm-e-produtividade.html
- Um mundo deprimente esse de diegos e josé eugenios — cuducos.me (Aug 2017) https://cuducos.me/um-mundo-deprimente-gracas-a-diegos-e-jose-eugenios.html
- Ciências sociais e tecnologia: pergunte-me como! — cuducos.me (Aug 2017) https://cuducos.me/ciencias-sociais-e-tecnologia-pergunte-me-como.html
- Geradores do Python: o que são e quais problemas resolvem — cuducos.me (Aug 2017) https://cuducos.me/geradores-do-python-o-que-sao-e-quais-problemas-resolvem.html
- Scientists Are Using Twitter to Battle Brazil’s Congressional Corruption — cuducos.me (Jun 2017) https://cuducos.me/scientists-are-using-twitter-to-battle-brazils-congressional-corruption.html
- Como lidar com um legislativo que ignora o que ele mesmo legisla? — cuducos.me (Jun 2017) https://cuducos.me/como-lidar-com-um-legislativo-que-ignora-o-que-ele-mesmo-legisla.html
- Como cidadãos empoderados podem conversar com deputados? — cuducos.me (Feb 2017) https://cuducos.me/como-cidadaos-empoderados-podem-conversar-com-deputados.html
- Serenata de Amor e transparência nos gastos públicos — cuducos.me (Jan 2017) https://cuducos.me/serenata-de-amor-e-transparencia-nos-gastos-publicos.html
- Mais uma mudança (acidental?) na Câmara impacta a Serenata de Amor — cuducos.me (Jan 2017) https://cuducos.me/mais-uma-mudanca-acidental-na-camara-impacta-a-serenata-de-amor.html
- Pão — cuducos.me (Jan 2017) https://cuducos.me/pao.html
- Vamos aprender Elm! - Sessão 5 — cuducos.me (Nov 2016) https://cuducos.me/vamos-aprender-elm-sessao-5.html
- Vamos aprender Elm! - Sessão 4 — cuducos.me (Nov 2016) https://cuducos.me/vamos-aprender-elm-sessao-4.html
- Vamos aprender Elm! - Sessão 3 — cuducos.me (Nov 2016) https://cuducos.me/vamos-aprender-elm-sessao-3.html
- Vamos aprender Elm! - Sessão 2 — cuducos.me (Nov 2016) https://cuducos.me/vamos-aprender-elm-sessao-2.html
- Hoje começamos a aprender Elm — cuducos.me (Oct 2016) https://cuducos.me/hoje-comecamos-a-aprender-elm.html
- Vamos aprender Elm! - Sessão 1 — cuducos.me (Oct 2016) https://cuducos.me/vamos-aprender-elm-sessao-1.html
- Vamos aprender Elm! — cuducos.me (Oct 2016) https://cuducos.me/vamos-aprender-elm.html
- Tecnologia, transparência e política — cuducos.me (Oct 2016) https://cuducos.me/tecnologia-transparencia-e-politica.html
- Porquê Elm: chega de dor de cabeça com front-end, chega de JavaScript — cuducos.me (Sep 2016) https://cuducos.me/porque-elm.html
- Serenata de Amor — cuducos.me (Sep 2016) https://cuducos.me/serenata-de-amor.html
- Design thinking: designers cada vez menos designers — cuducos.me (Jun 2016) https://cuducos.me/design-thinking-designers-cada-vez-menos-designers.html
- Como fazer seu primeiro projeto de código aberto: a história do AlchemyDumps — cuducos.me (Jun 2016) https://cuducos.me/como-fazer-seu-primeiro-projeto-de-codigo-aberto-a-historia-do-alchemydumps.html
- Python, webassets & Elm — cuducos.me (Jun 2016) https://cuducos.me/python-webassets-elm.html
- Governo e corporações não funcionam — mas isso não é novidade — cuducos.me (Jun 2016) https://cuducos.me/governos-e-corporacoes-nao-funcionam-mas-isso-nao-e-novidade.html
- Valsa do Empreendedor — cuducos.me (May 2016) https://cuducos.me/valsa-do-empreendedor.html
- Conheça o Jamie, meu fermento natural — cuducos.me (May 2016) https://cuducos.me/conheca-o-jamie-meu-fermento-natural.html
- Chega de sim. É ou hell yeah, ou não. — cuducos.me (May 2016) https://cuducos.me/chega-de-sim-e-ou-hell-yeah-ou-nao.html
- Mais mão na massa, menos discussão — cuducos.me (May 2016) https://cuducos.me/mais-mao-na-massa-menos-discussao.html
- Autonomia: meus últimos 10 anos — cuducos.me (May 2016) https://cuducos.me/autonomia-meus-ultimos-10-anos.html
- Franquias e cartelização da internet no Brasil — cuducos.me (Apr 2016) https://cuducos.me/franquias-e-cartelizacao-da-internet-no-brasil.html
- TDD com Python e Flask — cuducos.me (Mar 2016) https://cuducos.me/tdd-com-python-e-flask.html
- Upload de arquivos no Django: entendendo os modos de leitura — cuducos.me (Feb 2016) https://cuducos.me/upload-de-arquivos-no-django-entendendo-os-modos-de-leitura.html
- Click to give them money, call to a landline to stop doing so — cuducos.me (Oct 2015) https://cuducos.me/click-to-give-them-money-call-to-a-landline-to-stop-doing-so.html
- Menos, Facebook, menos… — cuducos.me (Aug 2014) https://cuducos.me/menos-facebook-menos.html
- The worst work environment? — cuducos.me (Dec 2013) https://cuducos.me/the-worst-work-environment.html
- Reflections on Positionality: Pros, Cons and Workarounds from an Intense Fieldwork — Ethnographic Praxis in Industry Conference (EPIC) (Sep 2013) https://doi.org/10.1111/j.1559-8918.2013.00028.x
- Privacidade e nhenhenhés — cuducos.me (Feb 2012) https://cuducos.me/privacidade-e-nhenhenhes.html
- Design thinking ou design bem feito? — cuducos.me (Jun 2010) https://cuducos.me/design-thinking-ou-design-bem-feito.html
- Designer ativo ou passivo: qual a diferença? — cuducos.me (Dec 2008) https://cuducos.me/designer-ativo-ou-passivo-qual-a-diferenca.html
- Apresentando Viviana Zelizer — cuducos.me (Oct 2008) https://cuducos.me/apresentando-viviana-zelizer.html
- Bourdieu, habitus e campo — cuducos.me (Aug 2008) https://cuducos.me/bourdieu-habitus-e-campo.html
- Quem que saber o que é design? — cuducos.me (Jun 2008) https://cuducos.me/quem-quer-saber-o-que-e-design.html

## Skills

### Technical
- Apache Kafka
- AT Protocol
- Django
- Elm
- Go
- Kubernetes
- MySQL
- PostgreSQL
- Python
- Ruby
- Ruby on Rails
- Rust
- Scala
- SQLite
- TypeScript
### Other
- Dgraph
- Flask
- Qdrant
- Scylla
- SQLAlchemy

## Credentials

- Certified ScrumMaster (CSM) — Scrum Alliance (Aug 2019) http://bcert.me/sdlyxzkue

## Education

- **University of Essex** — Doctor of Philosophy - PhD, Sociology (Doctorate) (Jan 2013 - Jan 2019)
   Crowd funding: between politics and antipolitics
  
  
- **Oxford Internet Institute, University of Oxford** — Summer school (Jan 2016)
- **Centre for European Policy Studies** — Winter school, Nontraditional Labour Markets Driven by Technological and Organizational Change (Jan 2015)
- **University of Manchester** — Summer school, Emerging Technologies (Jan 2014)
- **Schumacher College** — Short course, Complexity and Collaboration: Applying Complexity Theory to Organizational Transformation (Jan 2014)
- **University of Essex** — Master of Arts - MA, Sociological Research (Jan 2012 - Jan 2013)
  Hacktivism and its Struggle in Changing the World:The Aaron Swartz Case, Access to Knowledge and Economic Model
- **Universidade Federal de Santa Catarina** — Master of Arts - MA, Sociology & Political Science (Jan 2008 - Jan 2010)
- **Universidade Federal de Santa Catarina** — Bachelor of Arts - BA, Graphic Design (Jan 2001 - Jan 2005)

## Languages

- Portuguese (native)
- English (full professional)
- French (limited working)
- Spanish (elementary)

## Links

- Personal website & blog: https://cuducos.me
- GitHub: https://github.com/cuducos (verified)
- Codeberg: https://codeberg.org/cuducos
- LinkedIn: https://linkedin.com/in/cuducos
- Fediverse: https://tech.lgbt/@cuducos
