Soh Zheng Da · Custom software & AI · Singapore

I build software that saves you time.

Custom software and AI tools for small businesses in Singapore. Most of what I build runs with no server, no install and no IT ticket.

On this page: 82,000 rows costed live in a browser tab · a weekly roster that took an afternoon now takes minutes · 180+ market briefs posted over 90+ days with nobody watching.

Currently taking on one project. Let's talk.
0 Rows costed live in one browser tab
0 Market briefs posted automatically over 90+ days
0 SGD a shipyard saves a year (est.), including the ERP licence it no longer needs
0 Servers, subscriptions or IT tickets for the tools that run offline
01

What these saved

Each row is a real project: what the job used to take, what it takes now, and what that is worth over a year. Estimates use hours per week × 50 weeks × SGD 35/hr and are marked est.

Project Before After What that's worth

Shipyard IMS

Costing stock by hand across supplier workbooks every week. Est. 3–5 hrs, and mistakes cost money.

82,000 rows costed automatically in a browser tab. In daily use at a shipyard.

Est. SGD 15k–30k a year: 150–250 hrs saved, no ERP licence, fewer costing mistakes.

Retail Shift Scheduler

A manager spent an afternoon on the roster every week.

A few minutes. It checks the rules and exports payroll. 135 tests cover the calculations.

Est. SGD 5,250 per store per year. Five stores, about SGD 26k.

excelRAG

Est. 20–30 min to find each answer in contracts and manuals.

A minute or two, with the source shown. One .exe, fully offline, so there is nothing for compliance to approve.

Est. SGD 2,700–4,500 per person per year. Five people, SGD 13k–22k.

Daily Market Reports

Two written briefs a day, est. 1–2 hrs each trading day.

180+ briefs posted to Discord over 90+ days, with nobody running it.

90–180 hrs of writing a quarter. Est. SGD 13k–25k a year.

AdvanceForm

Exporting a CSV and rebuilding the same pivot tables. Est. 1.5–2.5 hrs per event.

The dashboard updates itself as responses come in.

Est. SGD 3,400–5,500 a year for a team running weekly events, including the form-platform fee.

Preschool Scheduler

Writing up the day sheet and retyping it for WhatsApp. Est. 15 min every morning.

One click. Formatted and ready to send.

About 65 hrs a year, est. SGD 2,000 at SGD 30/hr.

Estimates use SGD 35/hr over ~50 working weeks (SGD 30/hr for the preschool). Licence and subscription savings use typical market rates.

02

How we'd work together

  1. 1

    Show me the chore

    A short call, or you walk me through the task. If I don't think a tool is worth building, I'll say so then.

  2. 2

    Working prototype in days

    Something you can click through, using your actual workflow. It runs on your machines, so there's no IT project involved.

  3. 3

    Offline once, online on retainer

    If it runs on your own machines with no server or accounts, you can buy it once and own it. Anything online (a backend, a database, hosted APIs, scheduled jobs) is retainer only, because API keys change and platforms update, so it needs maintaining. The retainer works out cheaper either way.

Tell me what's taking your time

03

About

Portrait of Soh Zheng Da Your photo →
assets/profile.jpg

I'm Soh Zheng Da, an engineer in Singapore. I work out which task is costing your team hours each week, then build something that handles it. The table above is what that has been worth so far.

04

Things I've built

Working tools, not concepts. Filter by category, and open anything marked Live demo to try it now. No sign-up.

Screenshot of the Drydock Shipyard IMS dashboard with live inventory and cash-flow data
Web & product SGD 15k+ est. all-in / year

Shipyard IMS

A shipyard used to spend hours a week costing stock by hand. Now it happens automatically across 82,000 rows, with no server, no subscription and no ERP licence. There's also a cloud version that syncs between editors in under a second and exports back to the offline copy.

  • Vanilla JS
  • Cloudflare Workers
  • D1
  • TypeScript
Case study
Screenshot of the AdvanceForm response dashboard
Web & product 1 prompt → live dashboard

AdvanceForm

Describe a form in plain English, share the link, and the dashboard builds itself as responses come in: KPIs, attendance grids and a roster that respects capacity. No more exporting a CSV and rebuilding the same pivot tables. The same frontend runs on either of two backends.

  • Vanilla JS
  • Cloudflare Workers
  • D1
  • Gemini
Live demo Case study
Screenshot of the TutorDesk Cloud studio dashboard
Web & product 1 account, 0 spreadsheets

TutorDesk Cloud

Everything a freelance tutor usually keeps in separate files: invoices, grades, lesson plans and tax records, in one account that stays in sync. Desktop, phone and admin views update in real time, and each tutor's data is isolated at the database level.

  • Supabase
  • Postgres RLS
  • Svelte
  • Vite
Live demo
Screenshot of the S&P 500 backtester on Hobo Finance
Finance & quant 25 yrs tested, $0 risked

S&P 500 Backtester

Tests whether a trading strategy would have made or lost money over 25 years of market data, before you risk anything. A web app and a Streamlit dashboard with technical indicators, ready-made strategies, equity curves and performance metrics. Cash, commission and slippage are all configurable.

  • Python
  • backtesting.py
  • Streamlit
  • yfinance
Live demo
Screenshot of the SG FIRE Dashboard
Finance & quant 1 file, 0 subscriptions

SG FIRE Dashboard

Works out when you could stop working. CPF, income, housing and Lean/Fat FIRE targets, modelled in one file that opens anywhere, charts included. No subscription and no spreadsheet to build.

  • HTML
  • CSS
  • JS
  • Chart.js
Live demo
Screenshot of the Retail Shift Scheduler roster app
Workforce systems SGD 5k est. / store / year

Retail Shift Scheduler

Building the weekly roster took a manager an afternoon; now it takes minutes. Worth est. SGD 5,250 per store per year in manager time. Handles coverage rules, leave, per-department duties and payroll export, offline in a browser, with 135 automated tests.

  • Vanilla JS
  • Canvas
  • IndexedDB
  • Playwright
Live demo Case study
Web & product 20 messages → 1 answer

Makan Go Where

Settles the "where should we eat?" group chat, which usually takes 15–30 minutes. Friends join from a link with just a name, no signup or install, and it ranks places so everyone's travel time is about equal. A second mode picks the fairest MRT station for the group instead.

  • Next.js 16
  • React 19
  • Supabase
  • Google Maps
Case study
AI & automation SGD 0 /month in AI fees

excelRAG

Finding an answer in your contracts and manuals takes 20–30 minutes by hand; this does it in a minute or two. Drop in PDFs and ask questions, and a local model answers from the documents. It runs fully offline from a single .exe, so there's no API bill and nothing for compliance to review.

  • Python
  • Flask
  • Sentence-Transformers
  • GGUF
Case study
AI & automation 180+ briefs, 0 touches

Daily Market Reports

Two scheduled AI agents write a morning brief and an end-of-day wrap on the S&P 500, the Nasdaq, the Mag 7 and the macro picture, then post them to Discord. Over 180 briefs so far, across 90+ days without anyone running it.

  • Claude agents
  • Python
  • Discord
Stylised tile for the Hermes personal AI agent: a friendly robot face
AI & automation 20 skill packs, one rig

Hermes — Personal AI Agent

A self-hosted AI agent running on my own GPU box: 20 skill packs covering finance, research, email, smart-home and computer use, plus scheduled jobs, persistent memory and a multi-channel gateway. The same machine runs the chatbot on this site. Setting it up as a PA for someone else is still in beta Beta. It's buggy in places and the integrations aren't finished, so it's early testers only.

  • Local LLM
  • Python
  • Cron
  • Self-hosted
AI & automation 1 drop, whole folders

PDF to Markdown

Converts a whole folder of PDFs to clean Markdown in one batch, including scanned pages that most converters can't read. Built for and used on real technical documentation.

  • Python
  • Tkinter
  • PyMuPDF
  • OpenAI
Finance & quant v6 live, risk-managed

SafeQuantEA

An automated MetaTrader 5 robot built around risk control first: multi-timeframe trend analysis, position sizing tied to account risk, ATR-based stops, and a losing-streak detector that flips the trend bias.

  • MQL5
  • MetaTrader 5
Workforce systems 0 email-thread disputes

Manpower Integrated Scheduler

The scheduler rebuilt for larger teams: shift swaps and disputes handled in the app instead of over email, with offline-first sync, drag-and-drop assignment and an audit log showing who changed what. Installable as an app.

  • React 19
  • TypeScript
  • dnd-kit
  • Vite
Stylised tile for the options analytics dashboard: candlesticks and an implied-move curve
Finance & quant 1 file, full options chain

Options Analytics Dashboard

Type a ticker and the options chain becomes a decision: expected-move bands, option-implied support and resistance walls, and live Greeks, drawn on a hand-rolled canvas chart in one self-contained HTML file talking straight to a brokerage API.

  • Vanilla JS
  • Canvas
  • Brokerage REST API
Stylised tile for the real-time 3D ops console: a wireframe globe with tracked objects
Web & product 100s of live objects in 3D

Real-time 3D Ops Console

A live operations console that tracks hundreds of moving objects on an interactive 3D globe and 2D map: live public data feeds with automatic offline fallback, an AI copilot that calls verified math tools instead of guessing, and a dependency-free Node backend with role-based access and an append-only audit log.

  • WebGL
  • Vanilla JS
  • Node (zero-dep)
  • LLM tool-calling
Stylised tile for the offline RAG toolkit: stacked documents with a search cross
AI & automation 0 cloud calls

Offline RAG Toolkit

Chat with a private document set with zero cloud: local embeddings, a local vector store and a local 7B model in a portable folder that runs without installing anything. Optional QLoRA fine-tuning bakes your domain in. excelRAG's heavier sibling.

  • Python
  • ChromaDB
  • Ollama
  • QLoRA
Stylised tile for the fair-share supply allocator: three equal shares above a distribution line
Web & product 1 file plans the whole event

Fair-share Supply Allocator

Plans each day's food and supply distribution across attendee groups for a multi-day event: a round-robin fairness engine with a carry-over pool so nobody is short-changed twice, in one self-contained HTML file anyone can open, use and back up.

  • Single-file
  • Vanilla JS
  • localStorage
Stylised tile for the AI image-to-video pipeline: a photo frame flowing into a play button
AI & automation 2 models, photo to video

AI Image→Video Pipeline

Turns a product photo into styled model shots and a short video clip with audio: diffusion image-editing chained into image-to-video generation, tuned to run on local GPUs instead of paid APIs.

  • ComfyUI
  • Diffusion
  • Local GPU
05

Hobbies & interests

What I do when I'm not at a screen.

Cycling

I ride daily, commuting and doing weekend loops on a Specialized Sirrus and a TRINX foldable.

Homelab

I run my own NAS and Docker stack, build PCs, and write Python and VBA for fun as well as work.

Photography

I travel with a full camera kit. Most recently around Fuji and Tokyo.

Gaming

Xbox at home, and lately building games in Roblox.

Investing & FIRE

I write my own Python backtests and systematic strategies. Mostly low-cost ETFs and options.

Fitness

I run, train, and eat a lot of protein.

Travel

I go to Japan a lot.

Style

I like plain, well-made clothes.

Tell me what's taking your time.

If your team repeats a task every week that software should be handling (a roster, a report, a reconciliation), tell me about it. I'll give you an honest view on whether it's worth automating and roughly what you'd get back, in hours and dollars. As a rough guide, three hours a week is about SGD 5,000 a year of someone's time (est. at SGD 35/hr), and that's one task in one location. Most of the tools here took days to build, not months. Happy to just talk shop too, or bikes, cameras and markets.