Custom software development

Software built for one company, and it is yours.

Real-time 3D configurators, interactive vector work, tour platforms and the integration layers between an ERP and everything else. Fixed scope where the work can be described, retained where it cannot.

In short

What does ZYNTEIRO build?

ZYNTEIRO is a software engineering company in Batu Pahat, Johor, Malaysia. We build custom web applications for companies that have outgrown off-the-shelf software: real-time 3D and WebGL product configurators, interactive vector animation, 360° and VR tour platforms, and integrations between ERP systems, marketplaces and payment providers. The client owns the source code from the first commit. We also operate zynAIR, a managed Odoo 18 Community service.

The work

Every case has a write-up, including the parts that went badly.

Client work is named with permission. Two of these are studio pieces with no client behind them — they are labelled as such, because a portfolio that does not distinguish the two is not a portfolio.

A hairline quotation document with toggled line items.
live · toggle the options
Sales tooling · Reference build

Ledger — a quotation as a web page

Optional lines toggle, quantities move within agreed bands, and every change is re-priced by the ERP rather than by the page.

OdooQuote to orderNo runtimeLive
Read more
A hairline process schematic with instrument bubbles.
live · seven tags
Live systems · Reference build

Muster — a plant telemetry wall

Seven instrumented tags, band-based alarms, and a documented action on every one that has them. Inject a fault and watch it escalate.

SVGLive dataAlarmsNo runtime
Read more
An isometric exploded view of a gearbox drawn in hairlines.
live · scroll-scrubbed
Interactive vector · Studio piece

Section — scroll-scrubbed exploded assembly

Isometric line art generated from a parts table, driven by one scalar. Scroll it, drag it, or play it.

SVGIsometricScroll-linked6.9 kB
Read more
A schematic instrument: pump, valve, vessel and a gauge, drawn in hairlines.
live · state machine
Interactive vector · Studio piece

Signal — a vector state machine with no runtime

Four states, three animated channels, one exponential mixer. Drag the demand slider and watch nothing overshoot.

SVGState machine12.8 kBNo dependency
Read more
The Powertechnic home lift configurator: a 3D lift car in a glass shaft with a configuration panel on the right.
app.premiumhomelift.com.my
Real-time 3D · Client work

Powertechnic — live 3D home lift configurator

Four models, up to six landings, sixteen configurable surfaces and sixty-six finishes, rendered live in the browser.

Babylon.jsglTFKTX2Vite
Read more
A hairline diagram of local storage with an offsite replica.
storage that stays put
Solutions · Infrastructure

Nextcloud for a design studio

Terabytes of renders and site photography, kept forever, read rarely. The economics of putting it back on your own hardware.

NextcloudStorageOn-premiseBackup
Read more
The WeFresh logo animating: the fruit outline and leaves draw themselves, then the wordmark appears.
wefresh.my
Brand motion · Client work

WeFresh — the logo as the loader

The loading screen is the most-repeated moment in a grocery shop. We gave it to their own mark, drawing itself in 75 frames.

Brand motionGIFOdoo website3.00 s cycle
Read more
A live Hyunix tour: an overhead panorama of Nirvana Memorial Park Kulai with twenty-one hotspot markers laid over the columbarium halls.
tour.hyunix.asia
360° / VR · Partner work

Hyunix — 360° and VR tour platform

Temples, memorial parks, showrooms and developments across Johor. Their brand and their camera; our platform underneath.

360°WebXRWhite labelHosting
Read more
A pupil in the school's yellow uniform standing at the wall-mounted facial recognition screening terminal, photographed from behind, with an engineer steadying the device by its bezel.
Batu Pahat · 2020
Solutions · Hardware

Facial recognition screening at a school gate

A donated screening terminal, specified and installed by us. What hardware deployment teaches that software does not.

Access controlHardwareDeploymentSchools
Read more

Capability

What we are actually good at.

Written as a list of things rather than a list of logos, because a technology list tells you nothing about whether a supplier has shipped anything with it.

Real-time 3D and WebGL

Product configurators that render on a mid-range phone, because the texture budget was written down before anything was modelled.

  • Babylon.js, WebGL 2
  • glTF geometry, KTX2 / Basis textures
  • Parametric assemblies, not one mesh per variant
  • Shareable configuration in the URL

Interactive vector

State-machine motion and technical illustration in hand-written SVG, themed by the same tokens as the page around it.

  • No Rive or Lottie runtime where one is not justified
  • Generated geometry from a parts table
  • Scroll-scrubbed without hijacking the scroll
  • Reduced-motion honoured properly

Integration

The layer between systems that each believe they are the system of record.

  • Odoo, marketplaces, payment, logistics
  • Idempotent, retryable, observable
  • Failures that a named person sees the same day
  • Contract tests, not hope

Performance work

Pages that are fast for the customer who has the most data, not for the demo account.

  • N+1 and query-count analysis
  • Asset and texture budgets
  • Measured before and after, always
  • Tested against real record counts

Platforms behind a brand

Technology delivered under a partner’s name, where the craft belongs to them and the hosting bill does not.

  • White-label delivery
  • Per-client subdomains
  • Attribution enforced by the platform
  • Clear ownership boundaries in writing

The thing beside the ERP

Where Odoo genuinely does not fit, a small application beside it beats a large customisation inside it.

  • Shop-floor and warehouse tools
  • Customer-facing portals
  • Field and offline-first applications
  • We will tell you which side of the line you are on

How an engagement runs

You see something running in the first month.

No discovery phase that produces only a document, and no invoice for a status report. If we cannot get a slice onto a staging URL early, the scope is wrong.

01

Scoping call

With the engineer who would do the work. We tell you if this is not for us.

  • Written problem statement
  • Rough order of magnitude
  • No charge
02

Discovery

Process mapping, technical assessment, and a quote you can hold us to.

  • Process map — yours to keep
  • Fixed-scope quote
  • Named risks
03

Build

Weekly builds on a staging URL. You review the running thing.

  • Staging environment
  • Weekly release notes
  • Your repository
04Ongoing

Launch and after

Cutover, handover, and a retainer only if you want one.

  • Runbooks and training
  • Monitoring
  • Support plan

Fixed scope

A defined deliverable, a fixed price, a date. Correct when the work can be described precisely — which is more often than the industry admits.

  • Priced after discovery
  • Change requests quoted separately
  • You know the number before it starts

Retained

A monthly block of engineering capacity against a moving backlog. Correct when priorities genuinely shift.

  • Monthly capacity, prioritised by you
  • Unused capacity discussed, not hidden
  • Cancellable with notice

Assessment

A paid look at an existing codebase or a stalled project, producing an honest written verdict.

  • What it does and what state it is in
  • The first three things to fix
  • Sometimes: keep your current supplier

Questions

The ones that decide whether to call.

The honest answer is that the range is wide enough to be useless without scope, so we quote after discovery rather than before it. What we can commit to up front is the shape: a paid discovery that produces a process map and a fixed-scope quote, and you own that map whether or not you continue with us. A project that cannot be described precisely enough to quote is a project that should not be started.

You do, from the first commit, in your own repository. We do not hold source as leverage and we do not licence you your own software. Where we reuse something we have built before, it comes to you under a licence stated in the contract before you sign, not discovered at the exit. Ask every supplier this question and get the answer in writing.

Both. Taking over someone else's codebase starts with a paid assessment that produces a written statement of what it does, what state it is in and what the first three things to fix are. We would rather tell you the honest version early than discover it at month four, and occasionally that assessment concludes the right move is to keep the current supplier.

Whatever the problem argues for, with a strong bias toward boring, well-supported choices. Real-time 3D on Babylon.js and WebGL 2 with glTF and KTX2 assets. Interactive vector work in hand-written SVG where a runtime is not justified. Python and PostgreSQL on the server, because that is what Odoo is and most of our work touches it. We do not choose a stack because it is new; we choose it because someone will still be able to maintain it in five years.

Discovery first, and it is paid, because a schedule produced before anyone has looked is a guess. After that the commitment we make is not a date but a shape: a first useful slice reaches a staging URL you can open long before full delivery, and you review the running thing rather than a status report. We give you a schedule once there is a written scope to hang it on — and anything quoted as a duration without a discovery phase behind it is a guess wearing a suit.

Yes — ZYNTEIRO TECHNOLOGY SDN. BHD., in Batu Pahat, Johor. We work across Malaysia and Singapore. For implementation work that touches a factory floor, a warehouse or a shop, being able to stand in the room matters more than most clients expect it to.

Tell us what you are building.

A conversation with an engineer. If it is not something we should build, we will tell you that and suggest who should.