Case study · Machine learning · Serverless AWS

Sixteen days.

A production machine-learning demonstrator — data sourced, model trained, serverless platform live — built in sixteen days of spare time. What it took, what it cost, and the honest arithmetic behind the number.

16Days from idea to live product
4Of those days adding the classifier
0Servers to provision or operate

Built by ICAN’s founder as a personal side project, in a prior senior engineering leadership role.

The premise

A director who missed building things.

Ethscore began as a side project, built on days off from a senior director of engineering role. The objective was not a business — it was to stay technically current and keep hands-on cloud experience alive in a job that had become entirely leadership and management.

The product idea was deliberately narrow: given an Ethereum wallet address, return a trust score. Wallet addresses are public, the transaction history is public, and fraudulent addresses are — sometimes — publicly reported. That made it a tractable problem for a small classifier and a thin web front end.

The constraint that shaped every decision was time. Sixteen days, in fragments, with no team and no budget. Nothing could be chosen because it was architecturally fashionable. Everything had to be chosen because it would be working by the end of the week.

Sixteen days is not a boast. It is the result of saying no to four architectures that would have been better and slower.
What was actually done

Serverless by elimination. Data before algorithm.

A fully serverless stack

The first architecture — a managed application platform — was abandoned on day three. What replaced it: static assets in object storage (Amazon S3), a single serverless function for the compute (AWS Lambda), API Gateway in front of it, and CloudFront exposing everything under one domain. Nothing to patch, nothing to scale, nothing to wake up for.

Where the time actually went

Not the model and not the application — the single largest sink was CDN origins and behaviours: serving a static site and an API under one domain without CORS failures. The reliable pattern in short-cycle delivery: budget for the integration seams, not the components.

Find the data before choosing the method

Twelve of the sixteen days passed with no machine learning in the product at all. A day of research produced roughly 700 wallet addresses publicly reported as fraudulent; spot-checks confirmed the labels were real. Labels available meant supervised, binary classification.

The fastest tool that produces a callable model

The platform-native fraud services were the wrong shape, and the generic route was a project, not a task. The model was trained in Dataiku and integrated with the existing serverless function. Logistic regression was sufficient: interpretable, and it produces a calibrated probability — which is what a trust score needs.

A calibrated probability from a simple model you can explain beats a better score from one you cannot.
The uncomfortable truth

Sixteen days is true. It is also incomplete.

Every velocity claim hides a set of things that were not done. Publishing the number without publishing the omissions is how delivery estimates get corrupted across a whole organisation. Here is what sixteen days bought, and what it deferred.

BoughtDeferred
A live, publicly reachable product with a working end-to-end path from address to score.Model evaluation and monitoring. No held-out test set, no calibration check, no drift detection.
Zero operational burden. No servers, no patching, no on-call.Infrastructure as code. The estate was configured by hand through the console, so it is not reproducible.
A hosted managed dependency doing the ML heavy lifting, integrated in hours.Ownership of the model. A third-party training platform in the request path is a live dependency and a cost line.
A validated hypothesis: on-chain risk scoring is deliverable by a very small team.Everything a customer would require — terms of use, no-reliance language, data lineage, an audit trail on scores.
Ship in days to learn. Never ship in days to depend on.

We apply the same split in client work, explicitly and in writing. A proof of concept is scoped to answer one question and is priced accordingly. Production readiness is a separate engagement with its own deliverables. Conflating the two is the single most common cause of a delivery programme losing credibility in its second quarter.

What it demonstrates

The judgement about what to skip is the product.

Ethscore is a demonstrator, and we describe it as one. What it demonstrates is a specific, saleable capability: taking a risk question nobody has modelled yet, finding or building the labelled data, and delivering a calibrated model on infrastructure the client does not have to operate.

The engineering in isolation is unremarkable. The decision record — a sequence of build-versus-buy calls made under real time pressure, each documented at the time — is what clients actually buy.

Ethscore is an internal demonstrator and research vehicle. Trust scores are probabilistic outputs of a statistical model, are provided for illustration only, and must not be relied upon for compliance, screening or counterparty decisions.

Your risk question next

Tell us the risk question you haven't been able to model.

We'll come back with an honest view of whether the data exists, what a first model could establish, and what production would genuinely require.