Brand · R3 · Halfnote B4

The Dagrun brand, in one scroll.

Dagrun is poly LLM + agentic local task orchestrator. The mark is a solid half-disc (the “planner”), a stem (the routing line), and the signal dot (the local, active node). Identity is paper + ink + one accent — nothing else.
01 · Mark

Construction

Drawn on a 64-unit grid. Half-disc: 28r arc centered at (32, 32). Stem: 6×22 rect sitting below the flat edge. Signal dot: 6r circle flush with the stem’s base. Keep the proportions exact — the dot must visually sit on a ground line, not float.

Full colour
Inverted
Monochrome
Clear space · 1x mark height padding
swiftui
// Sources/AgentOSApp/DesignSystem/DagrunMark.swift
import SwiftUI

struct DagrunMark: View {
    var size: CGFloat = 24
    var color: Color = .dagrunInk
    var accent: Color = .dagrunSignal

    var body: some View {
        ZStack {
            // half-disc (top hemisphere of a circle)
            Path { path in
                path.move(to: CGPoint(x: size * 4/64,  y: size * 32/64))
                path.addArc(
                    center: CGPoint(x: size * 32/64, y: size * 32/64),
                    radius: size * 28/64,
                    startAngle: .degrees(180),
                    endAngle:   .degrees(0),
                    clockwise: false
                )
                path.closeSubpath()
            }
            .fill(color)

            // stem
            Rectangle()
                .fill(color)
                .frame(width: size * 6/64, height: size * 22/64)
                .offset(y: size * 11/64)

            // signal dot
            Circle()
                .fill(accent)
                .frame(width: size * 12/64, height: size * 12/64)
                .offset(y: size * 24/64)
        }
        .frame(width: size, height: size)
    }
}

02 · Wordmark

Dagrun — set in Inter Tight Bold

Always lowercase. Tracking -0.02em. Do not use Inter (non-tight) for the wordmark. Pair with the mark at a 1:1 cap-height relationship.

Dagrun
Dagrun48pt · App header / marketing hero
Dagrun28pt · Window title / section header
Dagrun17pt · Inline copy
Dagrun12pt · Min size — do not go smaller

03 · Palette

Three colors do all the work.

Paper, ink, signal — and the extended neutral ramp for surfaces. If your screen has four accent colors you’re off-brand. See /tokens for the full CSS-var and SwiftUI Color extension set.

Paper
Primary surface
#F5F2EA
Color(red: 0.961, green: 0.949, blue: 0.918)
Ink
Primary text / inverted surface
#0A0A0A
Color(red: 0.039, green: 0.039, blue: 0.039)
Signal
Accent / active / CTA
#FF4D1F
Color(red: 1.000, green: 0.302, blue: 0.122)
Use only for accent. Never decorative.
Paper · Raised
Card / raised surface (light)
#FFFFFF
Color.white
Paper · Sunken
Recessed surface (light)
#F8F5EE
Color(red: 0.973, green: 0.961, blue: 0.933)
Ink · Raised
Card / raised surface (dark)
#1A1815
Color(red: 0.102, green: 0.094, blue: 0.082)
swiftui
// Sources/AgentOSApp/DesignSystem/Palette.swift
import SwiftUI

extension Color {
    // Core
    static let dagrunPaper       = Color("dagrun/paper")       // #F5F2EA
    static let dagrunPaperRaised = Color("dagrun/paper/raised")// #FFFFFF
    static let dagrunPaperSunken = Color("dagrun/paper/sunken")// #F8F5EE
    static let dagrunInk         = Color("dagrun/ink")         // #0A0A0A
    static let dagrunInkRaised   = Color("dagrun/ink/raised")  // #1A1815
    static let dagrunSignal      = Color("dagrun/signal")      // #FF4D1F

    // Semantic — resolved by the asset catalog (light + dark variants)
    static let dagrunBg          = Color("dagrun/bg")
    static let dagrunBgRaised    = Color("dagrun/bg/raised")
    static let dagrunBgSunken    = Color("dagrun/bg/sunken")
    static let dagrunTextPrimary = Color("dagrun/text/primary")
    static let dagrunTextMuted   = Color("dagrun/text/muted")
    static let dagrunTextFaint   = Color("dagrun/text/faint")
    static let dagrunBorder      = Color("dagrun/border")
    static let dagrunSuccess     = Color("dagrun/success") // #2E7D32 / #7FC98A
    static let dagrunWarning     = Color("dagrun/warning") // #C86B00 / #E6A04D
    static let dagrunDanger      = Color("dagrun/danger")  // #C22E2E / #E85A5A
}

// Set Assets.xcassets > AccentColor = #FF4D1F so system-tinted
// views (Toggle, ProgressView, .borderedProminent) pick it up.

04 · Typography

Three families. One voice.

Inter Tight for display & UI chrome. Inter for body copy. JetBrains Mono for code, timestamps, and metadata eyebrows. On Mac, bundle the fonts into the app via ATSApplicationFontsPath. Fall back to SF Pro only when the custom font fails to load.

Display · buttons · titles
Aa
The quick brown fox 0123456789
Inter Tight
Body · inputs · paragraphs
Aa
The quick brown fox 0123456789
Inter
Code · time · eyebrow
Aa
The quick brown fox 0123456789
JetBrains Mono
swiftui
// Sources/AgentOSApp/DesignSystem/Typography.swift
import SwiftUI

extension Font {
    static func dagrunDisplay(_ size: CGFloat, weight: Font.Weight = .bold) -> Font {
        .custom("InterTight-\(weight.cssName)", size: size)
    }
    static func dagrunBody(_ size: CGFloat, weight: Font.Weight = .regular) -> Font {
        .custom("Inter-\(weight.cssName)", size: size)
    }
    static func dagrunMono(_ size: CGFloat, weight: Font.Weight = .regular) -> Font {
        .custom("JetBrainsMono-\(weight.cssName)", size: size)
    }
}

// Ship in Resources/Fonts/, register via Info.plist:
//   <key>ATSApplicationFontsPath</key><string>Fonts</string>

05 · Voice

Direct. Lowercase. Local-first.

do
Dagrun routes your prompt across the models that actually get it done.
don’t
Dagrun is a revolutionary next-generation AI orchestration platform.
do
Stays on your Mac. Every tool call logged.
don’t
Unparalleled privacy thanks to enterprise-grade local processing.
do
Run — 8 nodes, 3 tools, 2 local.
don’t
Executing comprehensive multi-agent orchestration workflow…

06 · Don’ts for the mark

Five lines to not cross.

  • 01Don't change the signal-dot color
  • 02Don't rotate or skew the mark
  • 03Don't place the mark on busy imagery without a solid paper tile
  • 04Don't stretch the wordmark — Inter Tight Bold, -0.02em tracking
  • 05Don't pair with high-contrast decorative accents