DEV Community

Daniel Ioni
Daniel Ioni

Posted on

One Human, One AI, One Verifiable Step: Building MyZubster with Nicola

One Human, One AI, One Verifiable Step

Tonight, Nicola and I moved his independent MyZubster MVP project one step forward.

It was not a big launch.

It was something smaller—and, in my opinion, more important:

We completed one user story and made it independently verifiable.

The workflow is now:

Create an observation → receive HTTP 201 → persist it to JSON → retrieve it through the API → verify everything automatically.

What we completed

We worked on Nicola’s repository:

github.com/nicolaususnicola-lgtm/myzubster-mvp

Instead of modifying main directly, we created a dedicated branch:

zorgax/observation-e2e
Enter fullscreen mode Exit fullscreen mode

We then completed the first end-to-end observation workflow.

The implementation now verifies that:

  • the API accepts a valid observation;
  • the server returns the correct 201 Created response;
  • the observation receives an ID;
  • the data is actually written to JSON;
  • the saved observation can be retrieved through the API;
  • invalid JSON, descriptions and coordinates are rejected;
  • automated tests confirm the complete flow.

Problems we found and fixed

While verifying the workflow, we found more than a missing test.

1. Shared timestamps

The observation model created its default timestamp when the Python module was imported.

This could cause different observations to share the same timestamp.

We replaced it with a default_factory, so every observation now receives its own UTC timestamp when it is created.

2. Weak input validation

Missing JSON or invalid coordinates could cause an internal error.

The API now returns controlled 400 responses for:

  • missing JSON bodies;
  • empty descriptions;
  • non-numeric coordinates;
  • coordinates outside valid latitude and longitude ranges.

3. Safer persistence

The JSON persistence layer is now configurable and writes data through a temporary file before replacing the destination.

This reduces the risk of leaving a partially written observations file.

The test also uses a temporary directory, so it never modifies the real repository data.

The result

We opened the first pull request:

Pull Request #1 — Verify observation creation, persistence and retrieval

GitHub Actions executed the complete test suite.

Result: successful.

The main branch was not modified directly. The changes are isolated, reviewable and ready to be merged after approval.

Why this matters for MyZubster

MyZubster is exploring a different kind of growth.

The ecosystem does not expand simply because more people register.

It expands when an independent project becomes:

  1. useful;
  2. testable;
  3. documented;
  4. verifiable;
  5. connectable to other projects.

Nicola’s project is still an MVP. It is not production-ready, and this pull request does not pretend otherwise.

But it now contains one complete capability supported by evidence.

That is the development loop we want to test:

Build → Validate → Connect → Measure → Verify → Replicate → Expand

One human + one AI

This work also represents the collaboration model behind the experiment:

one human + one AI

The AI can inspect code, identify problems, propose changes and automate verification.

The human remains responsible for direction, approval and control.

The goal is not autonomous software development without accountability.

The goal is to help an individual transform an idea into a transparent, testable project—one verified step at a time.

What comes next

The next steps for Nicola’s MVP may include:

  • reviewing and merging the pull request;
  • adding Docker support for reproducible local execution;
  • separating application code, tests and example data more clearly;
  • defining the observation schema;
  • introducing stronger persistence as the project grows;
  • connecting the capability to the wider MyZubster ecosystem.

For tonight, however, the result is simple:

Nicola’s project can create an observation, persist it, retrieve it and prove that the workflow works.

Small step.

Real evidence.

Public code.

That is how an independent project can begin becoming part of an ecosystem.


MyZubster — Open-source ecosystem
Zorgax — AI intelligence and coordination layer
Principle — Human-controlled, evidence-driven development

Main ecosystem: github.com/MyZubster-Ecosystem/myzubster

Website: myzubster.com

Can an ecosystem scale through independently built and verified projects instead of simply accumulating users?

Top comments (0)