Engineering

The common thread in my work is not a language. It is a preference for explicit systems: local behavior, bounded failure, recoverable storage and architecture that says where each responsibility belongs.

Principles

Local-first is an operational promise

Local-first does not mean "sync later" as an afterthought. It means IDs, locks, storage paths, update checks and user workflows must all have a reasonable behavior when the network is not available.

Security defaults should fail closed

Secrets should be references, not manifest payloads. Paths should be canonicalized. Unsafe development bypasses should be impossible in production builds. Logs should redact secret-shaped values by default.

Architecture is a compatibility boundary

AppCore separates application manifests, deployment manifests and runtime manifests because ownership matters. The same idea appears in Traiteur: frontend intent is not the authority for local filesystem safety.

Performance before abstraction

The goal is not to avoid abstraction. The goal is to avoid abstraction before understanding writes, locks, memory, startup cost, IO volume, recovery paths and the operator's actual workflow.

Trade-offs must be named

AppCore deliberately does not ship RAFT, OAuth, a general database engine or a business workflow engine. Traiteur keeps a short human quote reference, but never treats it as a technical identity.

Tests are contracts, not decoration

The interesting tests are the ones that protect boundaries: manifest conformance, path safety, quote total validation, lock ownership, update signatures, storage package decoding and public SDK consumption.

How this appears in code

  1. Define the ownership boundary first.
  2. Keep infrastructure and business concepts in different modules or repositories.
  3. Make file formats versioned and reject unsupported inputs loudly.
  4. Use atomic write patterns for critical storage: temporary file, flush, sync, rename and parent directory sync when the platform supports it.
  5. Prefer deterministic IDs over central counters when offline creation matters.
  6. Build operational tooling: doctor commands, release gates, diagnostics, recovery scripts and documentation that an operator can actually follow.

A simple architecture map

Application code
  -> public facade / commands / queries
  -> runtime contracts
  -> storage, security, sync, scheduler, ops
  -> providers and host composition

The important part is not the diagram shape. It is the direction of knowledge: business code can ask for infrastructure, but infrastructure should not learn a customer's business vocabulary.

Where to read next

Daniel Netto Logo2026 © Daniel Netto. Todos os direitos reservados.
Hospedado por Verceldnetto.dev