Skip to content
FM Journal

A logbook for the work between releases

I'm M Fikri Marzuki. This is where I write down how the projects in my ecosystem are designed, built and changed: the reasoning, the dead ends and the parts worth keeping.

SampleEntries marked Sample are placeholders. They show how the journal will read, and their dates are illustrative.

Longer pieces worth starting with.

Illustration: a circle split into a light half and a dark half, crossed by an orbit, with a sun on one side and a crescent moon on the other.
ArticlePublished: 2 min readSample

Designing a light and a dark theme on purpose

A dark theme isn't an inverted light theme. Notes on choosing two palettes, checking contrast, and keeping the first paint in the right colours.

ArticlePublished: 1 min readSample

Typed local content before a CMS

Starting a journal with typed data files and a small repository interface, so a database or CMS can arrive later without rewriting the pages.

Latest writing

Everything new, in the order it was written.

View all
  1. Project updateDeveloper Ecosystem1 min readSample

    What this log will track for Gateway

    Gateway is the ecosystem's front door. Its updates here will follow destinations, not features.

  2. Journal entry1 min readSample

    Starting the logbook

    Why a journal, and what goes in it.

  3. ArticleEcosystem Config2 min readSample

    Reading shared configuration at build time

    Why every app in the ecosystem fetches one registry before it builds, and why a failed fetch should fail the build instead of falling back.

  4. Project updateEcosystem Config1 min readSample

    Ecosystem Config: notes on how consumers read the registry

    Each consumer keeps only the fields it needs. Questions worth answering before adding more consumers.

  5. Note1 min readSample

    Learning note: what reduced motion should turn off

    Reduced motion isn't 'no transitions at all'. A short list of what to remove and what to keep.

Project updates

Dated notes on where each ecosystem project stands.

View all
  1. Developer EcosystemStage: PlannedSample

    What this log will track for Gateway

    Gateway is the ecosystem's front door. Its updates here will follow destinations, not features.

  2. Ecosystem ConfigStage: ExploringSample

    Ecosystem Config: notes on how consumers read the registry

    Each consumer keeps only the fields it needs. Questions worth answering before adding more consumers.

  3. PlaynestStage: PlannedSample

    Playnest: questions to answer about offline play

    Before changing how Playnest works offline, write down what a family should expect without a connection.

From the journal

Short entries written while the work is still in progress.

View all
Published: Sample

Starting the logbook

Commit messages say what changed. Plans say what should change. Neither keeps the part in between: the option that looked right for an afternoon and then didn't. This logbook is for that part.

Published: Sample

Naming things twice

Renaming a repository is one command. Finding every consumer, sync script, document and memory that still uses the old name is the actual work. A redirect hides the problem until the old name is reused.

Published: Sample

Checks before claims

The rule worth keeping: one pnpm check per project that runs lint, types, tests, the production build and the browser tests. If it hasn't run since the last change, the honest status is 'not verified yet'.

Topics

Browse by subject.

About the author

M Fikri MarzukiFull-Stack Software Engineer

I build the FM Work ecosystem: a set of small, connected web projects that share one registry of facts. The journal keeps the reasoning behind them in one place.