JA / 2026

Digital creator / problem solver

Welcome to
Jonathan Adewale's
Portfolio

I build thoughtful digital experiences with a sharp eye for detail and a curious mind for what comes next.

Explore the work
Press the spacebar to test the API

A few things in motion.

01 / BUILD

Event Platform API

An event platform API that creates, updates, deletes and lists events, and can fetch any event by its ID. Increments are handled atomically. My best one yet.

02 / SHIP

Event Booking API

Built in the company of amazing tech fellows at Bethechified.

03 / EXPLORE

More on GitHub

For experiments, collaborations or case studies, head to my GitHub.

What I do.

01 / API

Build useful APIs.

Reliable endpoints for creating, updating, listing, and connecting the data your product needs.

02 / WEB

Shape the experience.

Clear, responsive interfaces that make complex products feel simple to use.

03 / CONNECT

Make systems work together.

Integrations and automations that move information where it needs to go.

Xeno Shield API.

A defensive API for websites and apps. It does two jobs: quarantine bad data before it reaches your database (SQL injection, XSS, path traversal, log4shell, obfuscated payloads, even encoded evasions), and stop abuse before it reaches your users (brute force, credential stuffing, password spraying, distributed attacks) with bans that escalate on repeat offenders. It runs entirely in your browser and speaks real HTTP semantics. Fire the recipes, launch a simulated attack, edit anything, or open devtools and call xeno.fetch('/v1/quarantine'). Prefer a terminal? Test both with curl →

  • 8 detector families
  • Evasion-proof (URL-decode, Unicode)
  • Reviewer state machine
  • Brute force + stuffing + spray
  • Escalating bans
  • Tunable policies
  • ETag + If-Match
  • RFC 9457 errors
  • Idempotency-Key
  • Keyset pagination
RequestCtrl + Enter to send
Awaiting transmission…

            
Quarantine
Captured dataThreatReviewHits
Bans
SubjectStateBlocked
Traffic
  • No traffic yet.

Roodie Insuretech API.

How an insurer actually handles a claim, as an API. File a claim and the engine checks the policy (active, in force, waiting period, coverage, exclusions, filing window), works out what would be payable after the deductible, coinsurance and remaining limit, scores it for fraud with every red flag spelled out, then routes it: straight-through approval, an adjuster, special investigations, or automatic denial. Adjusters decide and pay; claimants edit, appeal and withdraw. I built it because I study insurance and write backends, and this is where the two meet. Click a claim to see why it was routed the way it was, or run a scenario. Run it with curl instead →

  • Straight-through processing
  • Explainable fraud scoring
  • Claimant / adjuster roles
  • Idempotent payouts
  • ETag concurrency
  • Appeals + audit trail
  • Loss ratio KPIs
  • RFC 9457 errors
RequestCtrl + Enter to send
Awaiting transmission…

            
Claims
ClaimAmountFraud riskStatus
Policieslimit used (paid + reserved)
PolicyholderStatusCover used
Why this decision?selected claim
Traffic
  • No traffic yet.

Prefer a terminal?

Both APIs also run as a real HTTP server you start on your own machine. Clone the repo, run one command, and hit them with curl. The PDF guide walks through 46 commands for both APIs, and every one was executed against the live server, so the results it shows are real.

Quick startNode 18+ and curl

1. Get the code

git clone https://github.com/Roodie77/jonathan-portfolio.git
cd jonathan-portfolio

2. Start the server (leave it running)

node server.js --fresh

3. In a second terminal, load the helpers and make your first call

source scripts/curl-helpers.sh
api $INS

The server listens on localhost only, so nothing is exposed to the internet. On Windows use Git Bash or WSL.

Inside the guide13 pages · 46 verified commands

Roodie Insuretech API

  • File claims and watch them routed: straight-through, adjuster, fraud review, auto-denied
  • A blind write refused (428), a wrong role (403), a stale read (412)
  • Pay a claim, retry it safely, then try to pay it twice
  • Appeals, documents, withdrawals and the loss-ratio report

Xeno Shield API

  • Screen form fields for SQL injection and XSS, including double-encoded evasion
  • Review the quarantine and see the state machine refuse illegal moves
  • Fire a real brute-force loop: 200 200 429 429 403 403…
  • Password spraying across many IPs, caught by the password fingerprint
Preview the guide without leaving the page

Ideas, made useful.

Jonathan, backend developer, JavaScript core, web designer and insurance student. He builds websites, applies security best practice and upgrades existing infrastructure.

I'm Jonathan Adewale, a developer and creative thinker focused on making the web more useful, expressive, and human.

API onlineConnecting to the Xeno Shield… Test it →
Connecting to the Roodie Insuretech API… Try it →