What We Learned From Launching Mozaik on Product Hunt

What We Learned From Launching Mozaik on Product Hunt

We launched Mozaik on Product Hunt and finished the day in 11th place.

Every vote and comment came organically.

That result made us proud, but the most valuable part of the launch was not the ranking. It was the quality of the questions people asked.

We expected encouragement, feedback, and perhaps a few technical questions. Instead, people immediately challenged the core idea behind Mozaik with concerns that appear when multi-agent systems move from demos into real-world environments.

They asked about cost, observability, infinite loops, shared state, human control, agent ownership, semantic contracts, and execution boundaries.

These were not superficial questions.

They were questions from people already thinking seriously about what it takes to run autonomous agents in production.

The Real Question Is Not Whether Agents Can Organize Themselves

Mozaik is built around a simple idea:

Developers should not have to define every interaction between agents in advance.

Instead of forcing agents through a fixed workflow graph, Mozaik provides an event-driven runtime where agents are aware of one another, communicate through semantic events, work concurrently, and decide how collaboration should continue during execution.

The workflow emerges at runtime.

People understood that idea quickly.

But their questions revealed something even more important.

The challenge is no longer only:

Can agents organize themselves?

The more practical question is:

How can humans trust, understand, and control a system whose workflow emerges dynamically?

That distinction matters.

Developers are interested in agent autonomy. But they do not want autonomy without visibility, boundaries, or accountability.

Observability Is Not Optional

One of the strongest themes was the need to understand what agents are doing.

When work moves from one agent to another, users want to know why.

When an agent publishes an event, they want to see who received it, how it was interpreted, and what happened next.

When a run fails, they want to inspect the sequence of decisions that led to the failure.

This means multi-agent observability cannot be limited to application logs.

Users need a clear representation of:

  • Which agent currently owns a task
  • Why a handoff happened
  • Which events were exchanged
  • What each participant decided to do
  • Where execution is blocked
  • How the final result emerged

Self-organization should not mean invisible organization.

The system can remain dynamic while making ownership, communication, and execution history understandable to humans.

People Want Control Without Micromanagement

Another recurring concern was human control.

The solution is not to return to manually defined workflows where developers must predict every interaction before execution starts.

That would remove the flexibility that makes self-organizing systems valuable.

Instead, humans should be able to make high-level decisions while agents handle lower-level coordination.

A user may want to approve a high-risk operation, pause a run, stop execution, resolve a conflict, or provide additional context.

But they should not need to manually route every message between agents.

Product Hunt comment from Patrick Krekelberg on ownership, handoff visibility, and stop conditions, with a maker reply from Miodrag Vilotijević about Interception and controlled autonomy

This is why we are working on interception as a core concept in Mozaik.

Interception allows humans or other participants to affect execution at important moments without becoming the central orchestrator of every step.

The goal is not full automation at all costs.

The goal is controlled autonomy.

Dynamic Collaboration Creates Cost Concerns

Fixed workflows are easier to estimate because the execution path is mostly known in advance.

When agents can communicate dynamically, delegate work, ask for help, or react to unexpected events, the number of model calls becomes less predictable.

Several people raised this concern directly.

Product Hunt comment from Gal Dayan asking about LLM call cost predictability and inter-agent communication visibility, with a maker reply from Miodrag Vilotijević about budget-aware agents

They wanted to know how developers could prevent agents from creating expensive communication loops or consuming more resources than expected.

This confirms that cost cannot be treated as an external monitoring problem.

Agentic runtimes need first-class concepts for:

  • Execution budgets
  • Token usage
  • Model-call limits
  • Time limits
  • Cost per agent
  • Cost per handoff
  • Cost per run

Eventually, agents may also need to become budget-aware and decide whether an additional action is worth its expected cost.

Autonomy without economic boundaries is difficult to use in production.

Loops, Deadlocks, and Stop Conditions Matter

Once agents are allowed to decide how to collaborate, another set of concerns immediately appears.

What happens when two agents keep delegating work to each other?

What happens when both are waiting for an event that will never arrive?

What happens when the system continues publishing events without moving closer to completion?

These are natural questions.

Self-organizing systems need clear execution boundaries.

That can include maximum run duration, event limits, delegation-depth limits, idle detection, loop detection, supervisor participants, and explicit stop conditions.

The runtime should provide freedom, but freedom inside a safe environment.

The objective is not to remove all emergent behavior.

It is to distinguish useful emergence from runaway execution.

Parallel Agents Need Coordination Primitives

Mozaik allows agents to work concurrently.

That improves performance and creates more natural collaboration, but concurrency also introduces familiar distributed-systems problems.

Two agents may try to modify the same resource.

Product Hunt comment from Dhiraj Patel asking how Mozaik handles conflicts when two agents modify the same shared state, with a maker reply from Miodrag Vilotijević

Multiple participants may claim ownership of the same task.

One agent may make a decision using state that another agent has already changed.

These problems do not disappear because agents are powered by language models.

Multi-agent systems still need mechanisms for ownership, versioning, conflict detection, synchronization, and arbitration.

The runtime does not need to become a database.

But it should provide clear primitives that help developers define how shared work is coordinated.

Semantic Events Need Clear Meaning

Another strong concern was communication ambiguity.

An event called data_ready may mean different things to different agents.

Does it mean raw data is available?

Does it mean the data has been validated?

Does it mean the data has already been transformed and is ready for use?

Product Hunt comment from Whetlan asking how agents interpret events like data_ready, with a maker reply from Miodrag Vilotijević about OpenResponses and structured context items

Natural-language communication gives agents flexibility, but production systems also need contracts.

This is why semantic events, participant manifests, schemas, validation, and capability descriptions are important.

Agents should be able to communicate flexibly while still sharing a reliable understanding of what events mean.

The runtime must support intelligent communication without turning every interaction into an unstructured guess.

The Launch Confirmed Our Roadmap

The most encouraging part of the Product Hunt launch was that we had already been thinking about nearly all of these concerns.

That does not mean every problem is solved.

Mozaik is still early, and many of these areas require deeper exploration.

But the questions confirmed that our roadmap is pointed in the right direction.

We are not only building a messaging layer for agents.

We are exploring how to create an environment where agents can organize themselves while remaining visible, bounded, and controllable.

The launch helped us identify the most important product themes:

  1. Execution observability
  2. Human interception
  3. Cost and budget controls
  4. Loop and deadlock prevention
  5. Ownership and shared-state coordination
  6. Semantic communication contracts
  7. Clear integration into existing TypeScript systems

These are not separate from agent autonomy.

They are what make autonomy usable.

Organic Feedback Was More Valuable Than a Higher Ranking

After the launch, many people approached us offering to sell Product Hunt upvotes.

That showed us how much noise can exist around launch rankings.

We could have focused only on reaching a higher position.

Instead, the organic launch gave us something more valuable: honest reactions from people who understood the idea well enough to challenge it.

A purchased vote may change a number for one day.

A thoughtful question can influence the product for months.

Finishing 11th was a good result for us.

But the real success was learning that people are not only interested in self-organizing agents.

They are actively searching for ways to trust and govern them.

That is the problem we want Mozaik to help solve.

From Self-Organizing Agents to Controlled Autonomy

We still believe developers should stop hardcoding every interaction between agents.

Agents are becoming capable enough to decide when to communicate, who should continue the work, and how to react when circumstances change.

But self-organization cannot become a black box.

The next generation of multi-agent systems will need to combine:

  • Runtime autonomy
  • Transparent communication
  • Clear ownership
  • Human intervention
  • Execution limits
  • Cost awareness
  • Reliable semantic contracts

The future is not fully scripted workflows.

It is also not uncontrolled agent behavior.

It is a runtime where useful collaboration can emerge while humans remain able to understand and influence what happens.

That is the direction we are taking with Mozaik.

Explore Mozaik on GitHub:

github.com/jigjoy-ai/mozaik
Miodrag Vilotijević

Miodrag Vilotijević

Co-founder @ JigJoy

Building the future of agentic systems

With tools and technology we already have, we can build much more valuable systems than most projects today. We can write software that is a pleasure to use and a pleasure to work on; software that doesn't box us in as it grows, but creates new opportunities and continues to add value for its owners.
Eric Evans

Newsletter

For developers who want to learn how to build self-organizing agents.

We're organizing a hackathon