Skip to content
View reachjalil's full-sized avatar

Block or report reachjalil

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
reachjalil/README.md
Jalil Laaraichi, Founding Engineer at OpenWork. Infrastructure for AI agents that do real work, and the product that makes it feel simple.

reachjalil.github.io LinkedIn reachjalil@gmail.com Applied Intelligence

Hi, I'm Jalil, Founding Engineer at OpenWork, based in San Francisco. I like taking capabilities that are powerful but hard to use and making them simple, honest about what they're doing, and reliable enough to trust with real work.

Alongside OpenWork, I build small open-source tools for people working with agents: configuration, MCP, testing, and evals. Before agents, I spent 8+ years shipping software for enterprises and startups. That includes BetterFormula, a Salesforce formula editor with 13k+ users.

Building OpenWork

OpenWork is the open-source alternative to Claude Cowork. It's a desktop app plus one MCP that let you reuse the same skills, MCP servers, and connected services across your agents, teammates, and machines. I've landed 580+ PRs there since July 2026. By commits, I'm its #2 contributor.

OpenWork contributions: merged pull requests per week since July 2026
Merged PRs per week, as a table
Week of Merged PRs
Jul 6 5
Jul 13 49
Jul 20 57
Jul 27 51
Aug 3 35
Aug 10 50
Aug 17 20
Aug 24 67
Aug 31 64
Sep 7 105
Sep 14 71

Some of what I've built there:

Area Highlights
MCP Apps Interactive MCP App UIs inline in conversations (#3700), served through a credential-bound gateway (#4004), and assembled into organization dashboards (#4056, #5006)
Connect and the MCP gateway An enterprise MCP client with deep diagnostics (#2694, #2975), OAuth conformance (#2771), a managed local OAuth gateway (#3652), stateless MCP (#4055), and Client ID Metadata Document clients (#5293)
Automations Cloud-scheduled automations that run on desktop runners (#3466), automations proposed straight from chat (#3552), web automations in OpenWork Cloud (#3716), and saved Code Mode scripts (#3656)
Reliability and speed Live sessions that survive engine rollovers (#3696), interrupted runs you can resume (#4124), block-by-block streaming (#4422), and virtualized long transcripts (#5089)
Browser and computer use A built-in browser for every conversation (#4434), site tools with user takeover (#4468), and scoped native computer-use sessions (#4463)
Plugins and skills Portable Agent Plugins end to end (#3594), GitHub plugin import (#2568), and organization skills served over MCP (#2567, #5208)
Cloud runtime and connectors A provider-neutral cloud runtime with Daytona as one adapter (#4445), working Gmail, Calendar, Drive, Sheets, and Microsoft 365 actions (#4693), and PDF attachments for every model (#4334)

Open source I make

Jev Logs: Scores OpenTelemetry logs before an expensive LLM sees them. Every record is kept; only the signal gets analyzed. jev-tree: Lets TypeSafe's Jev choose among thousands of options by walking a taxonomy, one small choice at a time. Harness Config: One reviewed .harness source, projected into AGENTS.md, .claude/, .cursor/ and every surface your agents read. mcpexplained: Small, clickable explanations of the Model Context Protocol, where every diagram is a machine you can run. MCP App Validator: Inspects an MCP server, exercises its Apps in a controlled host, and records evidence of what to fix. Can My Agent Use: Find the apps your agent can actually use: setup, permissions, and tools, each backed by cited evidence. mockOS: Deterministic mock Entra ID, Okta, SCIM, MCP, and LLM APIs for testing identity and agent flows end to end. SpeechGlow: A quiet menu-bar cue when someone nearby is speaking, made for deaf and hard-of-hearing people. Runs on-device.

More from the workshop
Project What it is
sysone · System One Bench Gives an agent Jev as code (typed decisions composed in one MCP call), plus a public record of what the evidence does and doesn't show
LiteMCP Composer One governed MCP endpoint for every user and agent, composed from many MCP servers
skills-kit A repo-local switchboard for agent skill libraries
MCP Apps gallery · Workplace MCP Apps Hosted, forkable MCP Apps you can try by URL and copy to build your own
NottyDuck WebMCP Playground A tiny local-first playground where a person and an agent play together through WebMCP
freestyle-volumes Persistent volumes for Freestyle VMs, backed by any S3-compatible bucket
flashpod A TypeScript-first wrapper for RunPod Flash
prettui Composable TypeScript packages for exact-frame terminal UIs
web-seek Browser QA briefs: demonstrate a flow in Chrome, then hand a validated brief to a QA agent
SenseSight Turns robot sensor streams into 3D spatial memory you can explore in the browser
BetterFormula An IDE-like editor for Salesforce formulas, shipped as a browser extension with 13k+ users

If I open a PR on your repo

I'm on the maintainer side of a busy open-source repo every day, so I try to send the kind of PR I'd want to receive:

  • Small and focused. One problem per PR, with no drive-by refactors or formatting churn.
  • Your conventions first. I follow your contributing guide, code style, and commit format, and I sign the DCO or CLA if you ask.
  • A description that stands alone. It covers the problem, the change, why it helps users, how I tested it, and what it doesn't cover.
  • Proof included. Tests for behavior, plus screenshots or a recording for anything visual.
  • An issue first for big changes. That way we agree on the approach before I write the code.
  • I stay for review. I address feedback and follow up on anything I ship.

Recently merged upstream: two PRs to Looms, a TypeScript SDK for durable agents. One adds a generic evaluation kind (#5); the other adds defineKind and createKind for custom types (#6).

Tools I reach for

TypeScript Node.js React Next.js Astro Electron Hono Cloudflare Workers Durable Objects MCP MCP Apps OpenTelemetry Vercel AI SDK OpenAI · Anthropic · Gemini OpenAI Realtime Vitest Playwright GitHub Actions pnpm · Turborepo


San Francisco · Happy to talk about agents, MCP, and developer tools: reachjalil@gmail.com

Pinned Loading

  1. harness-config harness-config Public

    Harness config specification proposal and alpha CLI for repo-local multi-agent configuration.

    TypeScript 3

  2. speechglow-mac speechglow-mac Public

    A private macOS menu-bar app that gives you a quiet visual cue when speech is happening around your Mac. On-device Silero VAD — no recording, no transcription, no upload.

    TypeScript 1

  3. whoElseButUmar/invader-tui whoElseButUmar/invader-tui Public

    Reusable TypeScript TUI components for ANSI terminal interfaces, with a playable retro arcade demo.

    TypeScript 1

  4. workspaces-team/model-training-academy workspaces-team/model-training-academy Public

    JavaScript

  5. workspaces-team/pretty-bench workspaces-team/pretty-bench Public

    JavaScript 1