Brandbook · v1.0
The MoiToi.TECH brand system.
Formalised from the production site rather than designed for this page. Colours are read from the site’s stylesheet, the logo is outlined from its fonts, and the components are the ones the homepage renders.
Brand
We build useful technology systems.
The Baltic instrument: charts, harbours and instrument panels, without nautical kitsch — no ropes, wheels or anchors. The headline on the homepage — Systems that meet the real world. — is the positioning line; the sentence above is the company line, used wherever MoiToi introduces itself — LinkedIn, decks, proposal covers.
Principles
- Specific beats decorated
- Persuasion comes from checkable detail — a coordinate, a commit count, a named harbour — never from ornament.
- One live fact
- Signal Orange marks the single live thing in a composition and is spent on no more than 2% of the surface.
- Mono means data
- IBM Plex Mono marks text that is data — dates, statuses, coordinates, stack lists. It is never texture.
- Hairlines organise, nothing decorates
- A 1px rule separates real information. No drop shadows, no gradients, no rounded cards.
- Status is stated honestly
- A pilot is a pilot. A prototype is not traction. An unverified fact is visibly marked or omitted.
Writing the name
- — Write MoiToi.TECH — capital M, capital T, the period, TECH in capitals.
- — In running prose after first mention, MoiToi is fine. Never MOITOI, Moitoi or Moi Toi.
- — MoiToi OÜ is the legal entity: invoices, contracts, the footer. Not a display name.
- — The wordmark sets MOITOI in capitals; that is a property of the logo, not of the name.
Logo
One wordmark, one mark, one point of colour.
Compact mark
MT and the signal point on a Navy tile — the favicon since the brand system shipped. Use it where the wordmark would be smaller than its minimum: avatars, app icons, browser tabs.
Clear space and minimum size
- Wordmark minimum
- 100px wide on screen (the site's footer sets it at 105px); 25mm in print.
100px
- Mark minimum
- 16px on screen — the favicon. 24px or more anywhere it is not a favicon.
- Proportions
- Ink is 5.15 × 0.75 times the MOITOI size; clear space is 0.42.
- Backgrounds
- — Primary (Navy + Signal) on Ice, Coastal Fog or white.
- — Reverse (Ice + Signal) on Baltic Navy or a dark photograph with a calm area.
- — Monochrome Navy or Ice when only one colour can be printed or embroidered, or the background would fight Signal Orange.
Incorrect use
Typography
Three faces, three jobs.
Manrope
800 · --font-display · display / font-displayHeadlines, section titles, the MOITOI of the wordmark. Tracking −0.02em, line-height ~1.04.
Inter
400 / 500 · --font-sans · font-sans (default)Running text and interface. 400 for prose, 500 for small headings inside panels.
IBM Plex Mono
400 / 500 · --font-mono · label / font-monoLabels, dates, statuses, coordinates, stack lists, CTAs. Uppercase with 0.06–0.12em tracking for labels.
Hierarchy
Hero
Manrope 800 · 40 → 80px · lh 1.02Systems that meet the real world.
Section title
Manrope 800 · 30 → 44pxStart with a bounded piece of work.
Item title
Inter 500 · 24pxOperational Systems Review
Lede
Inter 400 · 16 → 18px · SoundingPick the problem that is costing you time.
Body
Inter 400 · 16px · lh 1.625I map the operation, identify the highest-leverage failure points and turn them into a buildable system plan.
Label
Plex Mono 500 · 11px · +0.12em · capsSelected systems
Data
Plex Mono 400 · 12px59°14′N 25°43′E · since 2026
Colour
Ice and Navy, and one signal.
Ice--paper
Ground
- Light
- #f7f9f8 · rgb(247, 249, 248)
- Dark
- #10262f · rgb(16, 38, 47)
The page field in light mode. Becomes Baltic Navy in dark mode.
Coastal Fog--hull
Quiet panels
- Light
- #e7ecea · rgb(231, 236, 234)
- Dark
- #16323c · rgb(22, 50, 60)
Panels that hold a group of facts — the pilot card, the offers. The only filled surface besides the ground.
Graphite--ink
Body copy
- Light
- #202725 · rgb(32, 39, 37)
- Dark
- #e7ecea · rgb(231, 236, 234)
Running text. Softer than Navy so headings keep their authority.
Baltic Navy--navy
Headings, authority
- Light
- #10262f · rgb(16, 38, 47)
- Dark
- #f7f9f8 · rgb(247, 249, 248)
Display type, the MOITOI in the wordmark, primary link text. The field in dark mode and on reverse assets.
Sounding Blue--sounding
Secondary text, links, diagrams
- Light
- #3b7280 · rgb(59, 114, 128)
- Dark
- #86adae · rgb(134, 173, 174)
Ledes, labels, metadata, inactive navigation. Lifted in dark mode so it still reads on Navy.
Fog--hairline
Rules and dividers
- Light
- #d3dbd9 · rgb(211, 219, 217)
- Dark
- #274049 · rgb(39, 64, 73)
1px borders and section rules. Never a text colour.
Signal Orange--signal
The signal point
- Light
- #f05a3c · rgb(240, 90, 60)
- Dark
- #f05a3c · rgb(240, 90, 60)
The period in the wordmark, live states, CTA borders and fills, focus rings, display type at 24px and up. ≤2% of any surface. Never small text — that is Signal Ink.
Signal Ink--signal-ink
Signal as small text
- Light
- #c22d0f · rgb(194, 45, 15)
- Dark
- #f37359 · rgb(243, 115, 89)
Signal Orange darkened (light) or lifted (dark) just enough to clear AA: live labels, status chips, errors, the boxed CTA. Same job, same ≤2% budget.
On Signal--on-signal
Text on a Signal fill
- Light
- #10262f · rgb(16, 38, 47)
- Dark
- #10262f · rgb(16, 38, 47)
Baltic Navy in both themes, for a filled CTA or a selected slot. Ice on Signal is 3.19:1; Navy is 4.65:1.
Contrast, as painted
WCAG 2 ratios for every pairing the site uses, computed from the same values. Signal Orange itself is 3.19:1 on Ice — right for the point, a border or display type, too light for a label. Small Signal text is set in Signal Ink, and text on a Signal fill in Navy, so every text pair clears AA in both themes.
| Pair | Where | Light | Dark |
|---|---|---|---|
| ink / paper | Body copy | 14.41 · AAA | 13.12 · AAA |
| navy / paper | Headings, primary links | 14.82 · AAA | 14.82 · AAA |
| sounding / paper | Ledes, labels, metadata | 5.09 · AA | 6.42 · AA |
| signal-ink / paper | Signal labels, status chips, errors | 5.40 · AA | 5.53 · AA |
| ink / hull | Body copy in a panel | 12.76 · AAA | 11.30 · AAA |
| sounding / hull | Secondary text in a panel | 4.50 · AA | 5.53 · AA |
| signal-ink / hull | “Live pilot” label in a panel | 4.78 · AA | 4.76 · AA |
| on-signal / signal | Filled CTA, selected slot | 4.65 · AA | 4.65 · AA |
| signal / paper | The point, borders, display type — needs 3:1, not 4.5 | 3.19 · AA large | 4.65 · AA |
UI language
Hairlines, mono labels, square corners.
Calls to action
Primary is Navy on a 2px Signal underline — one per view. Secondary sits on a hairline. Boxed is kept for a committing action such as booking, and fills Signal on hover. All are links styled as text: no pills, no gradients, no icons.
Panels and status
Live pilot
hara.mervare.app
Hara harbour, Gulf of Finland. A live berth-booking pilot designed for hardware-verified availability.
A panel is Coastal Fog with a hairline border and no shadow — the only filled surface. Status chips are mono: Signal with the point when something is live, a Sounding dot when it is not. An unverified fact is never dressed as one:
Unconfirmed — shown, not hiddenData and code
GET https://moitoi.tech/api/brand.json
{
"name": "MoiToi.TECH",
"tagline": "We build useful technology systems.",
"colors": { "palette": [ { "token": "signal", "light": { "hex": "#f05a3c" } }, … ] },
"logo": { "primary": { "onLight": "…/brand/moitoi-tech-primary.svg" } }
}Code, endpoints and values sit in Plex Mono on a Fog panel. Inline data — a coordinate, a date, a stack list — is mono in Sounding Blue: 59°14′N 25°43′E · since 2026.
Rules
- radius
- 0 everywhere. The only round thing is the signal point (and status dots). Focus rings keep a 1px corner.
- borders
- 1px Fog hairline for structure; 2px Signal Orange only for the primary CTA and the flagship project rule.
- shadows
- None.
- spacing
- Tailwind's 4px scale. Sections are 64px (mobile) / 96px (desktop) of vertical padding, separated by one hairline. Content sits in one measured column with a 9–12rem mono label gutter.
- layout
- Max width 92rem, 16px side gutter on phones, 24px from 640px; the left 11–13rem clears the fixed section rail on wide screens.
- icons
- No icon set. The vocabulary is the signal point, a Sounding status dot, an em-dash list marker and mono labels. If a pictogram is unavoidable, use a 1.5px-stroke outline in Sounding at text size — never filled, never coloured Signal.
- motion
- The signal point may pulse once when a state appears, then settle. Nothing loops. Nothing moves under reduced motion.
- themes
- Light and dark follow prefers-color-scheme. There is no toggle.
Spacing
The signal point
The live wordmark component and the point on its own. One per composition, marking the single live fact. It may pulse once when a state appears; it never loops.
Voice & tone
Say what was built.
- Technically credible
- Name the mechanism. “A Go bridge into a Victron Cerbo GX over MQTT,” not “smart IoT integration.”
- Concise
- One claim per sentence. Cut the adjective if the noun already says it.
- Curious
- Start from the operation and the people in it, not from the technology.
- Pragmatic
- Say what it costs, how long it takes and what is out of scope.
- No corporate filler
- No synergy, no solutions, no “leveraging”, no “end-to-end digital transformation”.
- No inflated AI claims
- AI accelerates implementation. Andres owns architecture, testing and production. Say so in that order.
- No prototype-as-traction
- Pilot, in development, live: use the status the thing actually has. No user counts that are not checkable.
- Explain what was built
- Problem, system, my part. Show the thing, then let it be judged.
MoiToi says / MoiToi doesn’t say
SaysA live berth-booking pilot at Hara harbour, designed for hardware-verified availability.
Doesn’t sayRevolutionising the marina industry with AI-powered smart berths.
SaysFirst version: 5 days, 206 commits — auth, payments, booking state, MQTT, hardware bridge.
Doesn’t sayBuilt at lightning speed by our world-class team.
SaysSupply-side onboarding is in progress — no traction claims yet.
Doesn’t sayRapidly growing marketplace trusted by hosts across the Baltics.
SaysAI accelerates the implementation. I own the architecture, the tests and the production operation.
Doesn’t sayOur autonomous AI agents build your product for you.
SaysOperational Systems Review — €1,500 fixed, 2–3 working days.
Doesn’t sayContact us for a bespoke quote tailored to your unique digital journey.
SaysThirty minutes to hear what you operate and say honestly whether I am the right person to build it.
Doesn’t sayBook a free discovery call to unlock your growth potential!
Mechanics
- — British English: harbour, optimise, programme (but “program” for software).
- — Sentence case for headings. Mono labels in capitals, by CSS, not by typing them.
- — First person singular on the personal site (“I build”); first person plural for the company line (“We build useful technology systems”).
- — Numbers as numerals when they are data: 5 days, 206 commits, €1,500, 30 minutes.
- — Curly quotes and apostrophes, en-dash for ranges (2021–2026), em-dash for asides.
- — Exclamation marks: none.
Downloads
Every file, from one source.
Wordmark
- moitoi-tech-primary.svgSVG · vectorDefault. On Ice, Coastal Fog or white.
- moitoi-tech-reverse.svgSVG · vectorOn Baltic Navy or another dark field.
- moitoi-tech-reverse-on-navy.svgSVG · vectorSelf-contained dark tile, Navy field included.
- moitoi-tech-mono-navy.svgSVG · vectorOne-colour print, embossing, or a background that fights Signal Orange.
- moitoi-tech-mono-ice.svgSVG · vectorOne colour on a dark field.
- moitoi-tech-primary.png2000×530Transparent PNG for tools that cannot take SVG.
- moitoi-tech-reverse.png2000×530Transparent PNG for dark fields.
- moitoi-tech-on-navy.png2000×530Dark-background PNG, field included.
Mark
- moitoi-tech-mark.svgSVG · vectorCompact mark: avatars, favicons, app icons.
- moitoi-tech-mark-light.svgSVG · vectorWhere a Navy tile would sit on Navy.
- moitoi-tech-mark-mono.svgSVG · vectorOne-colour applications: stamps, engraving, single-ink print.
- moitoi-tech-mark-512.png512×512PWA / app icon, large avatar.
Favicons and app icons
- apple-touch-icon.png180×180iOS home screen. Full-bleed — iOS rounds the corners itself.
- icon-192.png192×192Android / PWA manifest.
- favicon-32.png32×32Legacy PNG favicon. Browsers that take SVG get the mark SVG.
Social and presentation
- linkedin-avatar-300.png300×300LinkedIn company page logo, 300×300. Full-bleed so LinkedIn’s own crop leaves no corners.
- linkedin-avatar-400.png400×400Same, at LinkedIn’s larger recommended 400×400.
- linkedin-cover-4200x700.png4200×700LinkedIn company page cover at the current recommended 4200×700 (6:1).
- linkedin-cover-1128x191.png1128×191The same cover at LinkedIn’s older 1128×191 minimum, for tools that still ask for it.
- linkedin-post-1200x627.png1200×627Link-share and single-image post template. Swap the label and headline; keep the foot.
- github-social-1280x640.png1280×640Repository social preview. Content stays inside GitHub’s 40px safe border.
- slide-title-1920x1080.png1920×108016:9 title slide. Label, title and subtitle are the editable fields; the foot stays.
- og-brandbook-1200x630.png1200×630The Open Graph image for /brandbook.
For agents
Read the brand, don’t scrape it.
- moitoi.tech/api/brand.jsonThe brand system, structured
- moitoi.tech/llms.txtThe practice in prose, with a pointer here
- moitoi.tech/api/profile.jsonFacts about the work — the only facts to use
Social
The same system, at platform sizes.