One developer.
Five live products.
Zero handoffs.

Product engineering, shipped.

5
live products
203
tests passingPrompt Intelligence Studio test suite
0
backends by default
Live · runs in your browser

Prompt quality, scored locally.

Example prompt

Example prompt

“write me a blog post about coffee”

29

High risk

6 issues found

Example prompt

“Role: Senior technical writer. Objective: Draft a launch announcement for our new API rate limiting feature. Context: Audience is backend engineers already using our API. Requirements and constraints: 200-300 words, professional tone. Output format: Markdown with a heading, two short paragraphs and a bulleted list of changes. Quality check: Before finalising, verify every claim against the supplied release notes.”

89

Low risk

0 issues found

Score your own prompt

Requires JavaScript — scored entirely in your browser, nothing is sent anywhere. Without it, this box is just a box.

Products

Five live products.

  1. 01Live

    Prompt Intelligence StudioFlagship

    Quality-control platform for AI prompts.

    AI Tooling203 tests passing across the full suite
    Visit pis-platform.pages.dev (opens in a new tab)
    More detail

    Problem

    A prompt's quality is invisible until the model's answer already reflects it — by then a request has been spent, and it isn't obvious which ingredient of a good prompt (a clear goal, context, constraints, structure, an output format, a way to check the result) was actually missing.

    Approach

    Paste a prompt and score it across seven categories — clarity, context, specificity, constraints, structure, output format and reasoning — with issues flagged and an optimised rewrite offered.

    Decision

    Local Rules mode scores deterministically in the browser, for free, with nothing sent anywhere. BYOK ('bring your own key') mode adds a model-assisted rewrite using a key the visitor supplies, which never leaves the browser.

    Notable detail

    The local scorer has no React coupling and no runtime dependencies — a portable pure function, which is what makes it possible to run the same logic in this portfolio's hero.

    203
    tests passing across the full suite
    7
    prompt-quality categories scored
    16
    of those, on the local analyser alone
  2. 02Live

    FreeBarcodeTools FBA

    Browser-only barcode and label tools for Amazon FBA sellers.

    Seller Tools
    Visit freebarcodetools.com (opens in a new tab)
    More detail

    Problem

    Amazon FBA sellers need compliant FNSKU labels (Amazon's own barcode identifying each unit in its fulfilment centres) and print-ready sheets, without paying for label software or creating an account.

    Approach

    FNSKU generation, A4 offset printing and bulk CSV labelling all run client-side — no logins, no data stored.

    Decision

    Kept the whole toolset client-side rather than adding a backend, so seller data never has to leave the browser.

    Notable detail

    Built on WordPress and PHP rather than a JS framework — the pragmatic choice for a tool that needs to be indexable, fast to load, and easy to extend page by page.

  3. 03Live

    Mizaanly

    Free Islamic inheritance (Faraid) calculator for UK Muslim families.

    Legal & Compliance4 Sunni madhabs supported
    Visit mizaanly.com (opens in a new tab)
    More detail

    Problem

    UK Muslim families settling an estate need a Sharia-compliant inheritance breakdown, and the underlying Faraid rules — which vary across the four Sunni madhabs — aren't something a generic calculator can get right.

    Approach

    Calculates each heir's share according to the correct madhab, and can generate a solicitor-ready instruction letter as a PDF.

    Decision

    Every heir's share carries its Quranic reference, not just a number — the citation is what makes the result checkable, not just convenient.

    Notable detail

    Supports all four Sunni madhabs as genuinely different rule sets, not one ruleset with a variable applied.

    4
    Sunni madhabs supported
  4. 04Live

    TidyTextAI

    BYOK AI writing and translation tool across 44 languages.

    AI Tooling44 languages supported
    Visit tidytextai.com (opens in a new tab)
    More detail

    Problem

    AI writing tools that hold your API key and route your text through someone else's server ask for a lot of trust you can't verify.

    Approach

    Edits and translates across 44 languages using your own API key, with translation notes on every key decision and full prompt transparency, and no data leaving the browser.

    Decision

    Chose full prompt transparency over a polished black-box UI — the visitor can see exactly what's being asked of the model, not just the result.

    Notable detail

    No subscription: BYOK means the running cost is whatever the API usage actually costs, not a markup.

    44
    languages supported
  5. 05Live

    RightToRentLog

    Browser-based documentation tool for English landlords.

    Compliance
    Visit righttorentlog.co.uk (opens in a new tab)
    More detail

    Problem

    English landlords must run Right to Rent checks and track follow-up dates under Home Office guidance, and getting a follow-up date wrong is a compliance risk, not an inconvenience.

    Approach

    Records each Right to Rent check, calculates the correct follow-up date under the Home Office 'later of' guidance, and generates a printable audit trail for the tenancy file.

    Decision

    Implemented the Home Office 'later of' date logic directly rather than a fixed-interval reminder, because that's the actual rule landlords are held to.

    Notable detail

    Client-side only, like FreeBarcodeTools — tenancy data never leaves the browser.

Product stories

Two products, in depth.

Study 01 / 02

Prompt Intelligence Studio

Scoring a prompt without sending it anywhere.

203
tests across the full PIS suite
16
of those, on the local analyser alone
7
scoring categories
Read the full case study

Problem

A prompt's quality is invisible until the model's answer already reflects it — by then a request has been spent. It isn't obvious in advance which of the things a good prompt needs (a clear goal, context, constraints, structure, an output format, a way to check the result) was actually missing.

Decision

Score locally, by default. Instead of routing every prompt through an API to grade it, the core scoring path is a deterministic, dependency-free function. It reads for verbs, headings, lists, constraint language and verification phrasing, and produces the same score for the same prompt every time, for free, with nothing sent anywhere. A separate BYOK mode exists for a model-assisted rewrite, and only that mode touches the network — using a key the visitor supplies that never leaves the browser.

Implementation

The module has zero runtime imports (one import is types-only and fully erasable), no React coupling, no browser APIs and no network calls — it's a pure function over a string. That portability turned out to matter beyond the product itself: this portfolio's hero runs the same scoring path client-side, extracted and pinned against fixture output, to demonstrate the product instead of describing it.

Result

Two prompts asking for the same thing score very differently under the seven categories — a loosely specified request scores 29/100 with six issues flagged, while a structured version of the same request scores 89/100 with none. The gap is the argument, made in one comparison.

Study 02 / 02

Mizaanly

A calculator that shows its working, not just its answer.

4
Sunni madhabs supported
Read the full case study

Problem

Islamic inheritance law (Faraid) isn't one fixed formula — the shares owed to each heir differ across the four Sunni madhabs, and a family settling an estate needs a breakdown they and their solicitor can actually check, not just a number to trust.

Decision

Every heir's share carries its Quranic reference, not just a number. That's the product decision that matters here: a number without its source isn't verifiable, and this is a domain where being checkable counts for more than being fast.

Implementation

The calculator supports all four Sunni madhabs as genuinely different rule sets rather than one ruleset with a variable applied, and produces an optional solicitor-ready instruction letter as a PDF — an artifact a family can actually hand to a solicitor, not just a result on screen.

Result

A free, Sharia-compliant Faraid calculator where every heir's share carries its Quranic reference, and exports a document a solicitor can act on.

Numbers

The proof, in figures.

5
live products
203
tests passingPrompt Intelligence Studio test suite
0
backends by default

How I build

Static-first, by default.

  1. 01Static-first architecture.
  2. 02No backend unless the problem actually needs one.
  3. 03Product, design, code, SEO and deployment — one person, start to finish.
  4. 04Data stays in the browser wherever possible.
  5. 05No accounts forced, no dark patterns.

Capabilities

What each product proves.

Languages & Frameworks

  • JavaScript / TypeScript
  • React
  • Astro
  • Vite
  • PHP
  • WordPress

Demonstrated inPrompt Intelligence Studio, FreeBarcodeTools FBA

Infrastructure & Deployment

  • Cloudflare
  • static-first architecture
  • zero-backend by default
  • pnpm workspaces

Demonstrated inPrompt Intelligence Studio, FreeBarcodeTools FBA, TidyTextAI, RightToRentLog

AI & LLM

  • Prompt engineering
  • OpenAI
  • Anthropic
  • Gemini
  • OpenRouter
  • BYOK security patterns
  • local-first analysis

Demonstrated inPrompt Intelligence Studio, TidyTextAI

SEO & Content

  • Technical SEO
  • Schema.org
  • Core Web Vitals
  • programmatic content

About

About.

I'm Maruf, working under the name builtbymaruf. I build focused, single-purpose web tools end to end — product, design, code, SEO and deployment — without a team, a spec doc, or a backlog.

Every project is live, in active use, and shipped by one person. The common thread: static-first architecture, no backend unless the problem actually needs one, and tools that respect the person using them — no accounts forced, no dark patterns, data that stays in the browser wherever possible.

Contact

Building something? Let's talk.

This form posts to a Cloudflare Worker. Nothing is stored beyond sending the message on to me. Or email directly: hello@builtbymaruf.com.