Hello, my name is Marcelo Almeida
I am a Full Stack Developer, currently based in Belo Horizonte, Minas Gerais, Brazil.

Skills

Tech, Software Design and Architecture

Who am I and Why You Should Hire Me

I've decided to put some of my scholar things, jobs and experiences in a timeline, so it can be more organically written. If you want to know about specific topics, there might be more in my CV, which you can see (and download) here.

2010
ITA

I started and completed my Computer Engineering undergrad at one of the most prestigious engineering schools in Brazil: ITA (Instituto Tecnológico de Aeronáutica). It was also the start of my programming journey, using the C language.

2013
The Netherlands

While at ITA, I had the opportunity to do a one-year exchange program in The Netherlands, attending both the University of Twente and the Eindhoven University of Technology (TU/e).

2015
Google - Software Developer Intern

I finished my undergrad degree at ITA in 2015. By that time, I had done a 6 months internship at Google and received the offer to go back as a full-time employee (FTE).

During the internship, I Implemented a large portion of an iOS app's automated testing infrastructure, along with many tests. I used Objective-C, EarlGrey (a UI testing framework like Selenium), Bazel (a build system) and Python.

2016
Google - Software Developer

Executed projects with global reach, doing system design, implementation, quality analysis and monitoring. Interacted with people from many different areas, including PMs, engineers, designers, domain experts and more, and was recognized by my strong technical capacity and my ability to lighten the working environment. Used C++, JavaScript, Flume, Java, Bazel and Python.

  • Implemented many frontend projects using an internal framework. Was considered a reference in that framework.
  • Designed and refactored parts of the Chromium source code, separating semantically distinct parts that were entangled, improving maintainability
  • Designed and implemented many data processing pipelines using something similar to Apache Beam. Also considered a reference in this
2020
Kuadro - Software Developer & PM

Kuadro was an edtech startup. While there, I delivered around 15 projects using Scrum and two-week sprints (worked better than I expected!).

Aside from working on software requirements and implementation, I interacted daily with the CEO and CTO.

I also implemented the full frontend of a number of features, including the students' point scoring UI and the internal dashboard system used by TAs.

We used JavaScript, React, GraphQL and Node.

Vender Bem Online - Founder & Copywriter

In 2020, I quit Google to follow my entrepreneurship dreams, first working at Kuadro, then founding Vender Bem Online.

Initially, it was in a completely different domain - Digital Marketing - and later (2023) we also started working on software projects.

In the Digital Marketing domain, I worked mostly with Product Launch Formula and Copywriting, launching other peoples products (3 at that time).

In the Software domain, we are creating micro-saas applications to solve a number of different problems.

2022
Hubla

Had major role in many software designs, either as the system designer or as a reviewer. Implemented several core features, mainly in TypeScript, React, JavaScript and Node.

  • Implemented the full frontend for order bump, upsell and mobile checkout functionalities
  • Structured the system design process for the whole engineering team
  • Designed and implemented a logging system using OpenTelemetry specs. It improved the observability of the company's systems by introducing structured logging
  • Worked improving SLI measurement, to improve communication with clients
2024
Today

I left Hubla in 2023 to focus on my own micro-saas projects. I'm trying to find something that will fuel my love for Software Development, for learning and also help others.

My current personal goal is to help people save as much time as possible, so they can focus on what really matters.

Projects

recent
YourLinx logo

YourLinx

Go quickly to any website that you frequently use. Faster and more flexible than bookmarks.

Technologies: JavaScript, React, HTML, CSS

recent

My website

A site and blog that I use to test and learn different ways to make sites and blogs. Currently, Apr/24, it is Astro on Deno Deploy, but might change. See code on GitHub.

Technologies: Astro, JavaScript, HTML, CSS

recent

Dev workflow utils

Utilities to accelerate my development workflow. See code on GitHub.

Technologies: Mostly Clojure

recent

Chrome Extensions

Many Chrome Extensions using different technologies.

Technologies: ClojureScript, JavaScript, TypeScript, React, Svelte, HTML, CSS

recent

Learning stuff

I love technology! This project is about learning new (to me) stuff. Might be upcoming tech (Zig, Vlang), non-mainstream stuff (F#, OCaml), or just stuff I never tried (Rust, Dart, Deno, Bun, Common Lisp, etc). See code on GitHub.

Technologies: F#, Zig, V, Dart, etc.

archived

Process Locker

Simple script to limit how much resources a particular process can use. See code on GitHub.

Technologies: Python

archived

Twitter Maps

Integration between Twitter and Google Maps APIs to show geotagged tweets in a map.

Technologies: JavaScript, jQuery, Python

archived

RESTful web service

Control a networked thermostat using a RESTful API.

Technologies: Python

archived

CLI Chat app

Command line chat application with custom application protocol.

Technologies: JavaScript, Node, WebSockets

archived

Desktop app

Play remotely chosen songs

Technologies: Python, Flask

archived

MIPS Simulator

Desktop application to simulate the execution of MIPS assembly code.

Technologies: Python, TKinter

archived

Desktop game

Simple side-scrolling game with a custom text-based level editor.

Technologies: Java

Avaliable Services

I care about good system design implemented with great code, focused on simplicity, reusability and maintainability. Those words were not picked at random: it is the best way to deal with the uncertainty and trade-offs inherent to the software business. And I'll use them to provide you with my best in the following areas:

Web Development

You believe you need website either for external clients or for your own team to help manage your business.

Ecommerce Development

You want to sell online, but you don't know where to start. I can help you with that!

Mobile App Development

Your customers are mostly on mobile and you need to reach them there. There's a number of quick solutions for that!

Software Development in general

You just want to solve a problem and think a software would help, but you have no idea how. Talk to me and we can try to figure it out!

Digital Marketing

You want to sell more, reach more people or just be more visible. There's a number of strategies that could help you!

Have a project in mind? Let's work together.

Recent Blog Articles

see all
new!

Aprendendo TypeScript (e JavaScript) com o GitHub Copilot

Como o GitHub Copilot me ajuda a aprender TypeScript (e JavaScript) diariamente.

Technologies: github, github copilot, copilot, typescript, javascript

new!

Como criar landing pages (LPs) de alta performance para Vender Bem Online

Não basta ser bonita e funcionar bem no celular.

Technologies: landing pages, lp, lps, website, site, performance, vender mais, vender bem

Simplificando a escrita de classes condicionais do CSS com a biblioteca clsx

A biblioteca clsx facilita a escrita de classes condicionais do CSS e deixa o resultado mais fácil de ler, editar e formatar (pelo Prettier).

Technologies: javascript, css

Aprendendo liguagens de programação (funcionais?) no Exercism

Uma forma bem interessante de aprender linguagens de programação.

Technologies: f#, fsharp, exercism, aprender

Será que TypeScript é sempre a melhor solução?

Recentemente, enquanto fuçava na codebase do Svelte Kit (equivalente ao Next.js para Svelte), vi que eles usam principalmente JavaScript.

Technologies: svelte, sveltekit, javascript, typescript, nextjs

Como melhorar o setup inicial de uma máquina com Linux?

Provavelmente a primeira vez que eu usei Linux foi em 2012. Na época eu estava na faculdade fazendo Engenharia de Computação e empolgado com a ideia.

Technologies: linux, setup, ubuntu

Usando git-lfs com Git Credential Manager

git-lfs permite que se adicione arquivos grandes em um repositório do git sem que o arquivo faça parte do histórico. Basicamente ele adiciona um ponteiro para o arquivo, que vai ser armazenado no provedor git que você utilizar (por exemplo, github).

Technologies: git, git-lfs, github, git credential manager

A melhor forma de gerenciar múltiplos usuários do GitHub pelo Git

Depois de um tempo procurando uma boa forma de lidar com múltiplos usuários do GitHub por meio da linha de comando do Git, finalmente eu encontrei uma solução.

Technologies: git, git credential manager

Funcionalidades e comandos mais úteis do fzf

Para quem não conhece, fzf é uma excelente ferramenta de fuzzy searching (busca sem ter match exato, como o VSCode faz no ctrl+p e ctrl+shift+p, por exemplo).

Technologies: fzf, terminal, zsh

Alterne entre projetos rapidamente

Ainda que cd seja um jeito muito fácil de mover entre projetos, dá pra fazer isso mais rapidamente usando uma combinação de popd, pushd e alias.

Technologies: bash, zsh, shell

Hello Deno, goodbye node_modules!

Deno é um projeto bem interessante! Só de não ter node_modules já me deixou bem satisfeito, mas tem ainda mais coisas.

Technologies: deno

Olá, mundo!

Esse blog foi tinha sido construído usando Deno, que é uma ferramenta incrível. Agora mudei para outra que também está parecendo incrível.

Technologies: deno, astro, blog, git

Markdown Style Guide

Here is a sample of some basic Markdown syntax that can be used when writing Markdown content in Astro.