Bigiverse Learn
Classes

The Bigiverse bridge

Build once against primitives, and let the platform carry the boring parts.

Almost every product is "auth, storage, notifications… and something." The boring parts are not where you create value — they are where you run out of time. The Bigiverse platform exposes them as primitives you build on.

The pattern

  1. Authenticate through the platform. Your users bring their Bigiverse identity; verification happens once, out of your service.
  2. Use platform data when it exists. Cohorts, calendars and accounts are already modeled — reuse identifiers instead of re-creating them.
  3. Call the platform APIs from your service exactly like you call Bigiverse Learn's own API: a typed client against a published contract, real error handling, and log every call.

A minimal service blueprint

type Service struct {
    cfg  config.Config
    db   *gorm.DB
    verifier bigiverse.AccountVerifier // platform identity, injected
}

func (s *Service) Register(w http.ResponseWriter, r *http.Request) {
    // 1. validate input            -> 422
    // 2. create account            -> 409 if exists
    // 3. verify via platform       -> 502 if the check is unavailable
    // 4. record audit + respond    -> 201
}

Notice the ordering: check availability of the platform before you mutate your own data, so an outage never leaves a half-registered account.

Where the platform stops

Bigiverse provides identity, cohorts, scheduling and showcases — not your domain logic. Your project still owns its actual product: the thing you built that nobody else has. That boundary is exactly what the reviewer will look for.

Score your service like a reviewer

  • Does every dependency failure produce the right status code?
  • Can I reproduce a state from the audit log alone?
  • Is there one obvious thing that is yours?

On this page