Yanal Almir

Frontend Engineer

I design the systems that other frontends are built on.

I work one layer above the feature. My job is the shape of the system: where code lives, what it's allowed to depend on, and what has to stay true as a codebase grows past the point where any one person can hold it in their head.

In practice that means monorepo architecture. I design Turborepo estates where several applications and a set of shared packages coexist without turning into either four copies of the same code or one library that nobody can change safely. Package topology, dependency direction, versioned contracts, build graph and caching — that's the surface I own.

The last decade got me here: a video platform at over a million daily actives, a multi-tenant newsroom platform behind KPN and Smart, and an estate of international brand sites running from a single repository. Different products, one recurring problem — how do you let multiple teams move fast without the system drifting apart underneath them.

That problem got sharper, not softer, once generation became cheap. When a team can produce a thousand lines an hour, authorship stops being the bottleneck and coherence becomes it. I'm interested in the constraint layer: the typed contracts, enforced boundaries and review gates that make fast output safe to keep.

I trained as an economist before I wrote software professionally, which is probably why I argue architecture in trade-offs rather than preferences. Every boundary buys something and costs something. I'd rather tell you what it costs.

Experience

  1. Dec 2024 — Present

    Architecting the monorepo behind an estate of international brand sites — package topology, shared contracts, and the build graph that keeps multiple surfaces shipping independently from one repository.

    • TypeScript
    • Next.js
    • Turborepo
    • AWS
    • Headless CMS
  2. May 2023 — Dec 2024

    Led the frontend re-architecture of Dumpert.nl at roughly 1.2M daily actives, decomposing a legacy codebase into independently replaceable boundaries and sequencing the migration to avoid a cutover.

    • JavaScript
    • TypeScript
    • React
    • GCP
    • Next.js
  3. Apr 2021 — May 2023

    Designed the multi-tenant newsroom platform behind KPN, Smart and other enterprise brands — shared codebase, brand differences isolated to configuration rather than forks.

    • TypeScript
    • React
    • Vue
    • Multi-tenant
  4. Jan 2020 — Apr 2021

    Refactored a legacy SaaS platform toward maintainable module boundaries while feature work continued.

    • TypeScript
    • React
    • Tailwind
    • AWS
  5. Aug 2019 — Aug 2020

    Worked on the development of a number of websites for clients, including e-commerce websites, landing pages and corporate websites.

    • JavaScript
    • React
    • SCSS
    • Webpack
  6. Aug 2014 - Sep 2014

    Maintained a group of seven web applications for FP& McCann, including official group websites and mobile application.

    • JavaScript
    • React
    • React native
    • SCSS

Projects

  • Fitflow

    A fitness and nutrition platform running on web, iOS and Android from one codebase.

    Problem: One domain — workouts, nutrition, progress, streaks — needed to exist identically on three surfaces, and the default path produces three implementations that quietly diverge until a "workout" means something different on each.

    Decision: Put the domain in shared packages — types, API client, sync logic, design tokens — consumed by a Next.js web app and an Expo app from a single Turborepo, with platform-specific capability (Apple Health, offline persistence, tablet layout) confined behind adapter interfaces at the app boundary.

    Cost: Every native capability has to be expressed through an adapter before it can ship, so individual features land slower than a platform-idiomatic implementation would. Bought in exchange: one definition of the domain instead of three, and a feature that ships to all surfaces at once.

    Fitflow marketing card
  • AuthentiQAI

    Content authenticity platform — AI detection, plagiarism checking, and writing assistance across text, image and video.

    Problem: Three tools that present as separate products share one pipeline underneath — ingest, chunk, dispatch to multiple models, return a scored result — and a Chrome extension was arriving as a fourth consumer of exactly that pipeline.

    Decision: Treated the analysis pipeline and the result contract as the versioned core, with each tool as a thin surface over it and model providers behind a common interface, so adding GPT, Claude or a new detector is configuration rather than a code path.

    Cost: A future tool that doesn't fit the shared result shape is now expensive to add, and the provider abstraction gives up per-model tuning. Worth it at four consumers; it wouldn't have been at one.

    AuthentiQAI marketing card
  • Dumpert

    The Netherlands' largest video platform, ~1.2M daily actives.

    Problem: a legacy codebase where any change carried platform-wide blast radius.

    Decision: decomposed into feature boundaries replaceable one at a time, running old and new in parallel through the launch.

    Cost: months of deliberate duplication — bought in exchange for never needing a freeze.

    Dumpert marketing card
  • KPN Newsroom

    Enterprise newsroom platform for two very different brands.

    Problem: every client wanted bespoke; every fork doubled the maintenance surface.

    Decision: brand differences confined to configuration and tokens; the codebase stayed single.

    Cost: a genuinely bespoke client is slower to serve — worth it against N codebases.

    KPN Newsroom marketing card
  • Smart Newsroom

    Enterprise newsroom platform for two very different brands.

    Problem: every client wanted bespoke; every fork doubled the maintenance surface.

    Decision: brand differences confined to configuration and tokens; the codebase stayed single.

    Cost: a genuinely bespoke client is slower to serve — worth it against N codebases.

    Smart Newsroom marketing card

Contact

I take on frontend architecture work — monorepo design, platform consolidation, and untangling estates that have outgrown their structure. Based in the Netherlands, working across the EU. If you're running more than one frontend and it's starting to hurt, that's the conversation I'm useful in.

Or drop me a message below: