Real frames from QuantSphere Terminal. Every figure shown is read off the running app.
hero-voice.mp4
Press play: 47 seconds on who I am, what I build, and what I am open to.
I build systems that run unattended.
Execution engines, market makers, automation pipelines: software where a retry that duplicates an order, a webhook processed twice, or a token that expired at 3am costs real money.
Five systems built end to end, each readable in full. The test counts are what the suites actually run, and CI runs them on every push.
|
A constant product decentralised exchange: Solidity pair, router and sliding-window TWAP oracle with flash swaps and EIP-2612 permit; an event indexer that survives chain reorganisations; a Next.js and wagmi interface. 43 tests, including reentrancy attempted from inside a flash-swap callback and randomised invariant runs asserting that k never decreases.
|
A streaming data pipeline written from the log up: segmented append-only files with CRC-checked records and crash recovery, credit-based backpressure, idempotent producers, and exactly-once materialisation into a time-series store. 35 tests over the failure modes, and a benchmark that publishes the durability trade-off in numbers rather than adjectives.
|
A Model Context Protocol server giving an agent typed market data, indicators, backtesting and position sizing. Bounded responses, errors a model can recover from, and execution assumptions returned with every backtest. 24 tests, including a real MCP client driving a real handshake. Read-only by design.
|
|
An Instagram to WhatsApp pipeline on the official APIs: idempotent publishing with media container polling, webhook lead capture and scoring, outreach gated by consent and the WhatsApp 24 hour service window. 64 tests, none of which need credentials. Three importable n8n workflows.
|
An institutional quantitative terminal: C++20 numerical core with an API-identical NumPy fallback, options pricing (Black-Scholes, Heston, Merton, Monte Carlo, Crank-Nicolson PDE with PSOR), Kalman filtering, GARCH forecasting, walk-forward optimisation. 88 verification checks: closed-form parity, Monte Carlo within standard error, native and fallback agreeing to 1e-14.
|
External systems that fail, retries that must not duplicate, and state that has to survive a crash. Different domains, one discipline. Every one of them runs from a clean clone with That is deliberate: a reviewer who has to provision infrastructure to see your work does not see your work. |
Not in the feature. In the state around it. A sample of decisions from the code above, each one a thing that breaks in production long before it breaks in a demo:
| The problem | Where | What it does about it |
|---|---|---|
| The chain changes its mind after you indexed it | QuantSwap indexer | Every indexed block header is stored; the tip is compared against the chain on each poll, a fork deletes exactly the rows above it, and reserves are rebuilt from the last surviving Sync |
| A retry publishes the same post twice | Cascade publisher | An idempotency key per post and a persisted container id, so a retry resumes the publish it already started instead of beginning a second one |
| Spot price is manipulable inside a single block | QuantSwap oracle | Sliding-window TWAP. One test has a whale collapse spot by more than half while the oracle moves under 0.5%; the next shows it does converge once the skew is actually held, because a TWAP is a cost and not immunity |
| Messaging somebody who never opted in | Cascade consent gate | One function that every send passes: consent, service window, opt-out list, audit entry. A new workflow cannot route around it |
| Meta answers HTTP 200 with an error body | Graph client | Retries classified by error code: back off on 4 / 80007 / 429, never retry 190 or 100, because retrying a dead token only delays the fix |
| The consumer is slower than the producer | Sluice broker | Writes are refused with a retry hint once the slowest group falls behind. Buffering without bound turns a slow consumer into an out-of-memory kill that loses what was buffered |
| The same records are delivered twice | Sluice sink | Rows, incremental rollups and the consumer offset move in one transaction, so a full replay applies nothing and every aggregate is unchanged |
| A tool answers with five thousand rows | quant-mcp guards | Responses are truncated with the total stated. A tool that floods the context window pushes the user's own question out of it |
| Prompt injection reaches a dangerous tool | quant-mcp threat model | There is no dangerous tool: no writes, no network, no child processes. Cheaper than making a model immune to persuasion |
|
Automation & integration Workflow and API automation, n8n orchestration, webhook infrastructure with signature verification and idempotency, durable job queues with dead letters, Docker deployment, CI/CD. |
AI & intelligent agents LLM integration and tool use, multi-agent and computer-use systems, retrieval and research pipelines, natural language automation wired into real systems rather than into demos. |
|
Data engineering & analytics ETL and on-chain event indexing, structured extraction, time-series storage, dashboards and performance analytics, SQL and NoSQL schema design, real-time monitoring. |
Quantitative & algorithmic trading Expert Advisors and indicators for MetaTrader 4/5, Smart Money Concepts, derivative pricing, volatility modelling, backtesting with honest execution assumptions, risk management. |
| Repository | What it is |
|---|---|
| ismael-portfolio | Bilingual Next.js portfolio: marketplace, blog, live market widgets, full structured data |
| Smart-Money-Concepts | MetaTrader 5 indicator: order blocks, liquidity zones, market structure, fair value gaps |
| computer_Agent | Computer-use automation experiments on the Agent S framework, with MetaTrader integration |
| claude-code-vs-codex-cli-guide | Bilingual field guide comparing two AI coding command line tools |
| mql4_experts · expert-mt5 · mql5 indicators | Curated archives of open-source MetaTrader code, kept for reference. Third-party work, not mine |
5+ years shipping production software · Benin · remote worldwide · French and English
Available for automation, integration, data and trading systems work.
The fastest way to judge whether I am the right hire: pick any file linked in the table above and ask me about it on a call.

