Bruno TaglianiT+13Y

Mission log · 2013 — now

BrunoTagliani

I build agents that do real work, and the reliable systems underneath them.

Senior Software Engineer · Applied AI · Uruguay

Résumé
CRC-01Destination 01 of 07 · 2025 — NOW

CircleAI: an in-product agent that runs real communities.

Role
Senior Software Engineer, Applied AI
Dates
March 2025 – Present
Base
Remote

Circle is an all-in-one platform for creators and brands to run communities, courses, and memberships. I work on CircleAI, the assistant community admins use to change real data: spaces, members, workflows, paywalls, events, and courses.

  1. Designed the human-in-the-loop layer for CircleAI’s tools. One declarative rule decides when an action needs approval, and the same approval card works for the main agent, the planner, and background subagents. Teammates have since adopted it across about a hundred tools.
  2. Hardened and extended the multi-step planner: Stop mid-execution, one approval card for parallel actions, idempotent decisions under row locks, and side effects moved out of database transactions.
  3. Gave an agent with hundreds of tools a lifecycle: tools persist per conversation, unload with their skill, and a small subagent prunes the ones a conversation no longer needs during compaction.
  4. Built CircleAI’s memory layers: community enrichment, structured fields, searchable past conversations, and “Dreaming,” a background process that consolidates what support tickets and sales calls reveal.
  5. Measured changes against real models before shipping them. A replayed planner failure went from 5/10 to 10/10; internal-ID leaks in replies went from 9 of 10 runs to none.
  • Ruby on Rails
  • React
  • TypeScript
  • Sidekiq
  • Redis
  • PostgreSQL + pgvector
  • Elasticsearch
  • Anthropic & OpenAI APIs
ORBIT
07 · FRONTIER
PAYLOAD
APPLIED AI
STATUS
ACTIVE

CIRCLEAI · THE AGENT ENGINE

An agent that does real work

CircleAI isn’t a chat window over a model. It discovers the tools it needs, plans multi-step changes, asks before it touches anything risky, remembers what matters, and gets measured before it ships. These are the parts I built or hardened.

Component 01 / 07

Agent loop

A frontier model reads the admin’s request with enrichment, memory, and loaded skills, then calls tools. I made the loop self-healing: out-of-order tool results are re-paired before every request, and Stop now aborts mid-stream instead of 20 seconds later.

Select a component to inspect it

HUMAN IN THE LOOP

Ask first. Then do it right.

The confirmation belongs to the tool framework, not to individual tools. That one decision is what let approvals work the same everywhere, including inside plans and background jobs.

  • One card for parallel actions: “Approve 3 actions?”, never three cards.
  • Decisions carry the exact set of tool-call IDs. Double-clicks and second tabs can’t run a destructive tool twice.
  • Claim under lock, execute outside it, reconcile under lock. No broadcasts or jobs inside a transaction.
  • Stop works mid-plan and mid-stream, between tool calls and between tokens.
Community admin · CircleAI pattern

Illustration of the confirmation framework I built for CircleAI. Data is simulated.

CONTEXT & MEMORY

Context that compounds

Community admins shouldn’t have to repeat themselves, and an agent shouldn’t remember what it has no business knowing. I built four layers and the guardrails between them.

Enrichment
Facts computed from the database each session, cached, and injected as data, not instructions.
Structured memory
Predefined fields with scopes derived from code, never from the model, and optimistic locking.
Episodic memory
Idle conversations become searchable episodes: member-scoped, with date filters and ownership checks.
Dreaming
Background consolidation from support tickets, sales calls, and weekly digests, with ledgers, precedence rules, redaction, and a daily budget.

EVALUATION

Measured, not guessed

Agents fail in ways unit tests don’t see. So every behavioral change gets a before/after run against real models, with the caveats written down.

5/10 → 10/10

Replayed planner failure after resolve-before-mutate

Shipped
9/10 → 0/10

Runs leaking internal IDs to users after one guardrail

Shipped
91.7%

Routing accuracy of the analytics subagent; fastest model tested

Shipped
0/9 → 9/9

“Finish the rename after an approved delete” in a planner rework

In review
70% → 88%

Best-fitting skill found, replaying 900 production searches

In review
Frozen fixtures and matched baselinesBlind LLM judge on the same tracesProduction replay, read-onlyRegressions reported next to the wins
PRT-02Destination 02 of 07 · 2024 — 2025

Systems for the business of aesthetics.

Role
Lead Software Engineer
Dates
May 2024 – March 2025
Base
Remote

Portrait helps aesthetics entrepreneurs launch and grow medspa businesses. I led engineering for the platform, from team practices to a new backend.

  1. Led a team of ten developers.
  2. Introduced Rails design patterns and mentored the team on Interactors.
  3. Led a revamp of the scheduling system that improved operational efficiency by 30%.
  4. Strengthened the architecture with KrakenD and Keycloak, and added AppSignal logging and error reporting.
  5. Directed the design and development of a new Rails 8 backend.
  • Ruby on Rails 8
  • React
  • KrakenD
  • Keycloak
  • AppSignal
ORBIT
06
CREW
10 ENGINEERS
EFFICIENCY
+30%
TNC-03Destination 03 of 07 · 2022 — 2024

Getting independent music everywhere.

Role
Senior Software Engineer
Dates
December 2022 – April 2024
Base
Remote

TuneCore distributes independent artists’ music to streaming services and stores worldwide. I worked across its Ruby, React, and Go services.

  1. Built and maintained Ruby applications and integrated third-party service APIs.
  2. Worked with product management on specifications and delivery.
  3. Resolved performance bottlenecks and bugs, and developed automated test suites.
  4. Mentored junior developers and took part in code reviews.
  • Ruby on Rails
  • React
  • Go
  • Third-party APIs
ORBIT
05
SIGNAL
GLOBAL
STACK
RUBY · GO
DCV-04Destination 04 of 07 · 2016 — 2022

Six and a half years keeping fleets moving.

Role
Lead Ruby on Rails Developer
Dates
May 2016 – December 2022
Base
Remote

Decisiv builds cloud service relationship management software for commercial vehicle maintenance and repair. My longest mission: senior engineer and, often, team lead.

  1. Upgraded a large monolith from Rails 3.2 to 4.2 and then 5.1.
  2. Migrated an Angular frontend to React and worked on Rails microservices.
  3. Built a portal with Rails 5 and Phoenix/Elixir that made access 40% faster.
  4. Led and mentored four developers with Agile Scrum, BDD, and TDD, delivering within budget and timeline constraints.
  • Ruby on Rails
  • React
  • Elixir / Phoenix
  • Python
  • Microservices
ORBIT
04
DURATION
6.5 YEARS
ACCESS
40% FASTER
HML-05Destination 05 of 07 · 2015 — 2016

Connecting buyers and sellers with the right agents.

Role
Senior Backend Engineer
Dates
August 2015 – May 2016
Base
Remote

HomeLight is a real estate platform that matches buyers and sellers with agents using data. I led backend API work behind its React frontend.

  1. Improved throughput from 40 to 1,500 requests per second.
  2. Cut application load time by 70%, to under three seconds.
  3. Led backend API projects and built authentication and structured data solutions.
  4. Built tested Rails components with RSpec and Cucumber.
  • Ruby on Rails
  • React
  • RSpec
  • Cucumber
ORBIT
03
THROUGHPUT
40 → 1,500 RPS
LOAD
−70%
ISZ-06Destination 06 of 07 · 2015

Booking engines for the travel industry.

Role
Backend Engineer
Dates
March 2015 – August 2015
Base
Remote · Through BairesDev

iSeatz builds custom booking solutions for airlines, hotels, and financial services companies.

  1. Built backend systems with Rails, ZeroMQ, Protocol Buffers, Redshift, Redis, and Chef.
  2. Refactored legacy APIs with attention to security, performance, and scalability.
  3. Sped up development by 20% and reduced maintenance by 20% through better code quality.
  • Ruby on Rails
  • ZeroMQ
  • Protocol Buffers
  • Redshift
  • Redis
  • Chef
ORBIT
02
VIA
BAIRESDEV
DEV SPEED
+20%
EARTHDestination 07 of 07 · 2013 — 2014

Where it all started.

Role
Ruby on Rails Developer
Dates
July 2013 – March 2014
Base
Montevideo, Uruguay

WyeWorks is a Montevideo software studio specializing in Ruby on Rails and React. It’s where I shipped my first production Rails code, and where this whole journey starts.

  1. Joined a Rails consultancy in Montevideo and learned to ship production software for clients.
  • Ruby on Rails
ORBIT
01 · HOME
COORDINATES
34°54′S 56°12′W
LAUNCH
JULY 2013

End of transmission

Still based on Earth.

In Uruguay. Open to building the next agent that does real work.

Planet imagery built from textures by Solar System Scope (CC BY 4.0) and NASA Visible Earth. Milky Way: NASA/Goddard Space Flight Center Scientific Visualization Studio; Gaia DR2: ESA/Gaia/DPAC. Stars: ESA Hipparcos catalogue. Black hole rendered in real time; no affiliation with any film. Company logos belong to their owners and identify former employers only.

Bruno Tagliani

Establishing orbit000%