We engineer the systems behind live productions. When the tool doesn't exist, we build it.

Not a crew house, not an agency. A small technical production company that ships software when the show needs it. This page is the reference for how we look and sound. When something out in the wild disagrees with it, this page wins.

letsgolive.nl Lato · Plex · Martian Mono v1 · Sep 2026

The punctuation is the brand

The name is "Let's Go Live!", apostrophe and exclamation mark included. We have seen every possible way to get it wrong. "LGL" is fine inside the team and in file names, but it never goes public.

Let's Go Live!
Ship

Let's Go Live! everywhere the public sees it.

lgl-node and lgl-remi for file names, repos and internal shorthand.

Kill

Lets Go Live, missing the apostrophe.

Let's Go Live, missing the exclamation mark.

LetsGoLive, which is not the name.

Who we are, in four words

Precise Hands-on Pragmatic Live-native
Seamless Cutting-edge Passionate End-to-end
NameWhat it isWhen to use
Let's Go Live! The company name Everywhere public. Copy, contracts, credits, print
LGL Internal shorthand Inside the team, file names, repo prefixes. Never in public copy
letsgolive.nl The address, not the brand URLs, footers, business cards

One wordmark, two endings, three plates

The wordmark is Lato Black with one modification: the round punctuation dots are squares. That detail is older than this guide and we like it too much to lose it. There are two versions. The exclamation mark version is the brand-name lockup; the period version is the original wordmark. Both are always one colour: ink on paper, white on rack black or on orange. Keep it off photos unless it sits on a plate, and below 120 px switch to the square mark.

Let's Go Live! wordmark, primary on light Primary · ink on #F7F8FA
Let's Go Live! wordmark, white on dark Dark · white on #121212
Let's Go Live! wordmark, white on orange On orange · mono white
Wordmark at minimum size 120 px · minimum
Original period wordmark Original · "Live." · mono only
LGL!
Square · avatar 56
L!
Favicon · 32 / 16
Let's Go Live!
Text fallback · Lato 900
Clearspace

At least the cap-height of the L, on all sides.

Below 120 px

Use the square or favicon mark instead of shrinking the wordmark. 80 px is allowed in navigation only, with padding.

On photo

Only on a #F7F8FA or #121212 plate. Never straight on the image.

Never

Rotate, outline, shadow, gradient, or recolour beyond these three plates.

We rebuilt the wordmark as vector paths, so nothing needs the font installed. The original raster file stays hosted for reference.

Assets

Everything is hosted here, ready to link. Wordmarks come as SVG and as 2000 px transparent PNG. The square plates and the avatar are for social profiles; platforms crop avatars into circles, so the plates keep the wordmark clear of the edges.

Bang wordmark, ink
Bang · black
Bang wordmark, white
Bang · white
Bang wordmark, white on orange
Bang · white on orange
Original period wordmark, ink
Dot · black
Original period wordmark, white
Dot · white
Square avatar mark, LGL! on orange
Avatar · 1024 / 512
Profile plate on paper
Profile · paper
Profile plate on rack black
Profile · dark
Profile plate on orange
Profile · orange
Wordmark source (white AVIF, the originally supplied file)
lgl-assets/wordmarks/lgl-wordmark-source.avif · also on imagedelivery.net
Favicon set: ico + 16/32/48/192/512 PNG + apple-touch-icon
lgl-assets/favicon/ · regenerate with the scripts/lgl-*-build.py trio

Workbench, not garage

Most of the palette is paper, grey and ink. Then there is the orange, which we ration. It marks state or the single primary action on a page, and that is it: no decorative washes, no warm backgrounds, never more than a tenth of the screen. The status colours mean what they mean in a control room, because that is where we learned them.

Paper#F7F8FA · background · 60%
Panel#FFFFFF · cards
Hairline#E4E7EC · rules
LGL orange#D97732 · accent · ≤10%
#101828 text
#344054 body
#667085 meta
#4CAF50 live
#FFC107 pending
#F44336 offline
Orange, correctly

The one primary button on the page. A live state. 18 px+ if it's text on paper.

Orange, never

Decorative washes, gradients, section backgrounds "for warmth".

Orange body text on #F7F8FA, which fails WCAG AA. Use filled buttons or 18 px and up.

Light is the default. Dark is the rack.

Light comes first on everything we ship, but plenty of us work in dark rooms, so dark mode is a toggle away (top right on this page) and the choice is remembered. The orange and the status colours stay put. Only the greys swap.

Rack black#121212 · background
Panel#1A1A1A · cards
Hairline#2A2A2A · rules
LGL orange#D97732 · unchanged
#FFFFFF text
#CCCCCC body
#999999 meta
#4CAF50 live
#FFC107 pending
#F44336 offline
photo: behind the deskLIVE
Solana, Hong Kong
HONG KONG · [MON] 2026 · SRT CONTRIBUTION · [MS] GLASS-TO-GLASS
Same card, dark greys. Orange and status colours don't move.
Read the build →
PRIMARYSECONDARYGHOST
DefaultLight first. Dark is opt-in via a toggle.
LogoWhite wordmark on #121212. Never the mono-black version here.
PhotosSame flat, ungraded shots. No mode-specific imagery.

Three typefaces, three jobs

Three typefaces, each with one job. Lato Black shouts the headline, IBM Plex Sans carries the argument, and Martian Mono states the facts. We tried letting them trade jobs once. Never again.

Display · Lato 900
Lato
Black

Weight 900 only, tracking −2.5%, headlines only. H1 is 46, sections are 40, card titles 26, all with line-height 1.0. The lighter weights of Lato are gone; if you find one in the wild, it is old.

Body · IBM Plex Sans 400/500
Plain, a bit engineered, reads fine at 15px on paper.

16–18 px, line-height 1.55, measure 55–65ch. Use 500 for emphasis; bold belongs to the display face.

Mono · Martian Mono 400/500
SRT · NDI 5 · ST 2110-20 · 1080p50
glass-to-glass 480 ms · 12 × cam

Specs, labels, captions, code. Labels are caps at 12 px with 8% tracking, like a label-maker strip. The face is already wide, so never track it further.

Shot at work, shown as-is

We only publish our own photos, and honestly they are a bit boring: flat light, no grade, cables dressed. That is the point. Screens show the real software running the real show. If a stock library could have supplied the image, it does not go up.

Rack, rear view
Our own software in use
Hands at the desk
Signal-flow diagram
Ship

Own photos only. Flat light, no grade. Cables dressed.

Screens showing the actual software running the actual show.

Kill

Stock photography, in any form.

Team portraits, handshakes, "vibe" shots of the crowd.

The rewrite test

Here is the test we use: if a sentence would survive unchanged on a competitor's site, it is not ours yet. Name the protocol, name the number, and start with what actually broke. Readers can decide for themselves whether we are capable.

Kill

We delivered a seamless end-to-end livestream solution for Samsung at Gamescom 2026.

Cutting-edge multi-region broadcast for Solana's global events in Hong Kong and Abu Dhabi.

We're passionate about elevating live experiences at The Edge.

Ship

Samsung, Gamescom 2026. [n] stages, one control room. The vendor's router API dropped commands under load, so we wrote our own control layer.

Solana Hong Kong → Abu Dhabi. Same show file, different venue, [x] weeks apart. Contribution over SRT, [ms] glass-to-glass.

The Edge. [What broke. What we built instead. One number.]

Rules

Short sentences. "We built", "we run". Name the protocol and the number. Dry humour is fine. Enthusiasm about the work is fine; enthusiasm about ourselves is not.

Banned

seamless · cutting-edge · unlock · empower · elevate · end-to-end solutions · passionate about · revolutionizing · trusted by · anything that sounds generated.

The spec line is the evidence

Every case gets the same card. Photo with a status chip, Lato title, the mono spec line, a few lines of body, one link. The spec line is the part we actually care about. It carries the proof; the paragraph is commentary.

photo: behind the deskLIVE
Samsung, Gamescom 2026
COLOGNE · AUG 2026 · [N] CAM · [N] PGM · CUSTOM ROUTER CONTROL
Problem → constraint → what we built. Three lines, then the spec table.
Read the build →
Image area

180 px with our own photo, and a status chip bottom right: an 8 px square plus a caps label.

Spec line

Mandatory. Martian Mono caps, 4% tracking, meta colour. City, date, the numbers, the custom build.

Link

"Read the build →" in orange mono, the only accent on the card.

The details are the brand

Everything is built like the racks it describes: square corners, hairline rules, printed labels. We ask one question of every detail. Would it survive in a control room? If not, it does not ship.

Corners0 px. Nothing is rounded.
Rules1 px #E4E7EC (dark: #2A2A2A). Structural, like a rack rail. No shadows.
LabelsCaps · Martian Mono · 8% tracking · like a P-touch strip
Status■ LIVE■ PENDING■ OFFLINE
Spec tableskey / value · hairline rows · units always written
MotionNone decorative. State changes only, ≤150 ms.
Staples→ see the Staples chapter: burn-in, signal path, schematic background

One primary per page: orange fill, mono caps, 10×16 padding. Secondary is a hairline, ghost is just ink.

Inputs: panel fill, hairline border, radius 0. Focus turns the border orange, without a glow.

LIVE PENDING OFFLINE

Status chips are filled squares, not dots. They don't pulse.

Two devices, two places. One background.

The burn-in lives on project overviews; the signal path lives on project pages. They never share a viewport. The patched-schematic background sits behind heroes and print, never behind body text. Everything else stays plain: paper, ink, hairlines, one orange.

A · Burn-in

Project overviews, home work grid, socials

Every photo in a list or grid carries two corners: source label top-left, timecode bottom-right, the way a multiviewer labels a source. Orange plate and a 2 px orange frame only when that project is live right now. Nothing else on the image.

photo
Samsung · Gamescom 2026 · PGM 2026-08-21 14:32:07:12
photo
Solana · Abu Dhabi · Live 00:00:00:00
photo
The Edge · [SOURCE] [YYYY-MM-DD HH:MM:SS:FF]
ArchivedInk plates, capture timecode
Live nowOrange label plate + 2 px frame, running clock
PendingBracketed placeholders until data exists
01 · CologneAug 2026
Samsung, Gamescom

Four stages, one control room. We wrote the router-control layer.

12 CAM · 4 PGMRead →
02 · Hong KongJul 2026
Solana, Hong Kong

Contribution over SRT, 480 ms glass-to-glass.

SRT · 1080p50Read →
03 · Amsterdam[TBD]
The Edge

[What broke. What we built instead.]

[SPEC]Read →
LabelMartian Mono 500 · 11 px · caps · 4% tracking · white on #101828 · padding 6×8 · 12 px inset · never wraps
Label contentCLIENT · EVENT YEAR · SOURCE (PGM / CAM n / ISO) · max ~30 chars
TimecodeYYYY-MM-DD HH:MM:SS:FF from the file's capture time. Live cards run the page clock at 50 fps. Never invented.
Live stateLabel plate #D97732 · 2 px #D97732 frame inside the image bounds · only while the stream is actually on air
Cards without photoSame two-corner grammar: NN · CITY / date top row, mono spec / orange READ → bottom row, Lato 900 22 px title between
Build.burn-in wrapper around the image · .label, .timecode children · add .live for the orange state · data-clock runs the clock

B · Signal path

Project pages only

One continuous 1 px ink line runs down the left of the page. Each section is an orange node on it; a section not yet written is a hollow node. Directly under the title, every case is told as three stations: IN · WE BUILT · OUT. No rack texture, no rails. The line is the whole device.

01 · Case
Samsung, Gamescom 2026

Four stages, one control room. The vendor's router API dropped commands under load, so we wrote our own control layer.

In
12 × SDI 1080p50, vendor router with REST API
drops commands above 8 req/s
We built
Router-control layer in Node — queued, acknowledged commands
40 ms retry · Companion buttons
Out
4 × PGM, SRT to CDN
0 dropped switches over 4 days
photo: rack rear, labelled patching · no burn-in on project pages
02 · How it ran
Show days
03 · What we'd change
[Pending]
Line1 px #101828 (dark #FFFFFF) · full page height · 40 px gutter left of content
Node11 px circle, 2 px paper ring · filled #D97732 = written · hollow, 2 px #101828 ring = pending · centre on the line, level with the section label
Section labelsNN · NAME in Martian Mono 500 11 px caps 4% tracking meta, then Lato 900 36 px title, −2% tracking
Station stripExactly one per project page, directly under the title · 1fr 1fr 1fr, 1 px hairline gaps and border · 2 px top rule ink / orange / ink in thirds · IN · WE BUILT · OUT
Station contentHeader Martian Mono 500 11 px caps 8% tracking (WE BUILT in orange) · one sentence Plex 500 15 px ink · one number Martian Mono 400 13 px meta · cell 22×20 on panel
RuleOne sentence + one number per station. No number → the case isn't ready to publish. Project-page hero photos carry no burn-in.
Build.signal-path wraps the page: .line + .sections · each .sp-section has a .node (add .pending for hollow) · .station-strip holds three .station cells (.built for the middle)

C · Background, patched schematic

Hero, cards, decks, socials, print

A faint dot grid is the canvas. Routed hairlines snap to it: right-angle bends only, every bend on a dot. Hollow nodes are open ports; where a cable is plugged, the port and its line turn orange. Always on one side of a surface, always fading under content. Same DNA as the signal path, one scale up.

Technical production
We engineer the systems behind live productions.
Let's Go Live! wordmark
[Name][Role] · +31 6 [nr][name]@letsgolive.nl
Let's Go Live! wordmark, white

Card 85 × 55 mm, shown at 4:1. The front's orange cable exits the bottom edge; the back's enters the top edge at the same column, so the route continues around the card.

Grid24 px pitch on screen, 4 mm in print · dot 1.2 px #C9CDD4 (dark #3A3A3A) · fades to nothing under content
Lines1 px #B8BEC7 (dark #3A3A3A) · orthogonal only · every bend and endpoint on a dot · 3–5 lines per surface, never more
PortsOpen: 8 px hollow, paper fill, 1.2 px ink ring (dark: #121212 fill, #FFF ring) · Patched: 9 px filled #D97732
Orange pathExactly one per surface, 2 px #D97732 · enters from a port or an edge, exits on an edge · front and back of a card share the exit / entry coordinate
PlacementOne side only · never behind body text · hero: right-hand side, content max-width 600 px on the left
PrintDots 0.3 mm · hairlines 0.25 pt · orange 0.5 pt Pantone-matched · card 85 × 55 mm · static files in lgl-assets/schematic/
Buildlgl-assets/schematic/schematic.js · <div data-schematic data-seed="n" data-side="right|left" data-fade="0.3"> · same seed, same lines · LGLSchematic.mount() after layout · scripts/lgl-schematic-build.mjs writes the print SVGs

Secondary reference: label tape

On file, not in use on the site. Staggered strips of real cable-label text in faint ink, one strip orange. Candidate for merch, crew shirts, case stickers. Martian Mono 500 at 9–11 px, 6% tracking, #C9CDD4 on paper, 1 px hairline top and bottom per strip.

SDI-01 · CAM 1 → SW IN 1 · 1080p50 · 3G · L=45m · SDI-02 · CAM 2 → SW IN 2 · 1080p50 · 3G · L=45m · SDI-03
PGM · SW OUT 1 → ENC01 · SRT · 480 MS GLASS-TO-GLASS · LGL-CTRL v2.3 · ROUTER LAYER · 40 MS RETRY · PGM
TALLY · GPI 1–12 → CAM 1–12 · COMPANION · TC · LTC IN · 50 FPS · PTP GM · LOCKED · RACK 01 · 42U · HALL 8

Where each one goes

PageBurn-inSignal pathBackground
Homeon the work grid—hero only
Work (overview)every card——
Project page— (hero carries no label)line + one station strip—
About / Contact——hero
Social / deckson photos—section starters, cards

No other decorative devices. Bracketed values are placeholders on purpose; leave them visible until the data exists.

The numbers, for whoever builds it

The values a build actually needs, in one place. The full token set lives in this page's own source; view source and copy the :root block.

Spacing8 px grid · 4 / 8 / 16 / 24 / 32 / 48 · section padding 40 × 48
Container1200 px max · full-width under 768 px
Breakpoints768 / 1024 / 1440 px
FontsGoogle Fonts · Lato 900, Plex Sans 400/500, Martian Mono 400/500 · font-display: swap
ContrastWCAG AA · orange text 18 px+ on paper, or on a filled button
Touch44 × 44 px minimum targets
Iconsoutline, 2 px stroke · 16 / 20 / 24 / 32 · Lucide or Heroicons
ImagesWebP / AVIF · SVG for marks and icons