In development May – Oct 2026

TradeWise

Decide before you click buy

A mobile-first tool that helps a beginner judge one trade. It reads fundamentals, technicals and news sentiment into a verdict and shows its working, and no paper trade can be saved until you have set an amount, a horizon, a stop and a target and seen the simulated odds — the plan is the product, not the signal.

Paper trades only; it never touches a broker. Every trade is journalled and replayable against historical bars. Each stock also shows which famous investors own it, read from their SEC 13F filings, its chart patterns marked where they happened, and how each of those patterns really did on that stock over five years (against the base rate, with no hindsight); a screener runs the same verdict over whole sectors. I built the legal layer too — disclaimer, privacy policy, and a consent record where the database stamps the timestamp, because a browser-supplied one proves nothing.

  • FastAPI
  • Python 3.12
  • React
  • TypeScript
  • Vite PWA
  • Supabase
  • Postgres RLS
Open the live app

Sign in with demo@tradewise.app TradeWiseDemo2026

  • 111 commits
  • 18,830 lines
  • 236 files
TradeWise on Apple in the dark theme: a SELL 91% verdict with its score and valuation, a three-month price chart with pattern markers, Wall Street targets, insider trades and entry timing, over a faint candlestick chart in the background
TradeWise on Apple, October 2026: the verdict and its numbers, the price chart, what analysts and insiders are doing, and when to enter.
Shut down on the evidence May – Jun 2026

CL_BOT

A trading bot, and the case against it

I built an automated crypto trading system, ran it live on paper, and then proved to myself it did not work. Two opposite paradigms — trend-following and mean-reversion — both failed across 365-day backtest sweeps.

Before closing it I tested the strongest remaining lever: a 120-cell strategy × regime × stop-loss matrix with an n ≥ 30 guard, so small-sample flukes could not pass as edge. Every qualifying cell was negative. I wrote the postmortem and stopped.

  • Python
  • FastAPI
  • SQLite
  • React
  • Binance API
  • 22 commits
  • 4,763 lines
  • 71 files
CL_BOT backtest: total return -3.31%, 92 trades, 30.4% win rate, and a falling equity curve over a year
A 365-day backtest re-run in October 2026: BTC/USDT, EMA/RSI crossover, 92 trades, −3.31% after fees.
Working prototype Aug 2026

Niche Discovery

An evidence engine for product ideas

A pipeline that finds underserved e-commerce niches from real public signal rather than guesswork: Reddit, Stack Exchange, Wikipedia, US Bureau of Labor Statistics and YouTube, normalised into comparable entities, then scored and ranked with an explicit confidence measure.

Cost was a design constraint. The expensive AI path is opt-in, each run is metered and pre-flighted against a budget, and free mode is the default — an engine that quietly spends money on speculative research is a bad engine.

  • Python
  • SQLAlchemy
  • Anthropic API
  • SQLite
Open the demo

Read-only snapshot of the 82 stored runs — running new research is off

  • 18,053 lines
  • 5 data sources
  • 106 files
Niche Discovery dashboard: 82 topics analysed, top opportunities with a score, a confidence figure and a verdict each
The dashboard over 82 stored research runs. Every score sits next to how much evidence backs it.
In use Aug – Oct 2026

DZIRI

First words in Arabic, French and English

A picture-card app for small children, built for my own kid — which makes it the only project here with a user who gives completely unfiltered feedback. The parent picks a language and the child's age once; each age then shows what it is learning now, from first words and body parts for a baby to opposites, letters and feelings at four, and what has been mastered drops away. Every age also gets four little picture books: lift the flap, touch to count, and an alphabet book that builds itself in each language.

Every word and story line is read aloud in a female or a male voice, the parent's choice — about 970 clips each, generated once, trimmed, levelled and bundled — and every card is drawn in code. Action cards add a first sentence said by Yusuf or Noor, a boy and a little girl: “Noor is eating”, where the Arabic verb changes with who is doing it. Under each card is one question for the parent to ask, because toddlers learn from a screen mainly when an adult talks with them about it. It works offline once opened. Algerian Darija comes next, word by word with a native speaker: the dialect is specific enough that guessing produces something confidently wrong, so the app does not guess.

  • React
  • TypeScript
  • Vite PWA
  • Offline-first
  • 3 languages
Open the live app

No sign-in — it opens straight into the app

  • 50 commits
  • 6,552 lines
  • 2,019 files
Three DZIRI screens: the home page for a two-year-old, a lift-the-flap story page, and a cat card with a question for the parent
Home for a two-to-three-year-old, a lift-the-flap story, and a card with its question for the parent.
Preview Oct 2026

Crosswell Industrial Sourcing

Oil, gas & industrial sourcing for Algeria

The website for my new company: commercial representation and sourcing that connects industrial suppliers in North America and Europe with procurement requirements in Algeria, with a focus on oil and gas. Three working inquiry forms — supplier partnership, sourcing request, general contact — each validated on the server, stored with a reference number, and alerted by email.

English, French and Arabic, right-to-left included. Nothing on it is invented: no clients, history or credentials the business does not have, and it says plainly what it cannot promise. The contact details are placeholders until launch.

  • Astro
  • TypeScript
  • Cloudflare Workers
  • D1
  • 3 languages
Open the site

Preview — placeholder contact details

  • 40 pages
  • 2,451 lines
  • 77 files
Crosswell Industrial Sourcing home page: the headline Connecting industrial suppliers with opportunities in Algeria beside the logo's two lines, suppliers and procurement, crossing at a seal with the company name
The live preview at tender.yakoub.net. The French and Arabic (right-to-left) versions share the same pages.
Live trial Oct 2026

SlotQuote

Instant quotes, booking and invoices for service businesses

A booking page for cleaners, junk haulers, groomers and other service businesses. The owner sets their prices once; customers answer a few questions, see their exact price, pick a free time and book; and the finished job becomes an invoice the customer can pay online. Owners can also paste one line into their own website to show the calculator there.

One pricing engine serves every trade: a new trade is a data file, not new code. Deposits that hold the slot while the customer pays, reminders for overdue invoices, a private link for customers to move or cancel, and accounts with a username and a password that never leaves the browser, with several businesses on one account. Built to run on free plans, with a strict security policy and customer details deleted on a schedule. Trial: open to a few businesses for now; customer photos and card payments are built and switch on later.

  • Astro
  • TypeScript
  • React
  • Cloudflare Workers
  • D1
  • Stripe Connect
Open the site

Live — try the three demo businesses; bookings there are for testing

  • 185 tests
  • 10,309 lines
  • 151 files
SlotQuote home page: the headline Quote. Book. Get paid. beside a quote card for a cleaning business totalling $275.00 with two time slots, and a paid invoice card
The live home page at slotquote.yakoub.net. Below it, a working calculator for each trade.
Front-end prototype Apr – May 2026

515 Pro Junk Removal

A local service site that quotes before it books

An eight-page site for a Des Moines junk-removal business, in English and Spanish with one toggle that every page remembers. The quote builder prices 30 items across five categories, plus add-ons, senior and military discounts and a $95 minimum, and a ZIP check confirms the address is in the service area.

The estimate carries into a four-step booking flow that ends with a confirmation and an add-to-Google-Calendar link. No framework, no build step, and the shared nav is written in ES5 so older phone browsers still render it. Front end only: bookings are not sent anywhere yet, and the contact details are placeholders.

  • HTML
  • CSS
  • Vanilla JS
  • 2 languages
Open the site

Demo — bookings are not sent, placeholder contact details

  • 8 pages
  • 3,289 lines
  • 11 files
515 Pro Junk Removal home page: the headline Junk removed, stress relieved, done right, next to a list of what they haul
The home page. The quote builder and the booking flow sit behind “Build my quote”.
Front-end prototype Oct 2026

515 Pro Junk Removal (Version 2)

The same site, rebuilt around a truck you fill by tapping

A redesign of the 515 Pro site, kept online beside the original. The home page opens on a cartoon cab-over junk truck: tap a sofa, a fridge or a bag of junk and it drops into the bed while a ticket adds up the listed prices and the $95 minimum. The picks carry straight into the full 30-item quote.

Green and white throughout: a vivid emerald hero, mint washes, a touch of lime and golden review stars, with credited photographs of the Des Moines River, the High Trestle Trail and the Botanical Garden. Spanish reaches every line the scripts write, and on phones the running total rides along at the bottom while you pick. Front end only: bookings are not sent anywhere yet, and the contact details are placeholders.

  • HTML
  • CSS
  • Vanilla JS
  • 2 languages
Open Version 2

Demo — bookings are not sent, placeholder contact details

  • 8 pages
  • 4,183 lines
  • 15 files
515 Pro Version 2 home page in green and white: the headline in white on emerald beside a white card holding a drawn truck with seven tapped items and a $355 total
Seven items tapped in: the ticket adds their listed prices before anything is booked.
Superseded May 2026

StockIQ

The version before TradeWise

My first attempt at stock-analysis tooling: a Python server with a browser front end doing screening and trade planning.

Work stopped on 17 May 2026; TradeWise's first commit is dated 18 May. The verdict logic carried over almost unchanged — TradeWise gives Apple the same SELL — but everything around it was rebuilt: a FastAPI service and a React app with tests, a breakdown of why each verdict was reached, and paper trades you can replay against what the price actually did. It is listed because replacing it was the correct call. Its look was refreshed in October 2026; the analysis behind it is unchanged.

  • Python
  • Vanilla JS
Open the app

No sign-in — archived demo; saved plans are shared and reset on restart

  • 7,764 lines
  • 29 files
  • Archived
StockIQ analysing Apple: a red SELL signal with 91% confidence and a fair value of $157.39 against a $347.73 price, over a dot-matrix background
StockIQ on Apple, October 2026.