~/johan-lajili
Johan Lajili
Available for hire
Staff EngineerPrincipal EngineerFounding EngineerTech Lead
$whoami

Johan Lajili

Full Stack Software Engineer

TypeScript · Node.js · React · AI

scroll to explore

Technology Stack

14 years of accumulated expertise across the full stack

01

Front-end

TypeScriptJavaScriptReactAngularReduxMobXZustandReact QueryRxJSxStateLexicalCSS ModulesSCSSTailwind CSSStyled ComponentsHTML5StorybookJestCypressPlaywrightFramer MotionThree.jsBabylon.jsPixiJSD3.js
02

Back-end

TypeScriptNode.jsNext.jsNestJSExpressFastifyKoaGraphQLtRPCREST APIsWebSocketsSocket.ioPostgreSQLMySQLMongoDBRedisPrismaTypeORMBunDeno
03

AI & LLMs

OpenAI APIsClaudeGeminiLangChainLangGraphAgentic WorkflowsMulti-agent SystemsPrompt EngineeringLLM EvalsStreaming ResponsesFunction CallingStructured OutputToken OptimizationTTSWhisper
04

DevOps

DockerKubernetesAWSGitOpsGitHub Actions
05

Build Tools

WebpackViteESBuildTurboRepoBashGit
06

Familiar With

SwiftKotlinRustGoPythonGoogle Cloud

Hard Problems Solved

Real engineering challenges that pushed the boundaries

<01/>Front End

Tracked Changes (Red Lining) on Rich Text Editor

Context

Pactio — a SaaS platform for Big 4 firms generating tax documents. Our main customer (£800K/year) was adamant they needed Word-style tracked changes—an editing mode where deletions appear as red strikethroughs and additions in green. This was the primary blocker for employee adoption.

Challenge

The existing attempt worked only on trivial cases (plain text within a paragraph) but completely failed for dozens of "edge" cases: line breaks, bullet points, tables, nested formatting. The project was considered impossible when the CTO asked me to salvage it.

Solution

Flipped the problem: instead of diffing rich text (inherently problematic), I built a Lexical plugin intercepting keystrokes and clipboard events, manually modifying the document tree. While there were many cases to cover—add, delete, backspace, paste, cut—each multiplied by cursor position, selection state, and existing tracked changes—this was a finite, solvable set. Delivered to production in 2 months.

→ Impact:Unlocked enterprise adoption—feature loved by customers at Big 4 accounting firms.
TypeScriptReactLexicalWebSocketTree Algorithms
<02/>AI

AI-Powered Reconciliation System

Context

Rowan AI — an Excel AI plugin for accountancy workflows. Reconciliations are a tedious manual task accountants perform constantly: comparing two lists of items (e.g., bank statements vs. accounting system transactions) to find matches and discrepancies.

Challenge

Lists can contain hundreds of items with only partial matches. Dates differ (payment sent vs. received), descriptions are arbitrary, and amounts may have rounding errors—making naive matching impossible.

Solution

Built an algorithmic reconciliation engine callable by the AI, where the LLM defines the matching parameters dynamically. For instance: "Column A should match Column C within 5% tolerance, dates within 3 days." This expressive system lets AI find mismatched transactions with high precision while preserving user expectations that better prompts yield better results.

→ Impact:99% reliability on complex reconciliations with 1000s of items.
TypeScriptLLMsOpenAIExcel APIMatching Algorithms
<03/>Back End

Scaling Backend for Live Sports Data Streaming

Context

IMG Arena — a sports data company. The backend of the new product connected to hundreds of legacy WebSocket endpoints to produce a live GraphQL schema.

Challenge

Two weeks before a live UFC event with customers, scaling tests revealed the upstream service couldn't handle the required WebSocket connections—it was designed for single-server ingestion.

Solution

Architected a primary/secondary server split using Redis PubSub as the communication layer. The primary server ingested WebSockets and published GraphQL subscriptions to PubSub. Secondary servers acted as lightweight relays, subscribing via GraphQL query hashes—enabling horizontal scaling without upstream changes.

→ Impact:Delivered on time, scaling correctly and supporting upwards of 1M live connections.
Node.jsTypeScriptGraphQLRedis PubSubWebSocketKubernetes
<...>

And many more where that came from

  • Auto page-break engine with live preview for complex documents
    Front End
  • Spreadsheet style extraction using DFS and greedy algorithms
    AIAlgorithmic
  • MVP of augmented streaming product—turning stakeholder vision into reality
    Full Stack
  • Trello-like drag and drop working on mobile, built from scratch
    Front End
  • A* pathfinding to generate structure chart documents on demand
    Front EndAlgorithmic

Career Timeline

Full Stack Engineer → Tech Lead → Head of Technology → Staff Engineer

[Contract] AI Software Engineering Consultant

YLookup

Short-term contract helping YLookup bootstrap after acquiring the Rowan AI codebase. YLookup is an Excel add-in that operates on spreadsheets using LLMs.

  • Brought the acquired codebase back to life: recreated infrastructure (AWS, GCP, Vercel, Auth0), reconnected services, and onboarded the engineering team.
  • Created "Spreadsheet Vision": a cell style extraction engine using DFS and greedy algorithms.
  • Improved the PDF-to-spreadsheet pipeline with 38 test scenarios driving production-ready reliability.

Software Engineer

Pactio → Rowan AI

Full Stack engineer at a lean startup (~$50M valuation). Pivoted from Pactio to Rowan AI (Excel AI plugin).

  • Refined the "one-shot" approach into a complex agentic flow, reducing latency 5× while improving reliability.
  • Built an automated test harness producing reliability/latency graphs instead of binary pass/fail.
  • Implemented 99% reliable reconciliation system mixing algorithms with AI streams.

Senior Staff Software Engineer

IMG Arena

Hands-on senior engineering role solving complex technical problems across multiple departments.

  • Created multimodal LLM tool using GPT-4 vision to automatically monitor streaming product.
  • Transformed a vague idea into a POC delivering value, using clever tricks to reduce effort dramatically.
  • Post-acquisition: surveyed and rewrote codebase, transitioning backend from PHP to Node.js + TypeScript.

Head of Technology (Web Applications)

IMG Arena

Led a department of 25 people, organizing processes, ensuring technical delivery met highest standards, and facilitating interdepartmental communication.

Full-Stack Tech Lead

IMG Arena

Led a team of 5, overseeing delivery of live sports statistics widgets for UFC, Tennis, and Golf—now used by millions monthly.

  • Built the team and product portfolio from scratch—grew from 2 developers to hundreds.
  • Wrote the backend in Node.js/TypeScript/GraphQL/RxJS/WebSocket.
  • Front-end in React/TypeScript, integrating with 3D team using Babylon.js.

Contract Software Engineer

lajili.com LTD (for CMC Markets)

Helped CMC Markets transition from Angular to React, enhanced application performance by identifying memory leaks.

Senior Games Developer

Gamesys

Developed HTML5 games using PixiJS/WebGL. Created the game engine used by the team using reactive and functional programming patterns.

Earlier Roles

Cinime, Innes, Toxicode, Learnscaper

Game development and web development roles building everything from cinema-synced mobile games to educational serious games and CMS platforms.

Side Projects

Building products to solve real problems and explore new technologies

2025Active

Madeleine OS

A custom educational computer built for my 4-year-old daughter. Applies behaviorist learning principles through tight game loops and gamification. Features writing tutorials, math games, foreign language learning—achieving full keyboard/mouse proficiency and reading/writing skills before starting school.

ReactKiosk ModeGamification
2024Archived

ChartMyLife.ai

An augmented diary experience using GPT-4 and GPT-3.5. Track any metric using natural language. Includes AI life coaching with weekly micro-tasks. Reached 300 users including paid subscribers.

Next.jsMongoDBOpenAIGPT-4
2022Archived

Travelboard

A Trello-style holiday planner. Each column is a day; cards are activities with auto-fetched images and geolocation. Full-trip and per-day map views for clustering activities.

ReactMaps APIDnD

Education

Foundation of expertise

2013

Higher Diploma in Game Design & Programming

Isart Digital · Paris, France

Three-year program specializing in game development with focus on mobile/web games and JavaScript. Also gained expertise in game design and Adobe software suite.

What People Say

Feedback from colleagues and collaborators

Johan possesses a rare combination of creativity and technical excellence. He doesn't just tackle challenges head-on – he takes a step back, analyses the problem from multiple angles, and devises solutions that are not only effective but also elegant and efficient. This ability to think outside the box has been instrumental in the success of several key projects at IMG Arena including our award-winning Event Centres. Beyond his technical prowess, Johan is a fantastic team player. He's always willing to share his knowledge and expertise, fostering a collaborative environment where everyone can learn and grow, demonstrated by owning and running our regular show-and-tell sessions across technology.

Paul FairlessVP of Technology @ IMG Arena

Johan was a key engineer at Pactio who made a meaningful impact across our product. He's highly versatile, consistently picking up complex problems and driving to solid, practical solutions. Notably, he redesigned our Excel AI architecture, significantly improving speed and reliability. I'd happily recommend him to AI or SaaS teams looking for an impactful, high-ownership engineer.

Eric HeimarkCEO @ Pactio

Johan is brilliant. By the end of his first week he already had a working solution for the number one engineering problem we had at the time. He relentlessly smashed through anything we threw at him and quickly became the go-to person for the most complex engineering problems and design choices.