Single Page Apps | Cape Town

I build single page apps
that run entirely in your browser.

For businesses that need a focused tool, not a full platform. One workflow, done well, with the data staying on the device. Shorter timelines than a platform build. No infrastructure to host or maintain. 9 years building SPAs since 2017, with seven shipped tools you can use right now as proof.

Tell Me What Your Team Is Doing in Spreadsheets See Seven Examples

9 years

Building SPAs since 2017

7

Shipped tools you can use today

1-4 weeks

Typical timeline

Zero

Infrastructure to host or maintain

When This Is the Right Service

When a single page app is the right shape

Most software work falls into platforms or stacks of plugins. Single page apps are the middle. A focused tool that does one workflow well, runs in the browser, stores data on the device, and embeds in an existing site.

Productise the spreadsheet

The calculator, the estimator, the comparison sheet that everyone keeps a copy of. Make it a tool the team can use without training. The spreadsheet stops being the documentation; the tool itself does the job.

Embed in an existing site

Drop it into your WordPress, Shopify, Webflow or Next.js site at /tools/<x>. No new platform to manage. Your existing host serves it. The integration is at the page level, not the database level.

Free tool as a lead magnet

A public free version drives search traffic and demonstrates expertise. An internal version with private data serves your team. Both are single page apps, built once.

POPIA-friendly by construction

Browser-only means client data does not leave the device. Useful for legal, medical, financial and brand-team operators where compliance posture matters. Backups are JSON files you control.

The Problem

For businesses that need a focused tool, not a platform.

Most buyers asking for "custom software" are choosing between a SaaS subscription with per-seat fees, a stack of plugins held together with effort, and a full custom platform that may be overkill. Single page apps are a fourth option: one workflow done well, in the browser.

The Solution

Purpose-built. Not patched together.

The page you are reading is the offer. The seven tools at /tools are the proof. I build small, focused, browser-only apps that solve one job cleanly. When you outgrow what a single page app can do, the upgrade path is Custom Platform Applications. Until then, this is enough.

What I Build

Single page app shapes I have shipped

Form-rich workflow apps

Multi-section forms with live preview, multi-project workspaces, browser-local persistence, PDF export and JSON backup. The app does the work; the user fills in the inputs.

Typical work: Examples: Free South African Billing App, Free Payslip Generator. Stack: Next.js + IndexedDB + localStorage + browser print.

See the Billing App

Compute-heavy calculators

PERT three-point, weighted, parametric, analogous and fixed estimation methods. Risk register with probability and impact. Amortisation tables. Apples-to-apples comparison from published inputs.

Typical work: Examples: Free Project Estimator, Compound Interest Calculator, Payment Gateway Fee Comparator.

See the Project Estimator

Visual editors with drag-and-drop

Section / column / block trees with sortable behaviour, undo and redo, inline property panels, and a custom block-tree-to-output compiler. The user edits visually; the tool emits the right output format.

Typical work: Example: Email Signature & Template Generator with the drag-and-drop Designer. Stack: @dnd-kit + custom in-browser HTML compiler.

See the Email Signature Designer

Lightweight utilities

Single-purpose tools that do one thing in one screen. URL builders, QR generators, link shorteners, share-link generators. Often the right shape for embedding inside an existing marketing page.

Typical work: Example: PayPal.Me Link Generator with QR code and WhatsApp / email share.

See the PayPal.Me Generator

Single page apps for WordPress

Standalone calculators, configurators, estimators and intake forms hosted at /tools/<x> on your WordPress site. Delivered as a small plugin or as a static page bundle. Optional shortcode for drop-in use in any post or page. The WordPress database is read-only from the SPA; the existing site stays untouched.

Typical work: Stack: React + WordPress REST API (read-only) + shortcode delivery + plugin packaging. If your tool needs to write to the WordPress database, that is Custom Platform Applications.

WordPress Expertise

Single page apps for WooCommerce

Product selectors, configurators and pricing tools that help the shopper before they reach /cart. Reads catalog and price-list data through the WooCommerce Store API in read-only mode. The shopper-side cart and checkout stay untouched. The tool runs in their browser.

Typical work: Stack: React + WooCommerce Store API (read-only) + shortcode or page-template delivery. If your tool needs to create orders, modify pricing or sync with your ERP, that is Custom Platform Applications.

WooCommerce Services

Single page apps for Shopify

Custom calculators, comparison tools, ROI tools and configurators delivered as a Shopify page section, theme block or static page. Reads storefront data through the Shopify Storefront API in read-only mode. No App Bridge required for storefront-only tools.

Typical work: Stack: React + Shopify Storefront API (read-only) + theme section / page section delivery. If your tool needs admin-side integration or App Bridge, that is Custom Platform Applications.

Shopify Expertise
Why This Works

Why a single page app beats a SaaS subscription for one workflow

Data stays on the device

IndexedDB and localStorage keep client data in the browser. POPIA-friendly by construction. Backups are JSON files the user controls. Compliance posture is built in, not bolted on.

Static hosting works

The output is static HTML, JavaScript and CSS. Any host that serves files works. No backend to deploy, no database to back up, no server to keep alive.

Honest scope

A single page app does one workflow well. It is not a multi-user platform. The page tells you that up front so the build matches the buyer expectation. When you outgrow the shape, the upgrade path is Custom Platform Applications.

Projects

Seven shipped single page apps as proof

Next.js | IndexedDB | localStorage | browser-print PDF

Free South African Billing App

Multi-project workspace for invoices, quotes and credit notes. Logo upload, reusable client and item libraries, browser print to PDF, JSON backup with validation on import.

Open the Billing App
Next.js | IndexedDB | UIF compute | A4 PDF

Free South African Payslip Generator

BCEA Section 33 payslip information with statutory UIF calculation against the SARS monthly UIFable-income ceiling. PDF and JSON backup. Built for South African small employers.

Open the Payslip Generator
Next.js | PERT compute | gantt rendering | A4 PDF

Free Project Estimator

PERT three-point, weighted, parametric, analogous and fixed methods. Risk register with probability and impact. Working calendar with weekends and public holidays. Milestone payment schedule, gantt timeline, printable A4 PDF estimate.

Open the Project Estimator
Next.js | @dnd-kit | custom HTML compiler | IndexedDB

Email Signature & Template Generator

Sixteen signature layouts, ten branded email templates, ten disclaimer templates including a POPIA notice, and a drag-and-drop Designer for fully custom email layouts. Custom block-tree-to-email-safe-HTML compiler I wrote because off-the-shelf engines kept silently bailing.

Open the Email Signature Designer
Next.js | computed comparison | published inputs

Payment Gateway Fee Comparator

Yoco, iKhokha, Payfast, Peach, Ozow, Paystack, Zapper, SnapScan and Shopify, side by side, from published inputs. Apples-to-apples pricing comparison without the SaaS pricing-page games.

Open the Comparator
Next.js | amortisation compute | SVG chart

Compound Interest Calculator

Loan repayment breakdown with service fees, finance costs, monthly amortisation tables and an interactive graph. Stateless; nothing persists between sessions.

Open the Calculator
Next.js | QR generation | clipboard share

PayPal.Me Link Generator

Build a PayPal.Me payment link from a handle, an optional amount and currency. QR code generation. Share by WhatsApp or email.

Open the Generator
See all projects ›
Technology

Production-Grade Stack

These are not theoretical skills — I have shipped production applications with all of them.

Stack

Technologies I Use

ReactNext.jsTypeScriptIndexedDBlocalStorage@dnd-kitWordPress REST API (read-only)WooCommerce Store API (read-only)Shopify Storefront API (read-only)WordPress shortcode deliveryShopify theme section / page sectionPostgreSQL (when SPA needs a thin API)Node.js (when SPA needs a thin API)Static hostingBrowser print to PDF
The Practical Frame

A single page app is the version of "custom software" that ships in weeks, not months.

Most "do you build software" conversations end in "let me write you a proposal for a six-month project". A single page app is the smaller, faster, cleaner answer when the workflow is focused. 1 to 4 weeks. Fixed price. Your data stays on your device. The seven tools at /tools are the receipts.

Process

How It Works

1

Discovery first

A 25-minute call. We confirm the workflow, the input, the output, the constraint (browser-only or embedded), and the timeline. That is enough to scope and quote in writing.

2

Scope and price in 48 hours

Written proposal: scope, output format, storage, browser support, timeline, fixed price. No estimate-then-overrun. The price you sign is the price you pay.

3

Build in 1 to 4 weeks

Static deployment. Source handed over with a written manual. Your repository, your hosting, your team. When you outgrow what a single page app can do, the upgrade path to Custom Platform Applications is documented.

Timeline

Typical Engagements

Most single page app projects fall into one of these three buckets:

  • Productise an internal spreadsheet: a calculator, estimator or comparison sheet that the team uses weekly. Build cost: middle band.
  • Embed a free tool inside an existing site: drives search traffic, demonstrates expertise, captures buyer-intent. Build cost: lower-to-middle band.
  • Compliance-conscious workflow tool: legal, medical, financial or brand-team contexts where client data must stay on the device. Build cost: middle-to-upper band, with a written compliance note.
Direct Access

You do not need a generalist selling a six-month build.

You need someone who has shipped seven of these in public, can scope-and-quote in writing, and will hand over source code you actually own. 9 years building SPAs since 2017.

FAQ

Frequently Asked Questions

What is a single page app, in plain terms?

A small program that runs in your browser. You open a URL, the page loads once, and from then on it works like a desktop tool inside your browser. No new tab, no login, no installation. Behind the scenes it is a static React application served as plain HTML, JavaScript and CSS, with the browser itself as the runtime.

How long have you been building single page apps?

9 years. I have been building production single page apps since 2017, across React, Next.js and earlier-generation SPA stacks. The seven shipped tools at /tools are the most recent body of public work.

How is this different from Custom Platform Applications?

Custom Platform Applications are full-stack, multi-user systems with a server, a database, accounts and integrations. Single page apps are browser-only client-side tools that do one workflow well, store data on the device, and embed in an existing site. SPA timelines are 1 to 4 weeks; platform timelines are 6 to 24 weeks. SPA scope is one workflow; platform scope is a multi-user system.

Where does the data live?

In the browser, using IndexedDB and localStorage. Nothing is uploaded to a server unless the tool explicitly needs to. Use the JSON export to back up the data, especially before changing devices or clearing browser data.

Can I embed it in my existing WordPress, Shopify or Webflow site?

Yes. The tool ships as static HTML, JavaScript and CSS. Your existing site can serve it at a path like /tools/<x> with no new platform to manage. The integration is at the page level, not the database level.

How much does it cost?

Typical single page apps ship in 1 to 4 weeks. Indicative range: R 30 000 to R 90 000 depending on scope. Stateless utilities and calculators sit at the lower band. Form-rich workflows with persistence sit at the middle band. Tools that need a custom compiler, a drag-and-drop editor, or significant compute logic sit at the upper band. The exact price is fixed in writing after a discovery call.

What can a single page app not do?

Multi-user concurrent editing across devices. Tenant-wide deployment across an Office 365 or Google Workspace. Server-driven analytics, click-tracking, per-seat billing. Real-time sync across devices. A custom backend or API server. If the workflow needs any of those, the right service is Custom Platform Applications.

Is it POPIA-friendly?

By construction, yes. Browser-only persistence means client data does not leave the device. The buyer is still responsible for what their tool collects and how their team uses it, but the tool itself does not phone home, embed analytics or upload data to a third party. A written compliance note can accompany the build for legal, medical, financial or brand-team buyers who need it.

Can a single page app live on my WordPress site?

Yes. It ships as a small plugin or as a static page bundle. The existing site stays untouched. The SPA lives at /tools/<x> or is shortcode-injected into a post or page. The WordPress database is read-only from the SPA; the SPA does not modify posts, users or any custom data. If your tool needs to write to the WordPress database, that is a Custom Platform Applications conversation.

What about WooCommerce?

Same answer for the storefront. The SPA reads catalog or price-list JSON when it needs to, through the WooCommerce Store API in read-only mode. It does not write to the WooCommerce database. The shopper-side cart and checkout stay untouched. If your tool needs to create orders, modify pricing or sync with your ERP, that is a Custom Platform Applications conversation.

What about Shopify?

Same answer for the merchant storefront. Theme section, page section or static page delivery. Reads storefront data through the Shopify Storefront API in read-only mode. No App Bridge unless the tool needs admin-side data flow; for that scope the right service is Custom Platform Applications.

Why not use a marketplace plugin instead of a custom SPA?

Marketplace plugins handle 80% of common cases. The 20% that does not match your buyer's decision tree is where the marketplace fails. A custom single page app models your specific decision tree exactly and looks like your brand. No per-seat subscription. No vendor lock-in.

Have a workflow your team is doing in a spreadsheet?

Tell me what your team is doing today. I will tell you whether a single page app is the right shape, what scope band it sits in, and how soon I can ship it. No-obligation 25-minute discovery call. Written proposal in 48 hours.