João Anes
Software Engineer12 years experience in product vision implementation, software engineering, client and end-user management, process refinement, technical leadership, incident response and AI engineering
Computers are hard. Let me make them slightly easier for you to deal with.
Effective communicator, full-stack integrator, vision-focused and customer-oriented leader, with a feather touch. Firm believer in strong teams that own their features, and building the machinery that lets those teams use AI without torching the place.
Currently working across full-stack engineering, AI engineering and developer enablement.>
João Anes
Skills
Roles
Etc
CV
Relevant skills
(please select a skill from the nearby panel).
Roles
Staff AI Engineer Agentic Platform Engineering & Developer Enablement
2025 (current)
Porto, PT / International
Part of the Mindera AI Horizontal, thinking about AI in the SDLC, building tools and processes to support it, and coaching teams on responsible, disciplined and effective AI usage.
Senior Software Engineer Embedded Client Team
2023
Porto, PT / UK
Fully embedded in a nearshore software team, building support systems and automation to improve warehouse operations while helping the team deliver and improve its engineering practices.
Tech Lead
2021
Porto, PT / London, UK
Led project teams in implementing entirely novel solutions while adapting to market-fit. Managed product releases and headed development, while mentoring strong teams.
Lead Support Engineer
2019
Porto, PT / Berlin, DE
Led engineering support team, bridging the operations, product and engineering team’s focuses on handling user-level issues. Introduced automation to operation teams.
Senior Software Engineer
2018
Porto, PT / Berlin, DE
Helped build security-first KYC platform, with integration via OAuth and led time-scoped feature teams. Owned system-critical identity verification platform and improved support efficiency.
Software Engineer
2016
Porto, PT
Worked on multiple projects in areas such as VR, blockchain and education and delivered MVPs for a secure art trading platform and a mobile collectible card game. Acqui-hired by Fractal.
Lead Developer
2014
Porto, PT
Led development team of next-gen performance and ease of use focused macOS email client with sophisticated features.
Masters in Informatics and Computing Engineering
2009-2014
Graduated 2014 with a curriculum that incentivizes self-learning and growth, gaining valuable self-learning and self-direction skills. 15.54 grade average.
Talks I like public speaking. Here's my best-recorded talks
React Natively
A talk I gave at a couple of conferences about React Native, a framework to build snappy mobile apps with webdev-like technology. Went over the pros and cons of the framework, and live-demoed the development of a simple app to show off developer experience and MVP tool potential.
Presentation link + Slides/infoA-Frame WebVR, aka "WebVR for people - even webdevs"
Talk presented in Pixels Camp 2016 and a couple of meetups, about a WebVR framework, A-Frame, its uses (both in technical and not technical terms) and its future. I also share the insights we gained from developing a VR game MVP internally at Life on Mars.
Presentation link + Slides/infoA Server from Scratch -- A Devops Primer
Workshop targetting entry-level devs and graduates, workshopping how the creation process of a webserver works via live demo and helping workshoppers personally. Used terraform and digital ocean to configure ~30 nodes and led workshoppers through the paces of installing a http server, a gitlab instance among other software.
Slides/infoTerraforming cloud cubed worlds - with one-liners and whimsy
A talk intended for the cancelled Pixels Camp v4 in 2020, in which we 'live demo' the creation of something tangible from scratch - a fully featured minecraft server/administration platform - with a bit of flair and terraform.
Slides/infoTooling Tools I shouldn't ever work without
(please select a skill from the nearby panel).
Personal work I sometimes develop software for fun. Here's a couple of good examples.
Palworld breeding solver powered by Prolog in your browser, because apparently that was a reasonable idea
Used GPT-4 extensively to help build a non-trivial Prolog application despite having last seriously touched Prolog at university
A*-based breeding solver that works backwards from the Pal you want to breeding trees made from Pals you actually own
Ships an entire SWI-Prolog WASM machine to the browser to run the algorithm client-side
Reads real Palworld save files and extracts the player's boxes instead of making people type their collection in manually
AWS serverless save-processing pipeline involving S3 events, container Lambdas and an entirely reasonable 8GB Lambda
React frontend with animated day/night scenery, parallax, page transitions and far too much polish for a breeding calculator
Search progress includes useful technical diagnostics like 'Reticulating Splines' and 'Putting coal in the Algorithm™'
Features shittyPollerBecauseWebsocketsAreExpensive, which does exactly what it says on the tin
Ships an entire SWI-Prolog WASM machine to the browser to run the algorithm client-side
The save parser gets 8GB of RAM
This was supposed to be a breeding calculator
Personal Pokémon GO trade catalogue which somehow turned into an excuse to keep training Pokémon classifiers
Next.js trade catalogue generated from my actual Poke Genie scan data
Built multiple generations of classifiers for shiny Pokémon and the frankly unreasonable number of Pikachu forms
Current shiny classifier combines CNN features, species embeddings, attention and HSV colour histograms
Pikachu form classifier grew from a ResNet-50 baseline into its own attention-based model family
Pipeline uses SAM2 to extract Pokémon from screenshots before feeding them into the shiny classifier
Automated pipeline syncs new scans, classifies them and rebuilds the data used by the site
Exported models through ONNX so the useful bits could escape the Colab notebooks
Built labelling and verification tools because eventually you have to admit the training data is also your problem
There are multiple generations of Pikachu classifiers
Some Pokémon have species-specific shiny classifier exceptions because apparently they know what they did
This started as a webpage showing people what Pokémon I have for trade
An experiment on whether AI can make convincing television and broadcasting infrastructur with full sound and video
React/Three.js TV shell with CRT effects, synthesized foley, channel tuning, a draggable remote and a full electronic program guide
Turns playlists and video lists into actual channels with their own branding, schedules, idents, program cards and ad breaks
Queue engine mixes videos, scenes and components while injecting breaks by video count or actual watched time
Built a tiny broadcast graphics system for WebGL idents, station cards, lower thirds and increasingly stupid fake advertisements
Netlify backend refreshes channel metadata from YouTube on a schedule and keeps the authored lineup separate from enriched runtime data
Each channel gets its own visual identity, from warm public-access television to an after-hours help desk and a secret backrooms QVC channel (channel 60)
Playback, tuning and remote behaviour are driven through a reducer/state-machine setup rather than being scattered across the UI
Easter eggs!
Contract tests, verified fakes, integration tests and Storybook scenes because apparently the fake television required real broadcast reliability
Had to write an entire fake advertising ecosystem
Has more documented broadcast architecture than some actual streaming apps
Should've been just a playlist viewer
AWS-hosted, terraform managed infra-as-code
Backend built with Elixir for scalability and developer experience
Queue-based matchmaking systems
Frontend managed and deployed with netlify
React frontend web app, with simplified routing
Heavy use of HTML5 notifications and service workers
Heavy use of websockets for communication
Clean backend separation of concerns, with http server and core services separated
Backend tests for both app server and core modules
Performant interactive frontend with inspired design and css animations
Frontend testing via storybooks testing all application states
No frontend logic testing
Forthcoming chat support
Needs a home and a community behind it
AWS-hosted, terraform managed infra-as-code
Backend built with Elixir for scalability and developer experience
GraphQL-based API with mutations for interactibility
SQS-based queues for post submission, categorization, tagging and spider work
React frontend web app, optimized for media consumption and long-term storage
Emoji-based reactions and tight, controlled user interaction
Puppeteer-powered cost-effective scraping of multiple websites via AWS Lambda
Heavy use of Node.js for scraping functions
Module-based scraping system that allows for different websites to be scraped in multiple ways
S3-backed file backup for content preservation
Easy share links
Telegram-based authentication via Telegram bot interaction
Future focus on enabling content bots
Barely any testing of core features
Frankly confusing scraper backend modularization
4-year development cruft and bad decision-making
Currently on its fourth rewrite!
Svelte-powered SPA
Code-splitting (the code for the fancy background is 70% of the package so)
100/100/100 Lighthouse score
Fancy backgrounds enabled by three.js and WebGL
Mobile support via grid system
Static svelte site - which means it loads in <0.5 seconds
Internationalization support
Design inspired on existing CV design, adapted to mobile
WebGL detection and custom shader background animation
Entire text content stored in a single json file, allowing easy republishes
Svelte isn't nearly as nice as React and I kind of don't like it
CSS mix of component-scoped classes and a home-rolled tailwind-like class system
No tests due to lack of imagination
Uses sapper for static generation - but I'm sure I'm using it wrong
I'm sure a Svelte dev can look at the code and guess my code heritage
Interests Things I'm personally keeping tabs on (in no specific order)
Agentic software engineering
User metrics research
Scalability
Type systems
Context and memory systems
AI (in the "classic" 198ies sense)
Gaming
Product vision workmapping
Fusion food
Online community cultures
Event based architectures
Culture sharing
Media preservation
Engineering Code Standards
MLOps
Model and agent evaluation
Release Planning and Management
ML-powered code creation and analysis
Knowledge systems
(useful) Agile methodologies
Full-stack development
Performance analysis
Team management
ML-powered full-stack content creation
Web frontend frameworks
GraphQL
Concurrency management
Mentoring in software