Skip to content
MOITOITECH
EET--:--:--
SUN--:--

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.

MoiToi.TECH is an independent product engineering practice in Loksa and Tallinn, Estonia. It turns operational problems — a harbour on a paper book, a rental on a calendar nobody keeps current, a commerce stack that cannot stop — into complete working systems: business model, software, infrastructure and connected hardware.

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.


Typography

Three faces, three jobs.

Manrope speaks, Inter explains, IBM Plex Mono states the data. All three are self-hosted, latin subset, under the 200 KB budget, and licensed under the SIL Open Font License.

Manrope

800 · --font-display · display / font-display

Headlines, 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-mono

Labels, dates, statuses, coordinates, stack lists, CTAs. Uppercase with 0.06–0.12em tracking for labels.

Hierarchy

Hero

Manrope 800 · 40 → 80px · lh 1.02

Systems that meet the real world.

Section title

Manrope 800 · 30 → 44px

Start with a bounded piece of work.

Item title

Inter 500 · 24px

Operational Systems Review

Lede

Inter 400 · 16 → 18px · Sounding

Pick the problem that is costing you time.

Body

Inter 400 · 16px · lh 1.625

I map the operation, identify the highest-leverage failure points and turn them into a buildable system plan.

Label

Plex Mono 500 · 11px · +0.12em · caps

Selected systems

Data

Plex Mono 400 · 12px

59°14′N 25°43′E · since 2026


Colour

Ice and Navy, and one signal.

Values are read from the site’s stylesheet at build time — this page cannot show a colour the site does not use. Light mode sets Ice as the field; dark mode sets Baltic Navy. Assets and print use the light values.

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.

PairWhereLightDark
ink / paperBody copy14.41 · AAA13.12 · AAA
navy / paperHeadings, primary links14.82 · AAA14.82 · AAA
sounding / paperLedes, labels, metadata5.09 · AA6.42 · AA
signal-ink / paperSignal labels, status chips, errors5.40 · AA5.53 · AA
ink / hullBody copy in a panel12.76 · AAA11.30 · AAA
sounding / hullSecondary text in a panel4.50 · AA5.53 · AA
signal-ink / hull“Live pilot” label in a panel4.78 · AA4.76 · AA
on-signal / signalFilled CTA, selected slot4.65 · AA4.65 · AA
signal / paperThe point, borders, display type — needs 3:1, not 4.53.19 · AA large4.65 · AA

UI language

Hairlines, mono labels, square corners.

The interface is built from a small set of parts. Everything below is the production component or class, rendered here — not a picture of it.

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.

Live pilotLive platform · Host onboarding in progressClient systemIn development · Creator-owned

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 hidden

Data 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

4px
8px
12px
16px
24px
32px
40px
48px
64px
96px

The signal point

MOITOITECHThe one live fact

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.

The writing does the same job as the layout: specific, checkable, unadorned. If a sentence would fit any company’s website, it is not finished.
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.

Social

The same system, at platform sizes.

Generated from the logo outlines, the tokens and the copy in this repository, at the dimensions each platform currently asks for. Change the source and every file follows.
LinkedIn cover preview
LinkedIn cover4200×700LinkedIn company page cover at the current recommended 4200×700 (6:1).linkedin-cover-4200x700.pnglinkedin-cover-1128x191.png
LinkedIn company logo preview
LinkedIn company logo300×300LinkedIn company page logo, 300×300. Full-bleed so LinkedIn’s own crop leaves no corners.linkedin-avatar-300.pnglinkedin-avatar-400.png
LinkedIn post preview
LinkedIn post1200×627Link-share and single-image post template. Swap the label and headline; keep the foot.linkedin-post-1200x627.png
GitHub social preview preview
GitHub social preview1280×640Repository social preview. Content stays inside GitHub’s 40px safe border.github-social-1280x640.png
Presentation title slide preview
Presentation title slide1920×108016:9 title slide. Label, title and subtitle are the editable fields; the foot stays.slide-title-1920x1080.png

Downloads

Every file, from one source.

Nothing here is a hand-exported binary. Each file is rendered at build time from the outlined logo, the site’s colour tokens and its fonts, so the downloads cannot drift from the site.

Wordmark

Mark

Favicons and app icons

Social and presentation


For agents

Read the brand, don’t scrape it.

An agent producing a MoiToi document, deck or post should start from the manifest: names, tagline, colours with roles and contrast, type, logo rules and the URL of every file above.