Late 90s: the beginning
My father bought a Pentium 166 MHz with 32 MB of RAM in mid-1996 to use AutoCAD. He was a mechanical engineer. I know Bill Gates denies having said "640K ought to be enough for anybody", but I remember one of my uncles asking my father: why do you need so much memory? 32 MB was a lot! Somehow, this marvelous piece of machinery ended up in the hands of the 13-year-old me. I can still hear the sound of Windows 95 booting.
Brazilian TV ad: IBM Aptiva with Pentium 166.
Windows 95 startup sound.
That wasn't my first encounter with computers. Before that, around 1993 I used the Logo educational programming language in a 386 computer at my school. I remember going to the computer class bringing my 5.25-inch floppy disk to save my drawings. I also had uncles who owned computers. If I recall correctly, one had a 286 and the other a 486. Still, I didn't spend much time on computers back then.
The same uncle that asked why so much memory had an amazing library of books on Turbo Pascal, Clipper Summer '87, and dBase III Plus etc. Encouraged by him, I started learning how to program with dBase. Looking back, I don't know how I was so motivated to learn a tool designed to build business applications. From dBase, I moved to Clipper, and from Clipper to Visual Basic 5.0.
When I got my computer, there was no dial-up internet provider in my city, so I didn't have internet access at all. Later, around 1997 or 1998, I gained access to a local BBS and the internet using a 36 kbps dial-up modem. That opened up a whole new world. I came into contact with Slackware Linux and Conectiva Linux, and started learning about building websites and Unix.
Dial-up modem handshake sound.
Geocities website (1998).
It was a time when building websites meant using tools like Netscape Composer, Microsoft FrontPage, and other WYSIWYG editors. And if you were more adventurous, you might use editors like Arachnophilia to work directly with HTML. The web was more original and personal, with websites often hosted on GeoCities and other free hosting services. It was fun and relatively easy to build sites. There were no frameworks to learn, no responsive design to care about, mostly just plain HTML, lots of GIFs and tables, and maybe a bit of JavaScript.
At that time the biggest internet search engines were AltaVista and Yahoo. And in Brazil Cadê? was the most popular. Those sites were website directories, where owners submitted their sites to make them available for the user to find them. There was also a quite popular site directory named "Aonde?" that was created by a teenager. My dream was to create a site like that. And I did. I implemented a site using Perl and flat files database. I released the site with my cousin as "Primus Busca de Sites". The business never took off, but I learned a lot.
Window Maker Desktop Environment.
On Linux, I was using Window Maker as my desktop environment. It mimics the look and feel of NeXTSTEP and was created by a Brazilian programmer. One of the problems I had X was that my SiS GPU didn't work well with Linux. Sometimes it worked and sometimes the image was completely messed up. That problem persisted for years until I bought an Athlon K6-2 in 2000.
By the time I joined a technical high-school program in Information Technology in 1999, I was already building PCs, programming, and messing with computer networks. In my first year, one of my teachers invited me to do an internship at the local business association. There, I had the opportunity to work with a wide range of technologies. I managed a Windows NT 4.0 network, had a super fast 64kbps dedicated link to the internet, and developed applications using Microsoft Access, Microsoft SQL Server, and ASP 3.0.
2000s: Linux, xHarbour & Web Development
Schmitt Linux Servers (2003).
After the internship, in 2001, I founded my first company, Uiltrix. The company helped organizations migrate from Novell and Microsoft closed-source technologies to Linux-based solutions. At the time, many organizations in Brazil were running legacy MS-DOS Clipper applications and wanted to migrate to more modern architectures. I implemented Linux servers and network infrastructure, and also provided software development services migrating systems from Clipper to Harbour/xHarbour.
In 2002, I started a bachelor's degree in Electrical Engineering, which I dropped out of in 2003. I was feeling bored with my field of work and wanted to make a bigger impact. I wanted to do "real science". So I dropped everything and went to Oxford (UK) to work as an au pair, improve my English, and maybe find an opportunity to study Physics in Europe. That didn't last long. After three months in Oxford, I decided to return to Brazil and study Physics at USP in São Paulo.
While preparing for the entrance exam, I met my future wife on Orkut and that changed everything again. Together, we founded Funcional, a web agency, in 2005. At that time, marketing agencies didn't yet have dedicated web teams, so they hired web agencies to deliver projects. We worked both directly with clients and as an outsourced partner for larger agencies.
With my first laptop, an Acer Aspire 3000.
The mid-2000s, powered by Adobe Flash, allowed us to build highly interactive websites, games, and applications. At the same time, the tableless movement was reshaping how we built pages, moving layouts away from HTML tables toward semantic markup and CSS. Beyond Flash, jQuery became the go-to library on the frontend for interactions, while PHP emerged as the default choice on the backend for web development.
When I started Funcional, I bought my first laptop, an Acer Aspire 3000 with a 1.8 GHz AMD Sempron 3000+. It was my daily driver for years, and later it became my wife’s laptop for a long time as well. I remember running Windows XP on it and being able to use Flash, Photoshop, and do general web development without any issues.
2009 to 2015: AWS, Ruby and latent semantic analysis
Ocapi Lab in my apartment (2011).
In 2009, with an ambitious business plan, some seed investment and two new partners, I took the team from Funcional and founded a new company. Ocapi was born. We developed an ad server with dynamic creatives that read page content and displayed products contextually related to it. The secret sauce was the use of latent semantic analysis over Wikipedia content to calculate weights and establish relationships between web page content and product descriptions. To process the Wikipedia dump I had three local servers, one i5 with 16GB of RAM and two i3 with 12GB of RAM.
Mac Mini late 2011.
At Ocapi, when we established an office, it was my first time using Macs. In Brazil, they were always extremely expensive, and for me it was hard to justify the cost. I remember that even using the same Intel processors, Macs had much better thermals and battery life than Linux and Windows machines. At Ocapi, we started using Macs because they were easier to maintain as the equipment for the engineering team. We used Mac minis extensively. Those Macs were still upgradable, so we could easily upgrade RAM and storage. I remember I also started using the Magic Mouse and Magic Keyboard. Later, I figured out how much the Magic Mouse lacked in ergonomics.
Ocapi grew to become Brazil's leading independent dynamic creative optimization company, delivering over 2.5 billion ad impressions per month. We were one of the largest AWS customers in Brazil at that time. I learned a lot about cloud infrastructure and how to scale a large web application with near real-time requirements. We had to preprocess the Wikipedia dump, index thousands of products, calculate the weights for the product descriptions, index the content of the web pages where the ads are being displayed to identify the related products, etc. And on top of that, have precise reporting and controls over ad delivery.
2016 to 2025: Elixir, Phoenix, PostgreSQL, and AI
My desk setup in 2020.
In 2015, we sold Ocapi, and since then, I've focused on working remotely for companies in the US. I worked for Theorem as a Senior Software Engineer and Solutions Architect, and then with Prodeal first as Solutions Architect and later as Chief Technology Officer which is my current role.
In 2025, I earned a Master’s degree in Creative Industries, where I explored user perceptions of AI-generated content on social media. I also began a PhD in Creative Industries, focusing on algorithmic transparency and trust in retrieval-augmented generation (RAG) systems for content marketing. My graduate studies have deepened my understanding of natural language processing and artificial intelligence, both in theory and in practice.
My current workstation (2025).
Nowadays my daily driver is a Ryzen 9 9950X with 96 GB of RAM and an RTX 5090. I love mechanical keyboards, and while I own more than I should, I always end up coming back to my Filco Majestouch 2 TKL with brown switches. I also have a 16U rack in my home office with my homelab equipment, where I run Proxmox and a bunch of virtual machines. That space is shared with a few ARM and RISC-V SBCs and my old computers collection.
2026 and beyond
In this time of fear about the future of software development, with the introduction of LLMs, I feel that we've never had so much power to create. My father was a mechanical engineer, he could design things, but he couldn't easily make them himself. Sounds like a cliché but in information technology, we can dream and make things happen so easily. I know GPU and RAM prices have skyrocketed in 2025, but still we have access to powerful hardware and to vast amounts of information, that were not available before.
I don't think I'll ever stop being amazed by these marvelous machines. Some people spend their money on cars, houses, clothes, or social status. I spend mine on computers and books.
