[01]
GraphQL native
gqlgen. Schema-first, Go-native GraphQL. Tenant context enforced in every resolver. Mutations map to domain commands — never direct DB writes. DataLoader from day one. No N+1.
Arc A is live handling OCD onboarding across Northeast India. The freight marketplace itself opens October 21.
> koto7 · arc a > tenant: milne7 > stage: ocd onboarding > region: northeast india > channel: pwa + ops console > status: LIVE > freight matching: opens oct 21
The testbed
“If it works in Northeast India, it works in any supply chain.”
koto7's anchor deployment is MilNE7 — koto7's own freight-bidding marketplace, coming online across Northeast India's seven states. Arc A is already live running OCD (owner-cum-driver) onboarding — real KYC, real verification, real driver-partners — through a PWA backed by an ops console. Freight matching itself opens October 21. Lowest connectivity, highest terrain variability, most fragmented last-mile logistics in Asia. If it survives here, it survives anywhere.
> route: Guwahati → Shillong → Aizawl > distance: 670km > terrain: mountain passes, seasonal closures > connectivity: intermittent 2G > job_kind: freight | hybrid | porter > status: OCD ONBOARDING LIVE · FREIGHT MATCHING OCT 21
> currently: MilNE7 OCD onboarding live · freight matching opens Oct 21 · exporter DPP pilot in progress · EU platform conversations open
From koto7 · Own operation
OCD (owner-cum-driver) onboarding is live now across Northeast India, through a PWA backed by an ops console. Post a load, driver-partners bid, you pick the price — freight matching opens October 21. Built for hill roads, weak signal, and landmark addressing. Fully owned and operated by koto7.
milne7.in · Northeast India · Cargo only
From koto7 · Open source
Running Arc A in production meant solving webhook delivery properly — retries, replay, dedup, no dropped events. That solution turned out to be useful on its own, so we open-sourced it. Swap one URL in Stripe or GitHub. Self-host with Docker — MIT licensed, no vendor lock-in.
Go · Temporal · Postgres · React · docker compose up
Technical design
koto7 exposes a GraphQL-native interface. Tenants integrate once and consume any job archetype, any composition pattern, any DPP workflow.
[01]
gqlgen. Schema-first, Go-native GraphQL. Tenant context enforced in every resolver. Mutations map to domain commands — never direct DB writes. DataLoader from day one. No N+1.
[02]
Temporal Cloud for production. Three workflow shapes: fast event ingest (seconds), batch chain commit (cron), DPP passport lifecycle (years). EU namespace isolated for data residency.
[03]
Policy engine routes deterministically: private sidechain for logistics events, public root chain for DPP certification finality. People job data never touches a chain — hard constraint, not config.
Documentation as product
System shape, workflow boundaries, and integration paths are documented as engineering contracts, not slideware.
Tenant isolation, policy constraints, and chain data boundaries are explicit and versioned.
Every meaningful architecture decision has rationale, alternatives, and scope consequences attached.
Schema-first GraphQL · Temporal workflows · Tenant invariants documented · Error catalog versioned
Start with overviewTwo arcs, one engine
Arc A already proves the engine survives years of real-world operation. Arc B applies that same durable-orchestration model to EU Digital Product Passport compliance — long-lived workflows that survive ownership transfer, certification, and end-of-life.
EU ESPR-ready. Textiles DPP mandate 2028. GS1 EPCIS 2.0 native from day one. Long-lived product lifecycle workflows that survive years of ownership transfer, audit cycles, and end-of-life — using Temporal for durable orchestration.
Textiles 2028 · EPCIS 2.0 native · Catena-X compatible
// koto7 — DPPPassportLifecycleWorkflow // Survives years of ownership transfer, // certification, and end-of-life func DPPPassportLifecycleWorkflow( ctx workflow.Context, passportID string, ) error { logger := workflow.GetLogger(ctx) for { selector := workflow.NewSelector(ctx) var signal PassportSignal signalChan := workflow.GetSignalChannel( ctx, "PassportEvent") selector.AddReceive(signalChan, func(c workflow.ReceiveChannel, _ bool) { c.Receive(ctx, &signal) }) selector.Select(ctx) // Update passport state durably err := workflow.ExecuteActivity(ctx, UpdatePassportState, passportID, signal, ).Get(ctx, nil) if err != nil { logger.Error("state update failed", "error", err) } // Mint to public chain on certification if signal.Type == "CertificationReceived" { workflow.ExecuteActivity(ctx, MintStateHash, passportID) } // continueAsNew — stay within // Temporal history limits info := workflow.GetInfo(ctx) if info.GetCurrentHistoryLength() > 9000 { return workflow.NewContinueAsNewError( ctx, DPPPassportLifecycleWorkflow, passportID) } } }
Who is building this
koto7 is being carved out of 7 Hills Nexgram Limited as an independent technology company. Our CTO studied Distributed Software Systems at TU Darmstadt and has spent years operating digital infrastructure across Northeast India. We are building at the intersection of emerging market logistics complexity and EU regulatory compliance — NE India as testbed, Indian exporters impacted by EU DPP mandates as the first integration cohort, and EU DPP platforms as the integration layer for business continuity.
Get in touch
We are in active conversations with EU DPP platform providers and Indian exporters preparing for EU compliance. If you are building in this space — reach out.
For exporters, this is compliance-as-business-continuity infrastructure, not a reporting afterthought.