FileLoveNote / build packageKit revision · 28 October 2026

09 / 15 · Design

What the interface looks like

A concrete visual reference for models rebuilding FileLoveNote: a quiet sidebar, a readable note, source files close to the writing, and controls that stay out of the way.

Design the app, not this documentation website.

This build package uses cream paper, green navigation and serif headings. The app uses Inter, light gray or mint-tinted surroundings, a white writing surface and blue actions. Follow the app colours and measurements below.

The drawings are labelled reference wireframes with fictional content, not screenshots or a promise of pixel-perfect reproduction. They describe the default Simple layout in the current local code. English labels are the reconstruction target; some existing app labels still use Dutch. This chapter does not change the running app.

Visual intent

  • The open note is the main object. Navigation supports reading and writing; it does not look like a task dashboard or a media feed.
  • Use restrained type, generous writing space, thin borders and soft selection backgrounds. Reserve strong blue fills for primary actions.
  • Keep icons small and consistent. Prefer familiar outline symbols with visible labels or accessible names; do not rely on colour alone.
  • Keep the same hierarchy in light and dark mode. Dark mode changes the palette rather than the layout.
  • Use the rounded 1:1.618 spacing family: 3, 5, 8, 13, 21, 34 and 55px. The current Simple layout uses a fixed sidebar; do not force every screen into a literal 38.2% / 61.8% split.

Desktop: sidebar and writing area

Desktop interface: simple layout with one sidebar and a writing areaA light gray sidebar contains Notes and Files tabs, two blue create buttons, folder pills, a selected note and a fixed status footer. A white editor occupies the rest of the window, with a centered text column, a modest note title, paragraphs, a quote and an attached Drive file. Numbered markers refer to the explanation below. All sample content is fictional. ▤ Notes▱ Files + New note+ New folder ▱ Research▱ Reading ▤ Field observations▤ Questions for later▤ Recording notes▤ Ideas to revisit ⚙↻Synced · 10:24 Field observationsA place to connect source files and ideas.The original recording stays in Google Drive.What I noticedKeep the source close to the notes about it.One observation can lead toa better question. Field recording.mp4Google Drive · linked sourceView in Google Drive ↗Continue writing… 12345
Default Simple layout, shown schematically. The real desktop sidebar is 360px wide. The remaining space belongs to the editor, with a centered note column no wider than 42rem (672px at a 16px root size). The drawing scales these dimensions to fit.
  1. Navigation and creation: two equal tabs, Notes and Files, at the top of the sidebar. Below them, place two equal blue buttons: New note and New folder. Align text and icons to the same grid.
  2. Folders and notes: optional folder pills in two columns, followed by note rows. A soft blue row marks the open note. Multi-selection adds a stronger blue edge; hover stays subtle. Long titles truncate instead of widening the sidebar. The list scrolls independently.
  3. Persistent footer: settings and sync icons sit beside a short storage/sync status. It remains at the bottom while the list scrolls. Reserve a thin 3px loading strip above the list so loading does not make rows jump.
  4. Writing area: keep the page white in light mode, with a modest title and left-aligned prose inside the centered reading column. Do not stretch prose across the whole screen or add a permanent large formatting toolbar.
  5. Source content: media lives inside the note as an image, player, reference card or file link. A small View in Google Drive link sits beneath a Drive source. The source remains in Drive; the note adds context around it.

Above 860px, the list and editor are visible together. In Simple mode, the extra file/Drive columns and floating desktop column-switcher are hidden. Choosing Files replaces the sidebar content with the Drive browser in the same column; it does not navigate away from the note or add another column. An explicitly saved Classic layout can retain its existing panel arrangement.

Mobile: one active view at a time

Mobile interface: note list and editor are separate viewsTwo schematic phone screens show the list view on the left and the editor view on the right. Opening a note switches views rather than squeezing two desktop columns onto a phone. A bottom bar remains reachable, including commands and sync, with safe spacing for the device edge. A · Browse notesB · Write in one note ▤ Notes▱ Files+ New note+ New folder ▱ Research▱ Reading▤ Field observations▤ Questions for later▤ Recording notes▤ Ideas to revisitLocally saved · waiting to sync Field observationsKeep a source file next tothe notes about it.What I noticedThe source stays in Drive.▶ Field recording.mp4View in Google Drive ↗Continue writing… ⚙▤⌘↻⚙▤⌘↻
At 860px and below, browsing and editing are separate views. The bottom bar is schematic: preserve the existing list/editor switching, settings, command and sync functions, with accessible names and space above the device edge.
  • Use the full width for the active list or editor. Opening a note shows the editor; provide an obvious way back to the list. Do not shrink the desktop columns into two narrow panels.
  • Keep tabs and create buttons at least 44px high on mobile. Touch targets are at least 44 × 44px even when the icon itself is smaller.
  • Keep bottom actions reachable in both list and editor states. Sync sits to the right of the command control; settings remains available in the bottom bar rather than duplicated in the sidebar footer.
  • Reserve bottom padding for the toolbar and safe-area inset. Menus must stay above it and follow the visible viewport when the keyboard appears.
  • Prose wraps to the screen width. Tables and other genuinely wide content may scroll inside their own container; the whole page must not scroll sideways.

Colours and surfaces

These values come from the current Calm and Calm Dark theme definitions. Use semantic tokens so changing theme does not require redesigning each component.

RoleCalm / lightCalm Dark
Page / outer background#f5faf6#111815
Editor / raised surface#ffffff#17211d
Sidebar / soft surface#f8f8f9#1d2924
Primary text#29353c#edf4ef
Muted text#6d777c#a9b7af
Subtle border#e3e5e5#2c3a33
Primary action / link#3f7fd4#6ea8f2
Selected row (soft)#e9f7ff#1b3347
Success#167044#62c893
Warning#f28a02#f7ad45
Destructive action#cf4632#f07868

Use the softer surface for sidebar chrome and input backgrounds. Use the editor surface for the writing pane and raised controls. A normal row has no heavy outline or card shadow. Reserve elevation for menus, dialogs and overlays. Focus uses a visible blue border/ring; destructive actions use red text or a clearly labelled confirmation, never an ambiguous red icon alone.

Typography and measurements

The app uses self-hosted InterVariable, with system sans-serif fallbacks. Retain the font licence if redistributing the font. Use a monospace stack for code. The Georgia heading on this documentation page is not the app’s note-title style.

ElementSize and weightLayout rule
Note body16px / 400Line height 1.7; letter spacing −0.011em; paragraphs 0.4em top/bottom.
Note title / H120px / 650Line height 1.25; letter spacing −0.01em. Not a giant marketing headline.
H2 / H3 / H418 / 16 / 14px, weight 650Use weight and spacing for hierarchy. Headings do not become large banners.
UI chrome14px base; 11px metadataSimple tabs use 13px, create labels 12px, note-row titles 13.5px / 600.
Desktop sidebar360px wide; 21px side gutter8px gaps between paired controls; 13px between groups; a 26px icon column.
Controls and rows34px desktop tab/create height; ≥44px note rowsCompact desktop footer icons are 26px with 16px glyphs. Use ≥44px touch targets on mobile/coarse pointers.
Corners8px controls; 10px note rows; 13px menusFolder pills use fully rounded ends. Text highlights keep square corners.

Lists follow the note’s text rhythm. Task checkboxes align with the first text line rather than sitting in a separate oversized control row. Quotes use a thin left rule and muted text. Inline code gets a quiet filled background; code blocks can scroll internally. Links use blue and remain visibly recognisable as links.

What each interface component should look like

ComponentAppearance and placementInteraction and state
Notes / Files sidebarCompact paired tabs, aligned create controls, folder pills and single-line rows. Files uses the same sidebar width with a path, search and file entries.Keep the note open when changing tabs. Indicate the selected tab, folder and note separately. Load Drive when the user opens Files.
Slash menuA compact floating panel at the caret, about 274px wide but bounded by the viewport. Rounded 13px corners, soft translucent surface, thin border and restrained shadow. Grouped commands with small coloured icon badges.Show a visible keyboard selection. Arrow keys and Enter act on the menu; Escape closes it. Scroll long menus internally and keep them above the bottom bar.
Drive pickerAn inline/caret-anchored panel in the note, not a new full-page app. Search, folder path, status, file rows and Load more are distinct areas.Show loading, no results, disconnected and retry states as text. One choice inserts a source; canceling inserts nothing. Preserve the editor’s insertion point.
Command palette and Markdown helpCentered native dialogs with a dim backdrop. Maximum width 618px, constrained by the screen. Search and command rows are clear; help uses a scrollable body beneath a fixed title/close row.Use ≥44px options/close targets, visible focus and keyboard shortcuts. Escape closes and returns focus to the previous control.
Media and previewsImages fit the reading width. Audio/video show a player or compact reference with title and progress. PDF/EPUB use their own readable preview. Keep the note’s text around the source.Show a placeholder when a thumbnail cannot be generated. A paused or failed player must not make the rest of the note unusable.
SettingsGrouped sections for appearance, layout when applicable, sync, the Google Drive connection, account and legal links. Keep descriptions secondary to controls.Show the connected Drive identity and state. Keep advanced reset/delete actions behind a separate disclosure and an explicit confirmation.
Login / signupA calm public page with the FileLoveNote wordmark, a clear Google sign-in action, a product introduction and a small product preview. Public/legal pages include the proof-of-concept banner.Signup shows the consent requirement; denied/configuration errors appear beside the sign-in flow. Do not add another login method.
CanvasA spatial working area of text, note or media cards with visible connections. Its toolbar supports the canvas rather than replacing note navigation.Pan/zoom and selected-card states remain clear. Build this only when the canvas extension is in scope.

Loading, empty, selected and error states

  • Empty: a short No notes yet message and one New note action in the editor area. Do not fill the screen with invented charts or sample user data.
  • Loading: keep stable space for the list’s thin loading strip. If a local note exists, render it while Drive refreshes in the background; do not replace it with a full-page spinner.
  • Local / queued / syncing: a concise status beside sync, with a pending count or progress where relevant. A server ticket is not shown as Synced.
  • Failure: keep the current text visible, explain the problem and offer retry. Colour alone does not communicate failure. Disconnected Drive has a clear connect/reconnect action.
  • Deletion / movement: show a pending row state and keep the exact affected selection clear. Confirmation distinguishes permanent Delete from managing old Trash.
  • Selection and focus: the open note gets a soft background; bulk selection adds an edge/count/action bar. Keyboard focus gets a visible ring. Hover must not impersonate either state.

Visual implementation prompt

Read prompt/design.html together with the Solution Intent, Solution Design and requirements.
Use the app visual reference, not the cream/green documentation shell.
Build the default Simple desktop workspace: 360px sidebar, Notes/Files tabs, paired create buttons, optional folder pills, scrolling note rows and persistent settings/sync/status footer.
Use a white editor surface in light mode and a centered reading column capped at 42rem. Use Inter, 16px/1.7 prose and a modest 20px/650 note title.
Use the documented Calm/Calm Dark colour tokens, blue actions, subtle borders and quiet selection states. Match the spacing and component measurements in this chapter.
At 860px and below, show the list or editor as a full-width view, preserve bottom actions and use touch targets of at least 44px.
Keep slash commands and the Drive picker contextual to the caret. Keep dialogs, empty/loading/error states and keyboard focus consistent with the reference.
Use fictional test content. Preserve storage, authentication, sync and deletion contracts; a visual match must not add new behavior.
Compare the implemented screen with this chapter at desktop width and at 390px in BrowserOS Neo. Report visual differences separately from functional test results.

Acceptance checks for visual similarity

  1. At a wide desktop viewport, the sidebar is 360px and the editor gets the remaining space. Long text remains inside the 42rem reading measure; there is no unnecessary third column in Simple mode.
  2. The sidebar has aligned tabs, paired creation buttons, rounded folder pills, readable note rows and a stable footer. Files replaces its contents without losing the note.
  3. Light and dark modes use the specified text/surface/action hierarchy. The note title is 20px, body text 16px and the writing area uses Inter.
  4. At 390px, the list and editor are usable separately, with no horizontal page overflow. Bottom actions and caret menus remain visible above the device edge and keyboard.
  5. Test keyboard focus, open/selected rows, empty content, Drive disconnection, a queued change and a failed sync. Every state has readable text or an accessible label.
  6. Keep visual evidence separate from functional evidence. A convincing screenshot does not prove Drive storage, account isolation or safe deletion.

Use the functional scenarios in V03 and V15 alongside these checks. Security boundaries remain in 08 Security.

Source and scope of this reference

The measurements and colours were checked against local commit 867ca8d on 26 October 2026: src/views/theme-system.js, src/views/scale-system.js, src/views/content-renderers.js, src/views/command-menu.js, src/views/topbar-renderers.js and client/paper/drive-picker.ts. This is a code-based interface reference, not a new inspection of production or a redesign request. Filenames and implementation identifiers stay unchanged.