AIEE.DEVSOQ TMS CRD
HomeExport PDFOverview

Contents

/
  • 1.1Overview
  • 1.2About AIEE.DEV
  • 1.3Parties & sign-off
  • 2.1Plan SOQ-25K
  • 2.2Max claim (EDG)
  • 2.3Rate card
  • 3.1Discovery pack
  • 3.2Brand & website appendix
  • 4.1Attachment A
  • 4.2PRD
  • 4.3Solution overview
  • 4.4Registration
  • 4.5Admin
  • 4.6CRM & sales
  • 4.7Student & trainer portals
  • 4.8SWDA & finance
  • 4.9Platform
  • 4.10Chat agents
  • 4.11Ops modules
  • 4.12Business benefits
  • 4.13DSMR research
  • 4.14Build vs buy
  • 4.15Market & competitors
  • 5.1Project control plan
  • 5.2Prototype & screens
  • 5.3Capability roadmap
  • 5.4UI/UX
  • 5.5Frontend
  • 5.6Backend
  • 5.7Architecture
  • 5.8Tech spec
  • 5.9Directory structure
  • 5.10Handover pack
AIEE.DEVSOQ TMS / Coding Requirement Documentation
ALL / Full CRD · 34 Sections
Pei Han CCO / Eddy CPO / HK CSO / Andy Koh CTOaiee.devCRD v1.0 / Confidential

AIEE.DEV

Export Full CRD

All 34 sections in one AIEE.DEV branded PDF — cover page, Overview, engineering, pricing, running headers.

AIEE.DEV
AI Enterprise Engineering / aiee.dev
CRD / Coding Requirement Documentation

SOQ Training Management System

Overview, requirements, implementation topology, engineering specifications, pricing, and grant guidance for SOQ International Academy — prepared by AIEE.DEV.

CustomerSOQ International Academy
Prepared byAIEE.DEV — Pei Han (CCO), Eddy (CPO), HK (CSO), Andy Koh (CTO)
Version1.0 Proposal / September 2026
Start00 / Overview / summary, key points, TOC, SWDA explainer
Pei Han / Eddy / HK / Andy Koh (CTO) / Engineering squad
Confidential — prepared solely for SOQ. All prices SGD excl. GST.
Section 01

1.1 Overview

SOQ TMS CRD — executive summary and navigation. Start here.

Executive summary

One TMS for diploma, short, and WSQ — registration, admin, CRM, student/trainer portals, SWDA, Xero.

DeliverDetail
AppsAdmin - Student - Trainer - Public catalogue
ServicesSWDA Hub - Xero adapter
OfferPlan SOQ-25K — US$25,000 - 28 days - 100% source
GrantsMax claim: EDG ~50% -> ~US$12.5k net (2.2) — apply before Day 7 invoice - not PSG

Package

US$25k

All-in

Apps

4

Admin - Student - Trainer - Public

Integrations

2

SWDA - Xero

Source

100%

SOQ owns IP

Leadership: Pei Han (CCO) - Eddy (CPO) - HK (CSO) - Andy Koh (CTO) — 1.3


Board key points

  1. One student - one course - one order across all surfaces
  2. WSQ evidence at source — not rebuilt at claim time
  3. TMS owns pricing - Xero owns GL — 4.3
  4. SWDA Hub isolated — 4.8
  5. Commercial: 2.1 SOQ-25K - EDG max claim ~US$12.5k net - 2.2 Grants - 15% handoff - 10% retention
  6. Control: 5.1 — gates - RACI - 28-day Gantt
  7. Handover: 5.10 - Discovery: 3.1 before prototype

SWDA in one minute

SWDA = Skills and Workforce Development Agency (SSG + WSG merged Jul 2026). SOQ is an ATP — WSQ courses need TPGateway for subsidies and SkillsFuture Credit.

TermMeaning
SWDA HubOur TMS adapter for government APIs
WSQ / SFCTrainee course funding
EDGGrant that may co-fund building the TMS — ~50% max claim -> ~US$12.5k net on Plan SOQ-25K (2.2)

Detail: 4.8 SWDA & finance - 4.1 Attachment A 7


How to read this CRD

Journey order: Why -> Deal -> Inputs -> Requirements -> Delivery.

#ChapterStart here
1Start hereThis page - 1.2 About AIEE.DEV - 1.3 Parties & sign-off
2Commercial2.1 Plan SOQ-25K - 2.2 Grants - 2.3 Rate card reference
3Discovery inputs3.1 Discovery pack - 3.2 Brand & website
4Requirements4.1 Attachment A - 4.2 PRD - 4.3–4.9 modules
5Delivery5.1 Control plan - 5.2 Prototype - 5.10 Handover

Read by role

AudienceStartThen
Board / leadershipThis page - 2.1 - 2.24.14 Build vs buy
Product / ops4.1 - 4.2 PRD4.3–4.11
Engineering1.3 CRD - 5.8 Tech spec5.1–5.10

Full page list: sidebar Contents - Export PDF


Next steps

  1. Accept 2.1 Plan SOQ-25K — PRD/CRD/Kickoff = 0%
  2. SOQ fills 3.1 Discovery
  3. Kickoff -> 5.2 Prototype -> first invoice - 5.1 Control plan - 5.10 Handover

Contact: aiee.dev - Pei Han (CCO)

Section 02

1.2 About AIEE.DEV

Who builds SOQ TMS — AI Enterprise Engineering for SMEs, vendors, and government-grade platforms.

Who we are

AIEE.DEV is an AI Enterprise Engineering studio that designs and ships multi-tenant SaaS and domain platforms for SMEs, vendors, and government-linked programmes — with deep Singapore / SEA delivery experience.

We ship production systems: training ops, CRM/sales platforms, integrations, and vertical business systems — not slideware.

What Plan SOQ-25K bundles

IncludedInstead of buying separately
Full CRD (this site)Strategy consulting SOW
Attachment A + PRDRequirements writer
Discovery -> prototype -> build -> handoffUX agency + dev shop + PMO
Multi-portal TMS + SWDA/Xero architectureIntegration vendor + LMS SI
Singapore leadership + engineering squadAnonymous offshore bench
100% source code to SOQSaaS licence / vendor lock-in

Fee and checklist: 2.1 Plan SOQ-25K - Named roles: 1.3 CRD Parties - Market context: 4.15

Positioning

We areWe are not
Product + platform engineersPure staffing body shop
Singapore-led with regional buildBlind offshore with no domain owner
Iterative delivery with weekly demosLegacy waterfall SI only
Owners of end-to-end outcomesTicket factories

Why funded TMS fits

Singapore government-programme culture - education/CRM/ops product family - hybrid SG lead + VN/TW build - SWDA-class integrations as first-class product - modern stack (Next.js, TypeScript).

Contact: aiee.dev - Pei Han (CCO)

Section 03

1.3 Parties & sign-off

AIEE.DEV formal proposal document — customer requirements, coding specification, and delivery plan for SOQ TMS.

What is a CRD?

CRD = Coding Requirement Documentation — business need -> engineering delivery. SOQ approves what, how, and terms before scale build.

LayerPage
Customer baseline4.1 Attachment A
PRD4.2 Attachment B
Portals & modules4.3–4.9
Delivery5.1–5.10
Commercial2.1–2.3 - 3.1

Parties

SOQ (Customer)

Training provider — diploma, short courses, WSQ. Signatory TBC at contract.

AIEE.DEV leadership

NameTitleRole
Pei HanCCOCommercial - executive sponsor
EddyCPOProduct - UX - UAT - PRD author
HKCSOSolution - SWDA/Xero - Attachment A author
Andy KohCTOFull-stack build leadership

Engineering: 3x Software Engineers (L2 - L3 - L4) under CTO - aiee.dev


Attachments

AttachmentAuthorPage
A — RequirementsHK (CSO)4.1 - PDF
B — PRD v1.1Eddy (CPO)4.2
Implementation Doc v1AIEE.DEV5.8 Tech spec

Acceptance (proposal level)

  1. Attachments A + B = functional baseline (subject to discovery)
  2. Three-app boundary + SWDA Hub + Xero accepted
  3. Phased delivery preferred (MVP -> Funded -> CRM/Diploma)
  4. Named leadership = delivery authorities
  5. Full-stack build owned by Andy Koh (CTO) + 3x engineers

Sign-off

PartyNameRoleSignatureDate
CustomerSOQ Authorised Rep
AIEE.DEVPei HanCCO
AIEE.DEVEddyCPO
AIEE.DEVHKCSO
AIEE.DEVAndy KohCTO

Next steps

  1. 3.1 Discovery — SWDA, Singpass/SFC, Xero, Privyr
  2. 2.1 Plan SOQ-25K + 2.2 Grants + 5.10 Handover
  3. 5.2 Prototype sign-off before engineering burn
  4. Kickoff — calendar 5.1 Project control - scope 5.3 Roadmap
Section 04

2.1 Plan SOQ-25K

Plan SOQ-25K — US$25,000 all-in - 28 days - 100% source - complete CRD package.

Plan SOQ-25K — US$25,000 all-in

Not a day-rate quote. Full product-company delivery: strategy, docs, design, build, integrations, handoff.

GrossUS$25,000 (~S$32,500)
Max claim net (EDG 50%)~US$12,500 — 2.2 Max claim for SOQ
GetProduction TMS foundation + full CRD + 100% source
Not buyingSeparate SI - PRD writer - UX agency - integration vendor

Grant-first path: Apply EDG on BGP before kickoff contract or Day 7 prototype invoice (US$7,500) — or forfeit max claim. Indicative only; subject to EnterpriseSG approval. Full checklist: 2.2 Pre-payment.

All-in

US$25k

Complete package

Apps

4

Admin - Student - Trainer - Public

Source

100%

SOQ owns IP

Support

3 mo

Best-effort - no Care retainer

What's included

LayerIn US$25k
Strategy & CRDAttachment A - PRD - architecture - competitive research
DesignDiscovery - hi-fi prototype (Sprint 1) - real SOQ courses
4 surfacesAdmin - Student - Trainer - Public registration
Core domainsCatalogue - admissions - enrolment - attendance - Student 360 - CRM baseline
SWDA HubIsolated adapter - outbox - ops dashboard
XeroOrder -> invoice sync path
PlatformAuth/RBAC - audit - PostgreSQL - TLS
LeadershipCCO - CPO - CSO - CTO + 3x engineers — 1.3
HandoffRepo - runbooks - 5.10 Handover pack

Out of scope: native mobile - bulk legacy migration - AI proctoring - multi-country funding - Care retainer after retention - hosting fees (pass-through)


Payment schedule

Rule: PRD - CRD - Kickoff = 0%. Payment starts at Prototype sign-off (Day 7). 10% retention ($2,500) after 3-month best-effort support.

MilestoneDay%USDGate
PRDPre-kickoff0%—4.2 PRD agreed
CRDAfter PRD0%—This package accepted
Kickoff00%—Contract - repo - 3.1 Discovery
Prototype730%7,500Sprint 1 UAT — first invoice
Frontend1425%6,250Sprint 2 UAT
Backend2125%6,250Sprint 3 UAT
Handoff2815%3,750Source + 5.10
RetentionMonth 310%2,500Best-effort window complete
Total100%25,000
Paid milestone mix (US$25,000)

10% retention after 3-month support

donut
TotalUS$26k
  • PrototypeUS$7.5k29%
  • FrontendUS$6.3k24%
  • BackendUS$6.3k24%
  • HandoffUS$3.8k14%
  • RetentionUS$2.5k10%

Retention: Best-effort email/WhatsApp - business hours SG - not 24/7 SLA - no Care retainer after — 5.10 4

EDG max claim — net cost to SOQ

USDSGD (~)
Gross (Plan SOQ-25K)25,000~32,500
EDG offset at 50% (indicative SME)(12,500)(~16,250)
Net to SOQ~12,500~16,250
RuleDetail
When to applyBefore signed contract or G1 prototype invoice — 2.2 checklist
What qualifiesFull US$25k implementation fee — discovery, build, SWDA Hub, Xero, handoff
What does notPSG (off-the-shelf) - WSQ/SFC trainee subsidies - post-retention support
Cash flowEDG = reimbursement after LoO deliverables — SOQ funds milestones first
Processing~8–12 weeks on BGP - accept LoO before kickoff

Indicative only — not a grant guarantee. Non-SME ~30% support level.


Delivery calendar

Full milestone register - RACI - WBS: 5.1 Project control plan

SprintDaysFocusPayment
11–7Prototype30% at sign-off
28–14Frontend25%
315–21Backend + SWDA/Xero25%
422–28DB - security - handoff15%
RetentionMonths 1–3Best-effort support10% release

Context (optional)

ReferenceAmountNotes
Plan SOQ-25K (active)US$25,000This offer
HK Attachment A baselineS$250,000Historical fixed-price
Typical SG SIS$800k–S$1.8M+Same scope class

Rate-card math: 2.3 — background only.


Next steps

  1. PRD (4.2) -> accept CRD — 0%
  2. Accept Plan SOQ-25K + kickoff — 0%
  3. Complete 3.1 Discovery — blocks Sprint 1 if missing
  4. Prototype -> first invoice 30% / US$7,500
  5. Day 14 - 21 - 28 milestones -> retention month 3 — 5.10

Contact: aiee.dev - Pei Han (CCO)

Section 05

2.2 Max claim (EDG)

Maximum EDG claim strategy for SOQ International Academy (PEI UEN 201723514D) — net cost, qualifying costs, timing, and board checklist for Plan SOQ-25K.

Max claim for SOQ

Target: halve the TMS build cost through EDG — ~US$12,500 net on the US$25,000 Plan SOQ-25K package (indicative, subject to EnterpriseSG approval).

SOQ is a PEI / ATP (beauty, digital, WSQ at International Plaza) — not a generic SME software buyer. The custom TMS build qualifies under EDG Innovation & Productivity, not PSG (off-the-shelf only). WSQ trainee subsidies and SkillsFuture Credit are operating revenue — they do not pay vendor fees.

Indicative only. Grant approval, support %, and qualifying cost lines are decided by EnterpriseSG via Business Grants Portal (BGP). AIEE.DEV provides application documentation — not approval guarantees.


Board decision tree — max claim path (5 bullets)

  1. Confirm SOQ entity — SOQ International Academy Pte. Ltd. (UEN 201723514D) registered in SG, >=30% local shareholding, financially viable for the project.
  2. Apply EDG on BGP before any vendor payment — project must not have commenced; no signed AIEE.DEV contract, no prototype invoice (2.1 Payment, 5.1 G1 timing).
  3. Target 50% EDG on qualifying costs — full US$25,000 implementation fee is the primary claim line -> ~US$12,500 net to SOQ (SME rate; ~30% if classified non-SME).
  4. Do not pursue PSG for this build — PSG covers pre-approved off-the-shelf packages only; a bespoke Admin + Student + Trainer + SWDA Hub stack is EDG territory.
  5. Optional WDG(JR+) for workforce change — separate BGP track via pre-approved consultant; nett-fee model (SOQ pays co-fund only; grant paid to consultant on milestones). Does not replace EDG for the software build.

1. Best grant path for SOQ (PEI / training business)

PrioritySchemeMax support (SME)Fits Plan SOQ-25K TMS build?
1 — PrimaryEnterprise Development Grant (EDG)Up to 50% qualifying costsYes — custom software + consultancy + transformation
2 — ComplementWDG (Job Redesign+) under EWTPUp to 70%, cap S$150kPartial — workforce consultancy + capability + workforce tech (bundled; pre-approved consultant)
3 — Top-upSkillsFuture Enterprise Credit (SFEC)S$10k wallet (Mar 2026 redesign)Supplementary — internal upskilling, not vendor fee substitute
4 — WatchEDGE grant (expected 2H 2026)~S$100k/yr standardApply under EDG now if project starts 2026
Not suitableProductivity Solutions Grant (PSG)Up to 50%, ~S$30k capNo — off-the-shelf directory only
Not applicableWSQ subsidies / SFC / ATP approvalTrainee course fundingNo — SOQ earns these when delivering courses; does not fund IT capex

Frame the EDG project as: Digital transformation of SOQ training operations — integrated TMS with SWDA and Xero (Innovation & Productivity pillar). Not a "SWDA grant application."

SWDA glossary: 1.1 Overview — agency vs trainee funding vs capital grant.


2. Maximum claim scenario — Plan SOQ-25K

Active offer: Plan SOQ-25K = US$25,000 (~S$32,500 at ~1.30) all-in - 28 days - 100% source.

LineGross (USD)Gross (SGD ~)Indicative EDG 50%Indicative net to SOQ
AIEE.DEV implementation (full package)25,000~32,500~12,500 / ~16,250~12,500 / ~16,250
AWS hosting Year 1 (pass-through)—~18,000Partial / lower % — confirm in proposalClient-borne
SOQ internal PM (optional)—~25,000–40,000Partial — capped internal manpowerAdds to qualifying base if approved
ScenarioSOQ pays (indicative)Notes
No grantUS$25,000Fastest start — kickoff + prototype invoice per 5.1
EDG 50% approved (max claim)~US$12,500Primary target — reimbursement after deliverables
EDG 50% + SFEC upskilling~US$12,500 + SFEC offsetSFEC for admin/trainer training — not AIEE.DEV fee

Caveats (read before budgeting net cost):

#Caveat
1Support level is up to 50% — EnterpriseSG assesses per project; non-SME ~30%
2No fixed dollar cap on EDG — but each line must be qualifying and evidenced
3EDG is reimbursement — SOQ funds milestones first, claims after LoO deliverables
48–12 weeks BGP processing — plan calendar before G1 prototype invoice if grant-first
5Claims must reach EnterpriseSG within 6 months of project qualifying period end
6Pre-qualified auditor required at claim stage

HK Attachment A baseline (S$250,000) is historical context only — max-claim math above uses the active Plan SOQ-25K offer.

Max claim vs no grant (USD)

stacked · interactive chart

stacked
No grantUS$25k
SOQ pays
EDG 50% max claimUS$25k
SOQ paysEDG offset
Target EDG support (SME)

gauge · interactive chart

gauge

50%

Of qualifying costs


3. Qualifying vs non-qualifying — this CRD project

Qualifying (claim toward max EDG)

Cost itemPlan SOQ-25KEDG bucketClaim?
AIEE.DEV fixed fee — discovery, design, build, SWDA Hub, Xero, handoffUS$25,000Third-party consultancy / solution vendorYes — primary line
Phased fee breakdown (Prototype / FE / BE / Handoff)Per 2.1 scheduleConsultancy milestonesYes — align to LoO claim schedule
Technical architecture + integration designIncludedInnovation & productivity evidenceYes
SOQ staff time on project (PM, UAT lead)OptionalInternal manpower (capped)Partial — job description + timesheets
Project-specific cloud infra (if in scope)Pass-through AWSSoftware & equipmentPartial — confirm % with EnterpriseSG

Non-qualifying (do not put in EDG cost schedule)

Cost itemWhy excluded
PSG pre-approved SaaS (DSMR, generic LMS)Wrong scheme — and SOQ is building custom
General operating expensesRent, utilities, business-as-usual admin
Marketing collaterals / website contentNot transformation project costs
Standalone implementation without transformation narrativeMust tie to business outcomes
WSQ trainee subsidies / SFC claimsCourse delivery revenue — not vendor payment
Post-retention ongoing support beyond LoO periodOutside approved qualifying period
GSTTypically excluded from grant base — confirm with finance

Outcomes to quantify in application: use KPIs from 4.12 Business benefits — admissions admin hours, attendance cycle effort, finance re-entry, on-time SWDA evidence, single student/course/order record.


4. Pre-payment checklist — apply before prototype invoice

Hard rule: EnterpriseSG requires the project to be new, not commenced, not generating revenue at application. First paid invoice = Day 7 prototype (US$7,500) — see 2.1 and 5.1 G1.

#CheckOwnerStatus
1ACRA bizfile <=6 months - confirm >=30% local shareholdingSOQ co.sec☐
2Audited FS or certified management accounts (last FY)SOQ finance☐
3CorpPass access to BGPSOQ authorised officer☐
4EDG project proposal — transformation narrative + KPIsSOQ + AIEE.DEV☐
5AIEE.DEV phased quotation (USD/SGD) mapped to milestonesAIEE.DEV (Pei Han / HK)☐
6Technical scope summary + architecture one-pagerAIEE.DEV (HK)☐
7No signed AIEE.DEV contract until LoO accepted (if grant-first)SOQ board☐
8No prototype / kickoff payment until LoO accepted (if grant-first)SOQ finance☐
9Submit EDG on BGPSOQ (CorpPass)☐
10Accept Letter of Offer (LoO) — then kickoff + G1 invoiceSOQ board☐

Grant-first vs build-first:

PathWhen to start buildCash flow
Grant-first (max claim)After LoO (~8–12 wks)Lower net cost; delayed start
Build-firstImmediate kickoff - Day 7 invoiceFull US$25k; EDG likely ineligible if applied after payment

5. WDG(JR+) nett-fee model — optional complement

Not a substitute for EDG on the AIEE.DEV build. Use for workforce transformation around the new TMS — admissions redesign, trainer rostering, admin role changes.

ComponentCapSME supportSOQ relevance
Workforce consultancyS$50,000Up to 70%Process redesign — enrolment-to-claim workflows
Capability buildingS$60,000Up to 70%Train admin / trainers on new portals
Workforce tech solutionsS$90,000Up to 70%HR analytics, skills tools — not full custom TMS

Nett-fee model (cash-flow advantage vs EDG reimbursement):

StepWhat happens
1SOQ engages pre-approved WDG(JR+) consultant
2Proposal itemises total fee - government portion - client co-fund
3SOQ pays co-fund only to consultant
4Anchor Programme Partner pays grant portion to consultant on approved milestones
5Accept LoO before work starts — same commencement rule as EDG

Example (illustrative): S$50,000 consultancy - 70% SME -> SOQ pays ~S$15,000 co-fund; grant ~S$35,000 to consultant on milestones.

Stacking: Run EDG for AIEE.DEV build + WDG JR+ for change as aligned but separate BGP applications — confirm stacking rules with EnterpriseSG/WSG at application time.


6. Timeline — apply, build, claim

PhaseTimingActionDocuments from AIEE.DEV
T0 — EligibilityWeek 1Confirm shareholding, financials, BGP access—
T1 — Grant packWeek 1–2Discovery workshop - scope + KPI baselineScope doc - phased quotation - architecture summary - milestone map
T2 — EDG applicationWeek 2–3SOQ submits on BGP (before contract/payment)All T1 deliverables + consultant/vendor details
T3 — ApprovalWeek 3–15 (~8–12 wks)EnterpriseSG evaluation - clarificationsRespond to scope queries as needed
T4 — LoO + kickoffUpon approvalAccept LoO - sign contract - Day 0 kickoffUpdated milestone plan aligned to LoO
T5 — DeliveryDays 1–28 + Month 3 retentionBuild per 5.1Invoices - deliverable sign-off - UAT records
T6 — EDG claimAfter LoO deliverables achievedSubmit on BGP - appoint pre-qualified auditorFinal invoices - bank statements - completion report

Payment vs claim alignment (2.1 milestones):

GateDayInvoice (USD)EDG claim note
Kickoff00%Project start post-LoO
G1 Prototype77,500Qualifying cost — retain invoice
G2 Frontend146,250Qualifying cost
G3 Backend216,250Qualifying cost
G4 Handoff283,750Qualifying cost
G5 RetentionMonth 32,500Confirm qualifying period covers retention

7. What SOQ must NOT claim

Do not claimReason
PSG for custom TMSOff-the-shelf directory only — wrong instrument
WSQ / SFC / trainee subsidiesOperating revenue when delivering courses
"SWDA grant" for vendor feesSWDA governs course delivery; EDG governs business transformation
Generic IT refresh without KPIsEDG requires transformation outcomes
Costs incurred before LoOPre-commencement spend typically excluded
Care / ongoing retainer (post-project)Outside approved qualifying period

8. AIEE.DEV grant pack (pre-contract)

DeliverableEDG use
Scope & outcomes documentProject narrative
Phased fee breakdown (USD + SGD)Qualifying cost schedule
Milestone plan ↔ LoO claim datesReimbursement schedule
Technical architecture summaryInnovation & productivity evidence
KPI baseline (current vs target)4.12 Business benefits metrics

Contacts: Pei Han (CCO) — commercial - HK (CSO) — technical appendices


9. SOQ action items

#ActionOwnerWhen
1Board decision: grant-first vs build-firstSOQ leadershipBefore kickoff
2Confirm entity eligibility on BGPSOQ finance / co.secWeek 1
3Discovery + EDG-ready pack with AIEE.DEVSOQ ops + AIEE.DEVWeek 1–2
4Submit EDG (before contract or Day 7 invoice)SOQ via CorpPassWeek 2–3
5Accept LoO -> sign -> kickoff -> claim on completionSOQ board + financePost-approval
6Optional: parallel WDG JR+ for workforce changeSOQ + pre-approved consultantSeparate track

10. Official references

#Item
1Enterprise Development Grant — EnterpriseSG
2Business Grants Portal — GoBusiness
3Enterprise Workforce Transformation Package — MOM factsheet (Mar 2026)
4Productivity Solutions Grant — pre-approved only

Related sections

#Item
12.1 Plan SOQ-25K pricing — gross fee - net after EDG - payment gates
25.1 Project control plan — G1 invoice timing vs grant commencement
34.12 Business benefits — KPIs for EDG outcomes
44.1 Attachment A — historical S$250k baseline
Section 06

2.3 Rate card

Reference rate card only — SOQ’s active offer is the US$25,000 complete package in 2.1.

Active offer for SOQ: Plan SOQ-25K — US$25,000 complete package (CRD + 4 apps + SWDA/Xero + 100% source).
This page is background only — local rate-card math for “build your own team”. It is not what SOQ pays on the active offer.

How to read this section

  1. Local SWE rates — local hire / local agency bands in Vietnam and Taiwan (primary build economics), plus Singapore as onshore reference only
  2. Build-your-own team cost — estimated loaded cost if SOQ staffs the same squad locally in each country
  3. AIEE.DEV packages — fixed delivery pricing using Singapore-led + Vietnam/Taiwan local build hybrid
  4. Comparison — why AIEE.DEV wins on outcome-per-dollar vs pure SG SI or unmanaged offshore

Methodology: Package math uses local-market rates for non-English-premium engineers (VN/TW direct hire and reputable local shops — typically USD 12–22/hr blended delivery in Vietnam, USD 18–28/hr in Taiwan). We do not price packages on Singapore agency day rates (USD 350–500/day) or English-native premium bands.

Currency: SGD unless noted. Rates are indicative local-market bands, not offers of employment. FX assumptions ~ USD 1 ≈ SGD 1.30–1.35.


1. Local SWE rate card (local market)

Singapore (onshore reference — not primary build rate)

LevelMonthly base (SGD)Fully loaded* (SGD/mo)Notes
Junior4,000 – 6,0005,500 – 8,000Reference only
Mid6,000 – 8,5008,000 – 11,500Reference only
Senior8,500 – 12,00011,000 – 16,000Reference only
Lead / Principal11,000 – 16,00014,000 – 21,000SG solution lead band

*Loaded ≈ salary + CPF/employer burden + tools (~30–35%). AIEE.DEV does not price full builds on these bands — they are the benchmark SOQ would pay for 100% onshore.

Vietnam (local hire / local agency — primary build economics)

LevelMonthly (USD) localLocal agency (USD/hr)Day rate (USD)
Junior600 – 1,10010 – 1680 – 120
Mid900 – 1,60014 – 20100 – 140
Senior1,400 – 2,50018 – 24120 – 170
Lead (local)2,000 – 3,20022 – 28150 – 200
Managed local squad—12 – 22 blended all-inUSD 100 – 160 / person / day

Timezone: UTC+7 (1 hour behind Singapore) — real-time collaboration. English: working proficiency typical; specs and acceptance in English from SG lead.

Taiwan (local hire / local agency)

LevelMonthly (USD eq.)Local agency (USD/hr)Day rate (USD)
Mid SWE1,600 – 2,80018 – 26120 – 180
Senior SWE2,500 – 4,00024 – 32160 – 220
Managed local squad—18 – 28 blendedUSD 140 – 200 / person / day

Quality engineering strength; cost between Vietnam and Singapore on local bands (not expat-premium).


2. Cost to staff SOQ TMS yourself (6 months MVP)

Assumes a lean squad for Package B–class MVP (~6 months):
1 lead + 2 senior + 2 mid + 1 QA + 0.5 DevOps + 0.5 PM/UX (≈ 7 FTE blended).

Location modelEst. 6-month loaded labour (SGD)Notes
100% SingaporeS$480,000 – S$850,000High quality; expensive; slow hire
100% Vietnam (local rates)S$95,000 – S$180,000Lowest labour; needs strong SG product owner
100% Taiwan (local rates)S$140,000 – S$260,000Mid labour; still need SG domain lead for SWDA
Naive SG + VN mix (unmanaged)S$180,000 – S$320,000Savings real; integration risk if no single owner

Labour only — excludes SWDA discovery risk, UAT cycles, hosting, and rework. Pure labour ≠ successful funded TMS.


3. AIEE.DEV model (recommended)

Singapore solution / product leadership + Vietnam primary build (local rates) + Taiwan surge when needed.

RoleWhere
Solution design, SWDA strategy (HK / CSO)Singapore
Product / UX sign-off (Eddy / CPO)Singapore (+ remote design)
Full-stack coding (Andy Koh / CTO)Singapore-led
Software Engineer Level II - III - IVUnder CTO — feature, module, and integration execution
Frontend / backend delivery capacityVietnam (local hire / local shop)
Hardening / specialised modulesTaiwan (local surge)
Integration engineer (SWDA/Xero)CTO-led + VN implement

Effective blended delivery rate (AIEE.DEV)

Indicative
Blended productive engineering≈ SGD 28 – 48 / hour all-in delivery
vs pure SG onshore buildSGD 70 – 120+ / hour equivalent
vs raw VN local freelancerHigher — includes PM, QA, SG lead, handoff docs

You pay for outcome ownership at local build economics, not English-premium agency rates.


4. Head-to-head (same SOQ scope class)

ApproachEst. full-suite labour envelope (SGD)Risk
Buy DSMR + SI customLicence opaque + custom often 300k–1M+Vendor lock
100% Singapore SI800k – 1.8M+Expensive; slow
Vietnam body shop only180k – 320kHigh SWDA/compliance risk
AIEE.DEV hybrid (local VN/TW)Market suite class 280k – 550kManaged - phased

SOQ’s invoice is not the table above. Active commercial offer: 2.1 Plan SOQ-25K — US$25,000 (complete package). Payment, retention, and support live only on 2.1 / 5.10.

Board line: Pure SG build prices like a government SI; pure VN local build is cheap but risky without SG + SWDA leadership. AIEE.DEV prices on local VN/TW rates with Singapore ownership.


Related

  • 2.1 Plan SOQ-25K — active offer (fee, calendar, payment)
  • 2.2 Grants — EDG / what does not apply
  • 5.10 Handover pack — retention support scope
Section 07

3.1 Discovery pack

Concrete SOQ pack before Sprint 1 — live site facts, catalogue columns, systems to confirm.

Discovery gate

Sprint 1 needs SOQ’s real courses and journeys — not generic LMS mocks.

Live site already shows catalogue shape, CTAs, funding copy, and a legacy Student Portal. Discovery fills fees, runs, and system access the public pages omit.

SOQ owners: ops + academic/admissions
AIEE.DEV: Pei Han - Eddy - HK
Output: 5.2 Prototype & screens


Already known from soq.edu.sg (Sep 2026)

FactValueTMS impact
Legal / UENSOQ International Academy Pte. Ltd. - 201723514DOrg + PEI footer
ERF09 Jun 2026 – 08 Jun 2032Compliance strip
Campus10 Anson Road, International Plaza #23-08 & #35-16Venues / room capacity
Rooms5 classrooms - 18–28 pax - ratio 1:20Run capacity
Contact+65 6996 3383 - WA +65 8718 2308 - academy@soq.edu.sgEnquiry + WhatsApp CTAs
Legacy TMSsoq.trainingsystemsg.com/TMS/loginP0 migration source
Enrol deep-linke.g. /TMS/program/6 (Beauty Specialist)Map SKU ↔ programme IDs
Public IAAI & Business - Beauty - Retail - Workshop (+ Care on cards)Catalogue taxonomy
CTAsExplore Courses - Contact - Get Course Advice - Enroll NOW - WhatsAppDual path: consult + register
Enquiry fieldsName - Contact - Email - Course - Message - PDPA - captcha - Individual/CorporateCRM lead shape
Funding bands (public)MCES 70% - Baseline 50% - SFC - UTAP - SME 70% - Non-SME 50% - SFEC $10k - AP $4.50/hr - EISFee labels (legal review)
Payments (FAQ)SFC - NETS - PayNow - cards - GST separate - diploma instalmentsCheckout + Xero
Attendance rule>=75% for subsidy eligibilityStudent + claim gates
Cert typesWSQ SOA - SOQ cert/diploma - iTEC/VTCTCourse badges
TrainersPublic list - ACTA/ACLP - /trainer/{slug}Trainer portal bios
CEO / PEI mgrJeff Lim / Lim Siong ChianOrg chart confirm

Appendix index: soq-website-inventory.csv - 3.2 Brand appendix


Concrete discovery checklist (what site does not show)

#Ask SOQWhy it blocks build
D1Full fee matrix per course (gross - GST - funded nets - instalment plans)“From $X” / “View Full Pricing” is incomplete
D2Active course runs (dates - seats - venue room - language) for next 12 monthsSchedules today = Google Drive PDFs
D3TGS / internal codes for every WSQ + diploma (e.g. TGS-2023041023 - SOQ-DBS)Catalogue + SWDA mapping
D4Which courses are SFC-eligible vs not (incl. Mid-Career $4k Level-Up exclusions)Registration wizard rules
D5Singpass / MyInfo: used today? required for WSQ enrol?Confirm — site only points SFC claim to MySkillsFuture
D6SWDA TPGateway / sandbox: which APIs subscribed?Mark confirm in discovery — do not invent entitlements
D7Legacy TMS export: students - runs - fees - attendanceCutover from TrainingSystemSG
D8Privyr export + WhatsApp/lead ownershipCRM import
D9Xero org - chart of accounts - tax codesFinance sync
D10Payment merchant (PayNow/NETS/cards) credentialsCheckout
D11Corporate SFEC workflow (who claims - evidence)B2B path
D12TRAQOM / Google review source for 4.9/5Trust badge substantiation
D13Module exemption / credit transfer rulesAdmissions
D14Withdrawal - defer - reschedule (FAQ: 10 WD - 1 free reschedule)Policy engine
D15Hosting preference (H1–H5 below)Sprint 0 infra

Course catalogue spreadsheet (mandatory)

One row per active + upcoming (12 mo) offering. Mirror public verticals.

ColumnLive examples
TitleDiploma in Beauty Specialist - Integrated Digital Marketing with Generative AI
VerticalAI & Business - Beauty & Wellness - Retail & Soft Skills - Workshop - Care
Product typeDIPLOMA - SHORT - WSQ - ITEC/VTCT - WORKSHOP
LanguageEN / ZH (Mandarin twins are separate SKUs)
Internal / TGS codeSOQ-DBS - TGS-2023041023
ModeClassroom - Blended - (online where used)
Hours / duration216 Hrs (8 Months) - 16 Hrs (2 Days)
AssessmentMCQ - Practical - Portfolio - Case study - Project
Fee displayGross - monthly instalment - funded nets
SFC / SFEC / UTAP flagsY/N + exclusions
Venue defaultIP #23-08 / #35-16 / client site
Legacy TMS programme IDe.g. 6
StatusActive / Upcoming / Hidden

Also attach: Google Drive schedules - prospectus PDFs - sample invoice/offer/certificate - “View Full Pricing” source tables

Programme families seen on PEI + homepage

FamilyExamples
Business diplomasInternational Business Development / Management (+ Mandarin)
Beauty diplomasBeauty Specialist - Make Up - Lash - SMPU - Aromatherapy (+ Mandarin)
Care diplomasMaternal, Newborn and Infant Care (+ Mandarin)
iTEC/VTCTHolistic Massage - Fashion/Theatre/Media Make-up (+ Express/ZH)
Gen AI / WSQ shortIntegrated Digital Marketing with Gen AI - Campaign Management with Gen AI
WorkshopsBrand Management - Product Demo - Meridian/Bojin - Dementia Care - etc.

Business operations pack

BlockCapture
OrgConfirm UEN - campuses - AEB - students/year - runs/month
JourneysDiploma apply - WSQ short enrol - workshop - corporate custom - withdrawal/defer
SalesPrivyr - walk-in - web form - WA - commission
FinanceXero - GST - instalments - corporate invoice - refund
SWDAATP - sandbox - API list (confirm) - claim submitter
RBACConsultant - admissions - finance - academic - trainer admin
Brand3.2 D1–D8

Systems inventory (pre-filled clues)

SystemObservationPriority
TrainingSystemSG TMSLive Student Portal + Enroll linksP0 migrate
Laravel marketing sitesoq.edu.sg course pages + JSON-LDCatalogue source / replace over time
PrivyrNamed in CRD/Attachment AConfirm export
XeroNamed in CRDConfirm org
WhatsApp BusinessFloating chat + WA CTAsLead channel
Google DriveCourse schedulesReplace with run calendar
MySkillsFutureATP UEN listing + SFC claimsTGS sync
SingpassSFC claim path only (public)Confirm enrol use
PaymentNETS / PayNow / cards (FAQ)Confirm gateway
Zoom / LMSDiploma blended async hoursConfirm tooling
TRAQOM / reviewsGoogle 4.9 shownConfirm source

Server & hosting

ComponentSpec
App2 vCPU - 4 GB x 2 (or app + worker)
DBPostgreSQL 15+ - 2 vCPU - 4 GB - 100 GB
CacheRedis 7 - 1 GB
StorageS3-compatible - 50–100 GB
RegionSingapore
RuntimeNode 20+ - PHP 8.3+ (Laravel API)
#Confirm
H1Hostinger - AWS - other?
H2TMS domain(s)?
H3DNS/SSL owner?
H4Monthly hosting budget?
H5Staging + prod Day 1?

Cost: ~S$50–200/mo MVP - ~S$200–800/mo prod — pass-through, not in Plan SOQ-25K US$25k.


Workshop agenda (½–1 day)

  1. Walk homepage + course detail + legacy TMS enrol
  2. Fill catalogue spreadsheet with real codes/fees
  3. Map diploma / WSQ / workshop / corporate journeys
  4. Attendance (75%) + assessment types demo
  5. Xero + payment + Privyr
  6. SWDA API entitlements (confirm only)
  7. Hosting + 3.2 brand sign-off

Submission checklist

#ItemDone
1Catalogue spreadsheet (all columns)
2Fee + instalment + GST tables
312-mo run calendar (replace Drive PDFs)
4Legacy TMS export sample
5Privyr / Xero / payment notes
6SWDA / Singpass status (confirm)
7Roles + brand D1–D8
8Hosting H1–H5
93.2 approved

Send to: Pei Han / Eddy - aiee.dev

Section 08

3.2 Brand & website appendix

Brand assets, public website capture, and a professional online branding audit of SOQ — reference for design tokens and TMS catalogue fidelity.

Why this appendix exists

SOQ’s new TMS must look and read like SOQ — not a generic LMS. That means we take design language from SOQ (logo, colour, typography, photography, tone) and reuse as much public website information as possible so the catalogue, course detail pages, and registration flows start from real content.

AIEE.DEV proposes a living Appendix — SOQ website & design reference in this CRD package: an indexed snapshot of soq.edu.sg plus SOQ-supplied brand files. Engineering and design teams use it during Sprint 1 and Day 28 handoff.

Proposal: SOQ approves AIEE.DEV to capture all public website pages and assets (text, structure, structured data, images where rights allow) into this appendix. No student PII — marketing / catalogue content only.

Pairs with: 3.1 Discovery (course spreadsheet + business pack) - 5.4 UI/UX - 5.2 Prototype


Live capture snapshot (Sep 2026)

Crawled from soq.edu.sg — full URL index: soq-website-inventory.csv.

CaptureDetail
TaglineLearn for the Future - Build Skills, Create Opportunities
NavCompany - AI & Business - Retail - Beauty - Workshop - Resources - Student Portal
Student Portal URLsoq.trainingsystemsg.com/TMS/login
Hero CTAsExplore Courses - Contact Us To Know More - Get Course Advice
Catalogue tabsAI & Business - Beauty & Wellness - Retail & Soft Skills - Workshop
Course URL pattern/course/{slug} - lists /course/list/workshop
Detail chromeOverview - Certificate - Trainer - FAQ - sticky Enroll / Contact / From $ / Schedule (Drive)
Codes seenSOQ-DBS - TGS-2023041023
Fee patternsFrom $180 (WSQ) - From $499.77/Month (diploma) - View Full Pricing modal
EnquiryIndividual/Corporate - Name Contact Email Course Message - PDPA -> /data-policy - captcha
DirectTel +65 6996 3383 - WA +65 8718 2308 - academy@soq.edu.sg
Campus10 Anson Road, International Plaza #23-08 & #35-16, Singapore 079903
TrustGoogle 4.9/5 - SWDA ATP - UEN 201723514D - ERF Jun 2026–Jun 2032 - est. 2013
Funding copyMCES 70% - Baseline 50% - SFC - UTAP - SME 70% - Non-SME 50% - SFEC $10k - AP $4.50/hr - EIS
Cert badgesWSQ SOA - SOQ Completion - SOQ Educational - iTEC/VTCT
SocialFacebook - LinkedIn - Instagram - TikTok - YouTube
Key pages/about-us - /pei-profile - /corporate-training - /faq - /trainer/list

UI patterns to carry forward

PatternKeep / adaptNotes
Category tabs (AI - Beauty - Retail - Workshop)KeepAdd Care filter if ops wants parity with cards
Consult-first CTAs + WhatsApp floatKeepDual path with self-serve Enroll
Trust strip (UEN - ERF - Google - certs)KeepFooter + course detail
Funding band blocksAdapt into fee wizardLegal review on auto-calc
Course detail tabs + module hour splitKeepClassroom vs async hours
Trainer cards on course pagesKeepLink Trainer portal profiles
Legacy TMS enroll deep-linksReplaceMap /TMS/program/{id} -> new enrol

1. Design assets SOQ must provide

These are mandatory for on-brand prototype (Sprint 1). If missing, we infer tokens from the public site and mark assumptions for SOQ sign-off.

#AssetFormatUsed for
D1Logo (primary + reversed)SVG + PNGPublic site header, portals, certificates
D2Favicon / app iconICO / PNGBrowser + PWA
D3Brand colours (hex or “match website”)Spec or URLDesign tokens
D4Font files or Google Font namesOTF/WOFF or linksPublic + student surfaces
D5Photography / hero images (3–5+)JPG/WebPCatalogue, course detail
D6Brand guidelines (if any)PDFTone, spacing, logo clear space
D7Sample brochures / prospectus PDFsPDFDiploma & WSQ copy patterns
D8WhatsApp / consult CTA copyTextMatch consult-led GTM (4.15)

Design system build: tokens + components in 5.4 UI/UX are seeded from D1–D8 + appendix crawl, not invented in isolation.


2. Public website capture (proposed scope)

AIEE.DEV crawls public, unauthenticated pages on SOQ’s marketing site and related listings. SOQ confirms domain list and usage rights for images.

Primary sources

SourceURL (example)What we extract
Main sitesoq.edu.sgIA, copy, course pages, contact, legal
Course detail pages/courses/*, programme pagesTitles, fees, duration, outcomes, JSON-LD
Corporate / training pagesCorporate training sectionB2B copy, enquiry patterns
MySkillsFuture listingSOQ ATP profilePublic course codes, TGS references
Social / linked propertiesAs SOQ providesOptional cross-links only

Per-page capture template

Each URL in the appendix gets one row:

FieldExample
URLhttps://www.soq.edu.sg/...
Page typeCourse detail / Category hub / About / Legal
Title & H1Diploma in …
Body copy (markdown excerpt)First 500 chars + full export in appendix file
Structured dataJSON-LD Course, Organization, breadcrumbs
ImagesFilename + alt text + source URL
Internal linksLinked courses / enquiry forms
Last capturedISO date
TMS mappingCatalogue SKU / registration flow (F-01–F-04)

Technical observations (already noted in CRD)

SignalImplication for TMS
LiteSpeed + Laravel-style session on current sitePublic site may stay separate short-term; TMS public app replaces catalogue over time
Course JSON-LD on pagesImport into catalogue SEO + fee metadata
Consult-led conversionPublic TMS keeps enquiry + register dual path

| 4.15 Market intelligence | Competitors, traffic signals, pain points — 6 branding audit in 3.2 |


3. Appendix deliverable (what SOQ receives)

DeliverableLocationAccess
Appendix indexThis CRD page + PDF exportBoard / ops / design
Page inventory spreadsheetDownload CSV - docs/appendix/ in handover zipOps / design
Markdown snapshotsdocs/appendix/soq-web/*.md per major pageSearchable reference during build
Asset bundledocs/appendix/soq-brand/ (logo, fonts, approved images)Design + frontend
Design token draftFigma + packages/ui/tokens (Day 7+)5.4
User journey
Rendering diagram…

Living document: Re-run capture before go-live if SOQ publishes new courses or rebrands. Diff is shared in handover notes (5.10).


4. How appendix content feeds the build

Appendix inputTMS output
Course page copy + JSON-LDPublic catalogue + course detail + SEO meta
Category IAPublic nav (Diploma / Short / WSQ / Corporate)
Fee text patternsRegistration wizard labels + tooltips
Images (rights cleared)Hero / card imagery in prototype + MVP
Trainer / about copyOptional trainer bios in Trainer portal
Legal / privacy URLsFooter links until SOQ legal replaces
Enquiry form fieldsPublic enquiry -> CRM lead shape (4.6)

Without appendix + 3.1 course spreadsheet, Sprint 1 uses placeholder names and stock UI — not acceptable for SOQ UAT.


5. SOQ approval checklist

#ItemSOQ sign-off
A1Domains approved for capture (soq.edu.sg + any subdomains)
A2Image / copy reuse approved for TMS (marketing only)
A3Brand assets D1–D8 delivered or “derive from site” confirmed
A4Consultation CTA strategy on new public site (keep / simplify)
A5Appendix inventory reviewed — missing pages flagged

Send brand files to: Pei Han / Eddy - Technical appendix questions: HK / Andy Koh - aiee.dev


6. Professional online branding audit — SOQ International Academy

Method: AIEE.DEV applied a professional-grade digital brand audit checklist (visual identity - messaging - UX - conversion - trust - SEO - accessibility - differentiation) to SOQ’s public presence, centred on soq.edu.sg and cross-checked against 4.15 Market intelligence.

Date of observation: September 2026 - Scope: Public marketing site only (no logged-in systems).

Scoring key

SymbolMeaning
✅ StrongClear, consistent, competitive — carry into TMS
⚠️ PartialPresent but uneven — fix in design phase
❌ GapMissing or weak — TMS must address
SOQ online branding audit — pillar scores (1–5)

Professional checklist - public site - Sep 2026

bar
Visual identityscore3
Messaging & voicescore4
IA & UXscore3
Conversion & CTAsscore4
Trust & credibilityscore4
SEO & structured datascore4
Mobile & accessibilityscore3
Differentiationscore4

Download: Branding audit checklist CSV — reusable template for re-audit before go-live.

A. Visual identity system

#Checklist itemSOQ observationScoreTMS action
A1Logo current + correct usage (header, favicon, social)SOQ wordmark on site; favicon present⚠️Extract SVG/PNG in D1; enforce clear space in design system
A2Colour palette consistent (hex locked)Institutional palette on marketing site; no public hex spec⚠️Sample from site + SOQ confirm -> tokens in 5.4
A3Typography limited to 2–3 familiesWeb fonts in use; hierarchy readable on course cards⚠️Document heading/body scale; ops console may use denser variant
A4Imagery style consistent (photo vs illustration)Mix of course/category imagery; beauty + business verticals⚠️Tag image styles per vertical in appendix
A5Icon / UI component languageMarketing site ≠ future app — expected drift❌New component library — seed colours/type only from SOQ
A6Layout rhythm (spacing, radius, cards)Long homepage with repeated course card pattern⚠️Catalogue grid inherits card pattern; Admin stays calmer density

B. Messaging & verbal identity

#Checklist itemSOQ observationScoreTMS action
B15-second clarity (what / who)“Learn for the Future” - ATP - WSQ + diplomas - CBD campus✅Hero + meta description on TMS public app
B2Tagline / promise consistent“Build Skills, Create Opportunities” supports main tagline✅Lock boilerplate in CMS strings
B3Tone of voice (expert vs casual)Professional, subsidy-aware, consult-friendly✅Registration copy + student comms templates
B4Value pillars articulatedJob readiness - talent development - workplace skills - innovation✅About block + corporate training page
B5Funding language accurateMCES 70% - baseline 50% - SFC - UTAP - SFEC - absentee payroll✅Fee engine labels must match — legal review with SOQ
B6Audience segments namedIndividuals + corporate - Mandarin cohorts on selected diplomas✅IA filters + locale flags in catalogue
B7Terminology (WSQ/SWDA/ATP)Uses SWDA post-merger language on site✅Glossary in 1.1 Overview - tooltips in reg wizard

C. Information architecture & UX

#Checklist itemSOQ observationScoreTMS action
C1Primary nav reflects business linesCategory hubs: AI & Business - Beauty - Retail - Workshop✅Top-level catalogue taxonomy
C2Course findabilityLarge scroll catalogue on homepage — high volume⚠️Search + filters (type - duration - funding - language)
C3Course detail completenessCards show mode, duration, tags⚠️Detail template: outcomes - cert type - venue - fees
C4Corporate vs individual pathsIndividual / Corporate funding blocks present✅Split CTAs on funding explainer + CRM source tag
C5FAQ answers real objections8 FAQs: WSQ, location, registration, attendance, certs, funding✅Import into public help + Student portal
C6Footer / legal / contactFooter shows UEN - ERF - address - phone - WA - email - data-policy✅Keep in TMS footer

D. Conversion & calls to action

#Checklist itemSOQ observationScoreTMS action
D1Primary CTA obviousExplore Courses - Contact Us To Know More - Get Course Advice✅Dual path: Register + Talk to advisor
D2Consult-led funnel acknowledgedRegistration via website or consultation team✅Enquiry -> CRM (4.6) before or instead of checkout
D3Funding CTA for high intentSubsidy band section drives contact✅WSQ wizard shows net fee early (F-03)
D4Social proof near CTA4.9 / 5.0 rating on homepage⚠️Confirm substantiation; if approved, show on public TMS
D5Low-friction next stepNo pure guest checkout visible — consult-heavy⚠️TMS adds self-serve where SOQ wants it; keep consult option

E. Trust & credibility

#Checklist itemSOQ observationScoreTMS action
E1Regulatory credentialsSWDA-registered ATP - est. 2013✅Trust strip on public + certificates
E2Certification types explainedWSQ SOA - SOQ cert - SOQ diploma - iTEC/VTCT✅Badge per course in catalogue
E3Partner / employer logos“Established organisations that trust SOQ” section⚠️SOQ supplies logo pack + usage rights
E4Media / authority signalsStraits Times / SkillsFuture analysis snippet (Jan 2026)✅Optional news module — dated content
E5Physical presence10 Anson Road, International Plaza #23-08 & #35-16✅Venue on course runs + maps link
E6MySkillsFuture presenceListed as ATP (UEN 201723514D)✅Sync TGS codes in catalogue

F. SEO & structured data

#Checklist itemSOQ observationScoreTMS action
F1Page titles / H1 hierarchyClear H1 on home; course titles as headings✅TMS SSR titles per course
F2Structured data (Course / Organization)JSON-LD observed on Laravel site✅Import appendix -> TMS meta
F3WSQ / subsidy keyword coverageStrong funding FAQ + subsidy bands✅Keep URL slugs + content clusters
F4Internal linkingCategory -> course cards⚠️Breadcrumbs + related courses
F5Performance / Core Web VitalsNot measured in this audit⚠️Target in 5.5 Frontend

G. Mobile, accessibility & compliance

#Checklist itemSOQ observationScoreTMS action
G1Mobile-readable layoutMarketing site responsive (verify on device lab)⚠️Student + Trainer mobile-first in TMS
G2Touch targets on CTAsPrimary buttons present⚠️44px min on check-in + registration
G3Colour contrastNeeds token audit against WCAG 2.2 AA⚠️Contrast check in design sign-off
G4PDPA / privacy links/data-policy on enquiry + footer✅Consent on registration + portal
G5Alt text on imageryVaries by page — audit per URL in appendix⚠️Require alt on catalogue uploads

H. Competitive differentiation

#Checklist itemSOQ observationScoreTMS action
H1Unique positioning vs peersMulti-vertical boutique ATP (beauty + digital + care) vs single-lane rivals✅Messaging in 4.15
H2Same-building rival (Equinet)Both in International Plaza — must win on breadth + service✅Post-enrolment experience is the TMS moat
H3Consult + funding expertiseStrong subsidy storytelling vs form-only competitors✅Net-fee calculator + advisor handoff
H4International certs (iTEC/VTCT)Differentiator vs WSQ-only schools✅Cert type filter + credential display
H5Mandarin programme lineParallel diploma titles — niche vs Equinet✅Language tag on course + cohort

Audit summary — priority fixes for TMS design

PriorityFindingOwner
P0Extract logo, colours, fonts into design tokens (no public brand PDF)SOQ + Eddy (CPO)
P0Catalogue IA — homepage list too long; TMS needs search/filterProduct + FE
P1Confirm 4.9/5 and partner logos — legal approval before reuseSOQ marketing
P1Dual conversion — preserve consult CTAs alongside self-serve registerCRM + Public
P1Funding copy legally aligned with SWDA rules in automated fee UIHK + Finance
P2Re-audit social profiles (LinkedIn, Facebook, Instagram) at discoveryAppendix refresh
P2WCAG contrast + mobile UAT on Student check-in flowsQA

Re-run this audit after TMS public beta and before Day 28 handoff. Compare scores in appendix CSV — goal is all P0 items ✅ before production cutover.


Related

Page
3.1 Discovery & server spec
4.4 Registration portal
4.15 Market intelligence
5.2 Prototype & screens
5.4 UI/UX design system
Section 09

4.1 Attachment A

Prepared by HK, Chief Solution Officer (AIEE.DEV) — SOQ Integrated TMS proposal and requirements baseline, August 2026.

Attachment metadata

FieldValue
AttachmentA — SOQ Training Management System Proposal
TitleSOQ International Academy x Integrated Training Management System
Prepared byHK — Chief Solution Officer, AIEE.DEV
Prepared forSOQ International Academy
DateAugust 2026
Attached toAIEE.DEV CRD Proposal v1.0
StatusRequirements and solution baseline — do not change business intent without SOQ approval
Original documentSOQ_Training_Management_System_Proposal.pdf

Document summary (HK proposal)

HK’s proposal defines one connected platform for SOQ’s full training lifecycle — from first enquiry through SWDA claim and Xero accounting entry.

ElementProposal detail
Applications3 — Admin Workspace, Student Portal, Trainer Portal
Integration layers2 — SWDA/WSQ Integration Hub, Xero
Capability areas13 (mapped one-to-one to SOQ scope)
Timeline20 weeks kickoff to production go-live
ImplementationS$250,000 fixed (Admin S$100k - Student S$100k - Trainer S$50k)
Annual recurringS$43,000 (maintenance S$25k + AWS S$18k) in HK list proposal
SLA99.9% uptime in HK list proposal

Executive thesis: One student record, one course record, one order — shared by portal, admin, student and trainer applications, the SWDA hub, and Xero. WSQ funding evidence is captured at source, not assembled at claim time.

Accountable delivery lead (document author):

NameRoleResponsibility
HKChief Solution OfficerSolution design, delivery leadership, SWDA/Xero integration strategy

Structured requirements (from Attachment A)

The sections below extract and structure the functional scope from HK’s proposal for engineering traceability.


1. Solution Overview

The proposed solution will support SOQ’s complete training lifecycle across diploma programmes, short courses, and WSQ-supported courses.

It will comprise the following systems:

SystemPrimary Purpose
Course Website and Registration PortalCourse discovery, enquiries, applications and registrations
Training Management Admin PortalProgramme setup, course scheduling, admissions, enrolment and student administration
CRM and Sales ManagementManage enquiries, leads, follow-ups, opportunities and sales commissions
Student Learning PortalLearning materials, assessments, classes, attendance and certification
Trainer PortalTrainer scheduling, course delivery, attendance, assessment and fee reporting
SWDA/WSQ Integration HubGovernment grant, attendance, assessment, completion and SkillsFuture Credit integration
Finance and Xero IntegrationCourse orders, invoices, payments, refunds and accounting integration
Reporting and Platform AdministrationDashboards, reports, permissions, audit logs and system configuration

Since 1 July 2026, SkillsFuture Singapore and Workforce Singapore have been merged into the Skills and Workforce Development Agency (SWDA). The proposal uses “SWDA/WSQ Integration”, while recognising legacy SSG or WSG portal and API names may still apply.


2. Course Website and Registration Portal

Public-facing portal for prospective students to discover courses, submit enquiries and complete applications.

2.1 Course Catalogue

#Requirement
1Diploma programme listing
2Short course listing
3WSQ-supported course listing
4Course categories and areas of study
5Course overview, learning outcomes and entry requirements
6Programme structure and modules
7Course duration and training schedule
8Training mode, venue and available course runs
9Trainer information, where applicable
10Course fees, subsidies and estimated net fees
11Available seats and registration closing dates
12Course comparison and enquiry submission

2.2 Applicant Account and Identity

#Requirement
1Account registration using email or mobile number
2Singpass login for eligible Singapore-based applicants
3Support for overseas applicants without Singpass
4Applicant profile and contact information
5Citizenship and residency information
6Employment and education details
7Supporting document upload
8Consent and declaration management
9Application and registration history

2.3 Diploma Programme Application

#Requirement
1Online application form
2Entry requirement validation
3Academic and professional document submission
4Application fee collection, where applicable
5Application screening
6Internal review and approval
7Interview or assessment scheduling
8Offer letter generation
9Applicant acceptance or rejection of offer
10Course fee payment
11Enrolment confirmation
12Application status tracking
13Withdrawal, deferment and intake transfer requests

2.4 Short Course Registration

#Requirement
1Select course run and schedule
2Enter participant information
3Individual or corporate-sponsored registration
4Promotional code and discount application
5Course fee calculation
6Online payment
7Registration confirmation
8Waitlist management
9Cancellation, replacement and transfer requests

2.5 WSQ Course Registration

#Requirement
1Singpass authentication
2Participant identity verification
3Eligibility assessment for government course fee subsidies
4Calculation of estimated subsidised course fees
5SkillsFuture Credit payment or claim integration
6Employer-sponsored registration
7Grant application submission
8Registration and funding status tracking
9Declaration and supporting document submission
10Exception handling for unsuccessful eligibility or grant checks

Singpass, subsidy and SkillsFuture Credit functions depend on APIs and access granted to SOQ.


3. Training Management Admin Portal

Main operational system for SOQ management, academic, admissions and course administration teams.

3.1 Programme and Course Management

#Requirement
1Create and maintain diploma programmes and short courses
2Identify WSQ-supported and non-WSQ courses
3Define programme structure and academic modules
4Configure module credits, duration and contact hours
5Define prerequisites and entry requirements
6Configure learning outcomes
7Configure assessment and completion requirements
8Maintain course versions and effective dates
9Configure trainer qualification requirements
10Manage course fees, subsidies, discounts and taxes
11Manage certification rules
12Manage programme and course approval status

3.2 Course Run and Intake Planning

#Requirement
1Create diploma intakes and student cohorts
2Create individual short course runs
3Define registration opening and closing dates
4Configure minimum and maximum class sizes
5Plan lesson and assessment schedules
6Assign classrooms, training locations or Zoom sessions
7Manage public holidays and blackout dates
8Detect trainer, classroom and schedule conflicts
9Waitlist and seat allocation management
10Course run cancellation or rescheduling
11Student notifications for schedule changes
12Academic and operational calendar

3.3 Trainer Rostering

#Requirement
1Trainer profile and qualification records
2Trainer availability management
3Match trainer qualifications to course requirements
4Assign lead and assistant trainers
5Trainer workload planning
6Conflict detection
7Substitute trainer assignment
8Trainer acceptance of assignments
9Teaching-hours calculation
10Trainer check-in and check-out records
11Trainer fee and commission calculation

3.4 Admissions Management

#Requirement
1Central application queue
2Separate workflows for diploma and short courses
3Application completeness checking
4Entry requirement validation
5Supporting document review
6Interview and assessment management
7Reviewer assignment
8Application approval or rejection
9Offer letter generation
10Offer acceptance tracking
11Payment and deposit verification
12Student number generation
13Conversion from applicant to enrolled student
14Withdrawal, deferment and intake transfer processing
15Complete approval and decision history

3.5 Module Exemption and Fee Waiver

#Requirement
1Retrieve the student’s previous learning records
2Match previously completed modules against the new programme
3Check whether an equivalent module was completed within the preceding 18 months
4Configurable module equivalency rules (18-month validity must be configurable, not hard-coded)
5Supporting evidence and transcript review
6Academic approval workflow
7Full or partial module exemption
8Automatic adjustment of the student’s study plan
9Automatic waiver of the corresponding module fee
10Revised invoice and payment schedule
11Exemption letter generation
12Complete audit trail of decisions and fee adjustments

3.6 Enrolment and Class Management

#Requirement
1Enrol students into programme intakes or course runs
2Assign students to classes and modules
3Class transfer and replacement
4Waitlist promotion
5Student status management
6Deferment, suspension, withdrawal and completion
7Attendance requirements
8Assessment eligibility
9Completion status
10Class and student communication
11Bulk upload and bulk updates

3.7 Student 360

Consolidated view: personal and contact information; citizenship and residency; employer or sponsor; enquiries and CRM history; applications and offer letters; current and previous enrolments; diploma programmes and modules; short courses and WSQ courses; attendance records; assessment results; learning progress; module exemptions; funding and subsidy information; SkillsFuture Credit payment status; orders, invoices, payments and refunds; certificates and transcripts; documents and declarations; communications, notes and follow-up activities; withdrawal or disciplinary records; complete activity history.

3.8 Attendance Management

#Requirement
1Session-level attendance records
2Student self-check-in using QR code or one-time code
3Trainer-recorded attendance
4Manual attendance adjustment
5Late arrival and early departure recording
6Attendance verification and approval
7Trainer check-in and check-out
8Supporting evidence upload
9Attendance percentage calculation
10Minimum attendance requirement validation
11Absence alerts and follow-up
12Make-up session management
13Submission of required attendance records to SWDA
14Attendance reconciliation and exception management

3.9 Assessment and Certification

#Requirement
1Assessment schedule
2Online and offline assessment records
3Assignment and examination management
4Assessment submission
5Trainer marking and moderation
6Pass, fail and resubmission rules
7Competent or Not Yet Competent outcomes for applicable courses
8Result approval and release
9Appeals and reassessment
10Course completion validation
11Certificate and transcript generation
12Digital certificate support
13Certificate verification
14Certificate revocation or replacement
15Submission of assessment and completion outcomes to SWDA where required

4. CRM and Sales Management

CRM manages prospective students before enrolment; TMS is the primary operational record after enrolment.

4.1 Lead and Enquiry Management

#Requirement
1Capture enquiries from website forms
2Manual lead creation
3Import existing records from Privyr
4Capture source, campaign and referral information
5Individual and corporate leads
6Course enquiry tracking
7Duplicate lead detection
8Lead qualification
9Lead status and priority
10Lead activity timeline

4.2 Lead Assignment and Tagging

#Requirement
1Manual assignment to sales agents
2Automatic assignment by course, market, language or customer type
3Round-robin lead distribution
4Reassignment and escalation
5Automatic customer-type tagging
6Manual tags
7Lead scoring
8Follow-up reminders
9Unattended lead alerts

4.3 Opportunity Management

#Requirement
1Convert qualified enquiries into opportunities
2Link opportunities to courses or programme intakes
3Record expected course fees and probability
4Track application progress
5Follow-up tasks and appointments
6Lost opportunity reasons
7Opportunity pipeline
8Convert opportunity into an application
9Convert successful applicants into students
10Retain the complete enquiry-to-enrolment history

4.4 Communication and Follow-Up

#Requirement
1Email and SMS templates
2WhatsApp integration, if required
3Appointment scheduling
4Automated follow-up sequences
5Application reminder
6Payment reminder
7Course commencement reminder
8Communication history
9Marketing consent and opt-out management

4.5 Sales Commission Management

#Requirement
1Commission plans by programme, course or salesperson
2Fixed-value or percentage-based commission
3Commission eligibility rules
4Commission based on registration, payment or course commencement
5Clawback rules for refunds and withdrawals
6Split commission between multiple agents
7Commission review and approval
8Monthly commission statement
9Export to payroll or accounting
10Commission dashboard and reports

4.6 CRM Reports

#Requirement
1Leads by source and course
2Lead response time
3Lead-to-application conversion
4Application-to-enrolment conversion
5Sales pipeline
6Enrolment value by sales agent
7Lost opportunity reasons
8Campaign performance
9Sales target versus actual
10Commission summary

5. Student Learning Portal

5.1 Student Dashboard

Current programmes and courses; upcoming classes; outstanding assessments; attendance status; announcements; outstanding payments; learning progress; recently issued certificates.

5.2 Course Schedule and Virtual Classes

Personal timetable; course and module schedules; classroom and venue information; Zoom meeting links; calendar view; add sessions to personal calendar; schedule change notifications; class reminders.

5.3 Learning Content

Course materials; notes and presentation slides; reference documents; recorded lessons; video streaming; download restrictions; content release by date or progress; completion tracking; content acknowledgement.

5.4 Online Assessment

Quizzes and tests; assignments and file submissions; timed assessments; multiple attempts and resubmissions; automatic and trainer-based marking; results and feedback; assessment history; appeal or reassessment request.

5.5 Collaboration and Engagement

Course discussion boards; student-to-trainer questions; class announcements; Pigeonhole Live integration; polls, questions and feedback; moderated discussions; notifications of new responses.

5.6 Attendance and Check-In

QR code or one-time-code check-in; view personal attendance; submit absence reasons; upload supporting documents; request attendance correction; receive attendance shortage alerts.

5.7 Learning History and Certification

Current and completed courses; completed modules; module exemptions; attendance history; assessment results; certificates and transcripts; digital certificate download; certificate verification link; continuing education record.

5.8 Student Self-Service

Update permitted profile information; upload documents; view application and enrolment status; accept offer letters; make course payments; view invoices and receipts; submit withdrawal, deferment or transfer requests; submit support enquiries.


6. Trainer Portal

6.1 Trainer Profile

Personal and contact information; qualifications and certifications; areas of expertise; approved courses; supporting documents; availability; contract and fee arrangement; certification expiry reminders.

6.2 Trainer Roster

Personal teaching schedule; assigned classes and sessions; calendar view; accept or decline assignments; availability submission; schedule change notification; substitute assignment.

6.3 Course Delivery

View course and module details; access trainer materials; view lesson plans; view enrolled student list; view approved student accommodations or exemptions; start Zoom classes; publish announcements; submit session notes.

6.4 Attendance Management

Trainer check-in and check-out; record student attendance; verify student self-check-ins; record late arrival and early departure; amend attendance with reasons; upload supporting evidence; submit attendance for approval; view attendance exceptions.

6.5 Assessment and Results

View assessment requirements; review student submissions; mark assessments; record competency outcomes; provide feedback; manage resubmissions; submit results for moderation or approval; view result submission status.

6.6 Trainer Fees and Commission

Calculate fees based on approved training hours; different rates by course or trainer; additional fee and allowance entry; commission calculation, where applicable; monthly earnings statement; trainer invoice or claim submission; review and approval status; payment history; export approved amounts to Xero.


7. SWDA/WSQ Integration Hub

Because government integration may involve more than 40 APIs, this should be designed as a dedicated integration layer rather than embedding individual API calls throughout the system.

7.1 API Integration Management

#Requirement
1Secure API authentication and credential management
2Sandbox and production environment configuration
3API request and response logging
4Data mapping and validation
5Scheduled and real-time submissions
6Automatic retry for temporary failures
7Duplicate submission prevention
8API version management
9Error queue and manual resubmission
10Operational monitoring and alerts

7.2 Functional Integration Areas

Course and course-run information; trainee registration; identity and eligibility verification; government subsidy eligibility; grant application submission; grant status enquiry; SkillsFuture Credit claim and payment; course fee and funding information; enrolment updates; withdrawal and cancellation; session and attendance submission; assessment result submission; course completion submission; certification information; claim, disbursement and payment status; reconciliation and exception handling.

7.3 Integration Operations Dashboard

Submission status by course run; pending and rejected transactions; missing information alerts; grant application status; attendance submission status; completion submission status; funding and disbursement status; API error details; resubmission controls; complete integration audit trail.

Final API list confirmed during discovery against SOQ’s approved SWDA subscriptions, operating model and course types.


8. Finance and Xero Integration

8.1 Course Order Management

Create an order upon application or registration; individual and corporate-sponsored orders; course fee breakdown by module; subsidy and grant deductions; SkillsFuture Credit allocation; discounts and promotional codes; module exemption fee waivers; deposits and instalment plans; order amendment and approval; order cancellation.

8.2 Billing and Payment

Invoice generation; online payment gateway integration; payment status tracking; partial and instalment payments; corporate billing; receipt generation; credit notes; refund processing; outstanding payment reminders; ageing report; financial holds on enrolment or certification.

8.3 Xero Integration

Synchronise students and corporate sponsors as Xero contacts; create Xero invoices from approved TMS orders; update invoice status when payment is recorded; synchronise payments and credit notes; post approved refunds; post trainer fees or supplier bills where required; map course revenue to Xero account codes; map taxes and tracking categories; reconciliation dashboard; failed transaction handling; synchronisation history and audit log.

Rule: TMS owns course pricing, subsidies, exemptions and orders. Xero remains the accounting system of record for invoices, payments, credit notes and financial reporting.


9. Reporting and Dashboards

9.1 Management Dashboard

Applications and enrolments; active students; upcoming course runs; course capacity and utilisation; attendance and completion rates; assessment and pass rates; revenue and outstanding payments; subsidy and grant status; trainer utilisation; sales performance.

9.2 Academic and Operations Reports

Programme and course-run report; enrolment report; student progress report; attendance report; assessment result report; completion and certification report; withdrawal and deferment report; module exemption report; trainer roster and teaching-hours report; classroom utilisation report.

9.3 SWDA/WSQ Reports

Trainee registration status; grant application status; attendance submission status; assessment and completion status; funding and disbursement report; rejected or incomplete submission report; reconciliation report; API transaction report.

9.4 Financial and Sales Reports

Course revenue; revenue by programme and intake; subsidy and SkillsFuture Credit utilisation; outstanding invoices; refund and withdrawal amounts; lead conversion; sales agent performance; sales commission; corporate-sponsored enrolments.


10. User Management and Shared Platform Services

10.1 User and Access Management

User account management; role-based access control; department and team-based permissions; access by programme or course; data-level restrictions; account activation and deactivation; password and session policies; multi-factor authentication; Singpass authentication where applicable; delegated approval authority.

Typical roles: System Administrator, Management, Academic Administrator, Course Administrator, Admissions Officer, Sales Manager, Sales Agent, Finance Officer, Trainer, Student, Auditor or Read-Only User.

10.2 Workflow and Approval Management

Configurable application workflows; offer approval; module exemption approval; fee waiver and discount approval; refund approval; attendance adjustment approval; assessment result approval; trainer fee approval; escalation and delegation; approval history.

10.3 Notifications and Document Management

Email, SMS and in-app notifications; configurable notification templates; offer letters; enrolment confirmation; invoices and receipts; attendance alerts; course reminders; certificates and transcripts; central document repository; document versioning and access controls.

10.4 Governance and Audit

Complete user activity log; record creation and change history; approval audit trail; integration transaction logs; personal data access logs; consent management; data retention settings; data export and anonymisation; PDPA-aligned access and handling controls.


Recommended System Boundary (Customer)

To avoid unnecessary duplication, SOQ can operate with three main user-facing applications:

  1. SOQ Admin Workspace — TMS, CRM, admissions, finance operations, reporting and administration
  2. SOQ Student Portal — Registration, learning, attendance, payments and certification
  3. SOQ Trainer Portal — Rostering, course delivery, attendance, assessment and trainer fees

The SWDA/WSQ integration layer and Xero integration should operate behind these applications as shared services.


End of Attachment A

Attachment A is the SOQ TMS proposal and requirements baseline, prepared by HK, Chief Solution Officer, AIEE.DEV. Original PDF: SOQ_Training_Management_System_Proposal.pdf

Section 10

4.2 PRD

Prepared by Eddy, Chief Product Officer (AIEE.DEV) — full PRD with FR/NFR IDs, MoSCoW priorities, 23 sections, architecture-aligned draft.

PRD-SOQ-TMS-1.1 · Formal Requirement Oracle

FieldNormative value
Doc-IDPRD-SOQ-TMS-1.1
BaselineATT-A-HK-2026-08
ConformanceRFC 2119
Identifier namespacesFR-{domain}-{nn} · NFR-{nn} · DQ-{nn}
StatusDRAFT_ARCH_ALIGNED

Reader profile: Staff engineers, QA automation, integration owners. Non-engineering interpretation discouraged — refer §23–§25 for commercial semantics.


0 · Identifier lattice

PrefixSemanticsTest binding
FR-*Functional SHALL/MUSTtests/acceptance/fr/{id}.test.ts
NFR-*Quality attributek6 · axe · chaos · DR drill
DQ-*Discovery delta (unresolved)Block release if M priority
SYS-*Attachment-A invariantTrace matrix §00

MoSCoW: M = release blocker · S = contract milestone · C = backlog · W = won't v1


1 · Problem invariant (compressed)

Legacy SOQ stack = {legacy_tms, privyr, xero} without unified student_id keyspace. Symptom classes:

Symptom-IDRoot causeTarget subsystem
S-RECON-01Dual SoR enrolment vs CRMEnrolment + Crm handoff event
S-FUND-02Retroactive SWDA evidence assemblySwdaHub outbox from AttendanceFact
S-FIN-03Manual Xero re-keyFinanceOrders → XeroAdapter mirror
S-EXM-04Hard-coded exemption windowpolicy-engine DSL

2 · Product boundary (normative)

``` APP = { public-web, admin-workspace, student-portal, trainer-portal } SVC = { swda-hub, xero-adapter, notification-dispatcher, policy-engine } |APP_user_facing| = 3 + 1 public ```

Course-type taxonomy: DIPLOMA | SHORT | WSQ — enum frozen in catalogue.course_funding_type.

SWDA nomenclature: canonical SWDA; adapter maintains legacy_alias ∈ {SSG, WSG} field map until vendor EOL.


3 · Success metrics (instrumentation IDs)

Metric-IDDefinitionCollectionMVP target
M-CONV-01enrolled / enquiriescrm.funnel+10% (S)
M-ADM-02median(handle_time) diploma_appOTel span−60% (M)
M-SWDA-03reject_rate(submissions)integration_txn_log<2% (M)
M-FIN-04manual_journal_countXero diff job−50% (S)

4 · Scope tensor

In-scope v1: FR domains §7–§15 · SwdaHub P2 · Xero mirror · RBAC §15 · Outbox async

Out-of-scope v1: GATCOMS agency portal · ai.HumanCapital · D-GENIO proctor parity · native mobile · multi-region funding


5 · Persona → RBAC role map

PersonaRole slugData scope
SysAdminplatform.admin*
Admissionsadmissions.officerprogramme_id ∈ assigned
Financefinance.officerorder.* read/write
Salessales.agentlead.* pre-enrolment
Trainertrainersession_id ∈ roster
Studentstudentself
Auditorauditor.roread-only append-log

6 · Container overview

See CRD §17. Event bus: Redis Streams or Horizon queue — domain events MUST NOT invoke HTTP synchronously to SWDA from request thread.


7 · FR — Student Portal (public layer)

IDPriorityRequirement
FR-STU-001MGET /v1/catalogue paginated; filter funding_type, category, run_date
FR-STU-010MApplicant auth: email_otp | singpass_oidc | overseas_credential
FR-STU-020MWSQ reg wizard: sequential gate identity → eligibility → fee_estimate → payment
FR-STU-030SCourse compare max 3 SKUs client-side
FR-STU-040CPigeonhole embed post-MVP

Illegal state transition → HTTP 409 + error_code=FSM_VIOLATION.


8 · FR — Admissions / registration / funding

IDPriorityRequirement
FR-ADM-001MDiploma FSM: DRAFT→SUBMITTED→SCREENING→OFFERED→ACCEPTED→ENROLLED
FR-ADM-010MSeat lock: SELECT FOR UPDATE on course_run.seats_available
FR-ADM-020MWSQ: subsidy_estimate computed pre-payment via policy-engine
FR-ADM-030MSFC hold/release integrated with payment intent
FR-ADM-040SWaitlist priority queue FIFO with promoted_at

9 · FR — Admin Workspace

IDPriorityRequirement
FR-ADM-100MProgramme version immutability post first enrolment on version
FR-ADM-110MScheduler conflict detection O(n²) slots acceptable MVP; optimize P2
FR-ADM-120MExemption: POL-EXM-* output binds order_line adjustment
FR-ADM-130MStudent360 materialized view refresh lag ≤ 60s
FR-ADM-140MAttendance QR nonce TTL 120s single-use

10 · FR — CRM / commission

IDPriorityRequirement
FR-CRM-001MLead dedupe key hash(normalize(email), normalize(mobile))
FR-CRM-010SPrivyr import idempotent on external_id
FR-CRM-020MApplicationCreated event freezes CRM opportunity writes
FR-CRM-030MCommission accrual on PaymentCleared; clawback on RefundPosted

11 · FR — Learning portal (enrolled)

IDPriorityRequirement
FR-LRN-001MTimetable ICS export optional
FR-LRN-010MCheck-in POST /v1/sessions/{id}/checkin {nonce}
FR-LRN-020SSCORM/LTI adapter interface stub only MVP

12 · FR — Trainer portal

IDPriorityRequirement
FR-TRN-001MRoster accept/decline within configurable TTL
FR-TRN-010MAttendance batch submit triggers AttendanceFactRecorded × N
FR-TRN-020SPayable export POST /v1/trainer/payables/export-xero

13 · FR — SwdaHub

IDPriorityRequirement
FR-SWDA-001MAll gov IO via hub; credential vault
FR-SWDA-010MOutbox + idempotency keys
FR-SWDA-020MOps dashboard: pending/rejected/DLQ
FR-SWDA-030SSandbox/prod env switch RBAC-gated

API inventory: DQ-SWDA-001 — confirm against SOQ subscription manifest.


14 · FR — Finance / Xero

IDPriorityRequirement
FR-FIN-001MOrder aggregate root owns pricing snapshot
FR-FIN-010MInvoiceMirror 1:1 order
FR-FIN-020MCert issuance blocked if financial_hold.active
FR-FIN-030SReconciliation diff report cron

15 · FR — Platform (RBAC, audit, notify, docs)

IDPriorityRequirement
FR-PLT-001MRBAC middleware on all /v1/* mutators
FR-PLT-010Maudit_log append-only; no UPDATE/DELETE
FR-PLT-020MPDPA consent record on applicant PII create
FR-PLT-030SNotification template versioning

16 · NFR catalogue

IDRequirement
NFR-0199.9% availability monthly
NFR-02API p95 < 300ms reads at 500 RPS burst registration
NFR-03SWDA submission exactly-once effect
NFR-04WCAG 2.2 AA public/student
NFR-05PDPA access logging
NFR-06RPO 24h / RTO 4h MVP
NFR-07PCI SAQ-A (gateway redirect)

17 · Journey sequences (reference)

WSQ happy path:

``` catalogue.select → singpass.auth → eligibility.check → order.create → payment.capture → enrolment.commit → swda.register (async) ```

Sequence diagrams: external docs/sequences/ (not in this oracle).


18 · Conceptual ERD (abbreviated)

``` organisation ||--o{ programme : owns programme ||--o{ course_run : schedules course_run ||--o{ session : contains student ||--o{ enrolment : has enrolment ||--o{ order : generates order ||--o{ order_line : contains session ||--o{ attendance_fact : records ```

Full DDL: services/api/database/migrations/ (implementation phase).


19 · Dependencies / constraints

Dep-IDSystemBlocking
DEP-01SWDA sandbox credentialsP2 start
DEP-02Singpass OIDC clientWSQ public reg
DEP-03Xero OAuth tenantP3
DEP-04Payment gateway MIDPaid reg

20 · Risk register (technical)

R-IDRiskMitigation
R-01SWDA API driftAdapter version pins + contract tests
R-02Rate limit 429 stormToken bucket worker pool
R-03Xero sync driftReconciliation cron + alert

21 · Release milestones

PhaseGateFR subset
P1Non-SWDA E2EFR-STU, FR-ADM-100–140 (subset)
P2SWDA parallel-runFR-SWDA-*
P3Finance reconcileFR-FIN-*
P4CRM conversionFR-CRM-*

22 · Open discovery (DQ-*)

IDQuestionOwner
DQ-SWDA-001Complete API manifestHK
DQ-XERO-001COA mappingFinance
DQ-PRIV-001Privyr import modeCPO

23 · Glossary (symbol table)

TermDefinition
SWDASkills and Workforce Development Agency — Singapore agency (from Jul 2026 merger of SSG + WSG) overseeing WSQ, subsidies, SkillsFuture Credit, and ATP compliance via systems such as TPGateway
WSQWorkforce Skills Qualifications — national skills certification framework
ATPApproved Training Provider
TPGatewayTraining Partners Gateway — SWDA platform for ATP course/trainee/claim submissions
SFCSkillsFuture Credit — individual learner funding wallet
SoRSystem of Record
NYCNot Yet Competent
OutboxTransactional event relay pattern

Author: Eddy (CPO) · AIEE.DEV · Cross-ref: CRD §02 · Implementation Doc v1

Section 11

4.3 Solution overview

SOQ-specific product boundary — replace TrainingSystemSG + Laravel catalogue with one TMS.

Purpose

What SOQ actually sells today -> what the TMS must own. Full requirements: 4.1 Attachment A.

SOQ product lines (from live site + PEI)

LineExamplesMode / pattern
Business diplomasIntl Business Development / Management (+ Mandarin)Blended - ~208 hrs - 6 mo
Beauty diplomasBeauty Specialist (SOQ-DBS) - Make Up - Lash - SMPU - Aromatherapy (+ ZH)Blended - 192–224 hrs - 6–8 mo - instalments (“From $499.77/mo”)
Care diplomasMaternal, Newborn & Infant Care (+ Mandarin)Blended - ~252 hrs
iTEC / VTCTHolistic Massage - Fashion/Theatre/Media Make-up (+ Express/ZH)Classroom / blended - international cert
WSQ / Gen AI shortIntegrated Digital Marketing with Gen AI (TGS-2023041023) - Campaign Mgmt with Gen AIClassroom - 16 hrs - funded nets - SFC
WorkshopsBrand Management - Product Demo - Meridian/Bojin - Dementia Care - …1–12 sessions - classroom

Rules that must live in TMS (not brochure copy): >=75% attendance for subsidy - GST separate - diploma instalments - Mandarin = separate SKU - max completion windows (e.g. Beauty Specialist 18 mo) - no Student Pass / Work Pass learners only where stated.

Today’s stack (replace / integrate)

PieceLive clueTMS action
Marketing siteLaravel - soq.edu.sg - /course/{slug}Public catalogue + SEO import
Student / enrolTrainingSystemSG TMS - /TMS/program/{id}P0 cutover
SchedulesGoogle Drive PDFs on course pagesNative course runs
LeadsWeb form + WhatsApp + (Privyr — confirm)CRM
FinanceXero (CRD) - PayNow/NETS/cards/SFC (FAQ)Orders in TMS -> Xero GL
Funding railSWDA ATP UEN 201723514DHub — APIs confirm in discovery

Application boundary

AppSOQ job
Public + RegistrationCatalogue filters - course detail (Overview/Cert/Trainer/FAQ) - enquiry - Enroll - funded fee estimate
Admin WorkspaceProgrammes - IP rooms - runs - admissions - Student 360 - attendance - orders - SWDA ops
Student PortalReplace TrainingSystemSG login — timetable - check-in - assessments - pay - certs
Trainer PortalRoster - mark attendance/assessment - fee claims - bios from /trainer/*
SWDA HubGrant / attendance / completion / SFC payloads (entitlements TBD)
Xero adapterInvoices - payments - credit notes

Data ownership

DomainSoR
Pricing - subsidy lines - ordersTMS
Enrolment - attendance - assessment evidenceTMS
Enquiry -> offer -> enrolment historyTMS (CRM pre-enrol)
Invoices - payments - GLXero
Gov grant / claim payloadsSWDA hub

Related

Link
4.1 Attachment A
3.1 Discovery — known facts + gaps
5.7 Architecture
4.8 SWDA & finance
Section 12

4.4 Registration

Public SOQ catalogue + consult/enrol journeys — mirrors soq.edu.sg, replaces TrainingSystemSG enroll links.

Purpose

Public discovery and registration for SOQ’s real verticals. Baseline: Attachment A 2.

Catalogue (match live IA)

FilterSource today
AI & Business - Beauty & Wellness - Retail & Soft Skills - WorkshopHomepage tabs
Language EN / ZHMandarin twin URLs
Type Diploma - WSQ - iTEC - WorkshopCards + PEI list
Funding eligibleWSQ pages list MCES/SFC/SFEC/UTAP

Course detail template (Beauty Specialist / Gen AI pages): code (SOQ-DBS / TGS-…) - mode - duration - assessment - modules + hour split - entry requirements - outcomes - trainers - FAQ - related courses - sticky Enroll + Contact + “From $…” + schedule link.

Journeys (SOQ-shaped)

JourneyTodayTMS target
ConsultForm (Individual/Corporate) - WA - call - walk-in IPEnquiry -> CRM lead - same fields + PDPA
WSQ shortContact / Enroll -> consultant - SFC via MySkillsFuture SingpassSelf-serve + advisor: eligibility -> net fee -> SFC/pay -> confirm
DiplomaEnroll -> TrainingSystemSG programme - instalment “From $X/mo” - Drive scheduleApply -> docs -> offer -> instalment/pay -> run assignment
Corporate / SFECCorporate Training page - custom programmeCorporate enquiry - company invoice - SFEC flags
WorkshopShort classroom cardsRegister -> pay -> seat on run

Singpass: Public site uses it for SFC claim guidance, not enrol login — wire Singpass/MyInfo only where discovery confirms.

Fee UI requirements

Must showLive clue
Gross - GST - funded net bandsFAQ + funding blocks
Monthly instalment option (selected diplomas)“From $499.77/Month”
SFC remaining after funding - Level-Up exclusionsGen AI FAQ ($4k Mid-Career not eligible)
Full pricing table (admin-sourced)“View Full Pricing” modal today

Screens / flows

F-01–F-04: 5.2 Prototype & screens.

Related

  • 4.1 Attachment A 2
  • 4.3 Solution overview
  • 3.2 Brand appendix
Section 13

4.5 Admin

SOQ ops console — International Plaza rooms, diploma/WSQ runs, admissions, 75% attendance, funded orders.

Purpose

Staff console for SOQ’s multi-vertical ATP. Baseline: Attachment A 3.

Module map (SOQ-specific)

DomainImplement against
CataloguePEI diploma list + homepage workshops - Mandarin twins - iTEC lines - TGS/SOQ codes
VenuesIP #23-08 (Room A/B) - #35-16 (Rooms 1/3/4) - capacities 18–28 - client-site corporate
RunsReplace Drive PDFs — dates - language - seats - trainer - room conflict
AdmissionsDiploma entry rules (age/O-Level/WPLN) - interview/exception path - no Student Pass
EnrolmentStudent 360 - class assign - legacy TMS import
AttendanceSession matrix - 75% subsidy gate - QR/check-in
AssessmentMCQ - Practical - Portfolio (e.g. 5x3) - Case study - Project
Finance opsOrders - subsidy/SFC lines - instalments - holds — GL in Xero
SWDA opsPending/reject/resubmit — APIs confirm in discovery
ReportsOccupancy by room - funding mix - vertical enrolment

Related

  • 4.1 Attachment A 3
  • 4.6 CRM - 4.8 Finance
Section 14

4.6 CRM & sales

Consult-led SOQ funnel — web/WhatsApp/walk-in/Privyr -> funded enrolment.

Purpose

Pre-enrolment sales matching SOQ’s consult-heavy GTM. Baseline: Attachment A 4.

Lead sources (live)

SourceFields / notes
Website formName - Contact - Email - Course - Message - Individual/Corporate - PDPA - captcha
WhatsApp+65 8718 2308 floating chat
Phone / walk-in+65 6996 3383 - International Plaza
PrivyrConfirm export at discovery
Corporate pageCustom training enquiry

Pipeline

Enquiry -> qualified (funding check) -> application/enrol handoff -> TMS owns post-enrol.

CapabilityNote
AssignmentCourse consultants
Funding tagsMCES - Baseline - SFC - UTAP - SFEC - full-fee foreign
CommissionFrom actual payments; clawback on refund
Dual CTAKeep Talk to advisor beside self-serve register

Related

  • 4.1 Attachment A 4
  • 4.3 Solution overview
Section 15

4.7 Student & trainer portals

Replace TrainingSystemSG student login; trainer delivery for ACTA/ACLP faculty.

Purpose

Learner + trainer apps for SOQ delivery reality. Baseline: Attachment A 5–6.

Student Portal (cutover target)

Replace soq.trainingsystemsg.com/TMS/login.

NeedSOQ context
DashboardActive diploma / WSQ / workshop enrolments
TimetableClassroom + blended async hours
Check-inMobile - feeds 75% rule
AssessmentsMCQ - practical - portfolio upload
PaymentsRemaining instalments - SFC status - GST invoices
CertificatesWSQ SOA - SOQ diploma/cert - iTEC/VTCT
Self-serviceReschedule (FAQ: 10 WD - 1 complimentary) - withdraw request

Trainer Portal

NeedSOQ context
RosterRuns at IP rooms - corporate on-site
AttendanceMark / verify sessions
AssessmentPractical + portfolio marking
ProfileSync public /trainer/{slug} bios
FeesClaims -> admin -> Xero

Screens / flows

F-04–F-08 - F-12: 5.2 Prototype & screens.

Related

  • 4.1 Attachment A 5–6
  • 4.10 Chat agents
Section 16

4.8 SWDA & finance

Government integration hub, Xero accounting, management dashboards, and operational reports.

Purpose

Government funding rail + finance boundary. Requirements baseline: Attachment A 7–9. Board glossary: 1.1 Overview 3.

SWDA / WSQ Integration Hub

Dedicated integration layer — not scattered API calls in UI controllers. May involve 40+ APIs; final list confirmed in discovery.

Interaction sequence
Rendering diagram…

Hub capabilities

Capability
Sandbox/production credentials - mapping - validation
Scheduled and real-time submit - retry - idempotency
Ops dashboard: pending, rejected, resubmit, audit trail

Functional areas (indicative)

AreaScope
Course/run - trainee - eligibility - subsidy/grant - SFC - enrolment - attendance - assessment/completion - certification - claimFinal API list confirm in discovery — do not assume full SWDA entitlement set

Finance & Xero

TMS owns pricing, subsidies, exemptions, orders. Xero owns invoices, payments, credit notes, GL.

TMSXero
Orders, fee breakdown, subsidy/SFC linesContacts, invoices, payments, bills
Financial holds on enrolment/certRevenue accounts, tax, reconciliation

Reporting

Management, academic/ops, SWDA/WSQ, and financial/sales dashboards — detail in Attachment A 9.

Related

Link
4.1 Attachment A 7–9
5.7 Architecture
2.2 Grants — EDG vs WSQ funding (different schemes)
Section 17

4.9 Platform

User management, workflows, notifications, documents, and PDPA-aligned audit controls.

Purpose

Cross-cutting platform services. Canonical requirements: Attachment A 10.

Summary

AreaScope
Identity & RBACAccounts, roles, MFA, Singpass where applicable
WorkflowsConfigurable approvals (offers, exemptions, refunds, fees)
NotificationsEmail / SMS / in-app templates
DocumentsCentral repository with versioning
GovernanceActivity log, PII access log, PDPA retention

Related

  • 4.1 Attachment A 10
  • 4.10 Chat agents — agents respect the same RBAC
Section 18

4.10 Chat agents

One OpenRouter gateway, multimodal models, and a customisable chat agent per user — Student, Educator, Company, and Admin packs.

Decision (locked for product design)

ChoiceValue
LLM gatewayOpenRouter — single API key, multi-provider, model hot-swap
MultimodalYes — text + images + PDFs (certificates, attendance sheets, NRIC/passport scans where allowed)
Agent modelEvery user gets their own chat agent (isolated threads + memory scoped to that user)
CustomisationPersona packs + per-org overrides (prompt, tools, model tier, knowledge scope)
PhasePhase 2 after Plan SOQ-25K core TMS go-live (not in the 28-day MVP build)

Why OpenRouter

  1. One integration — SOQ TMS talks to OpenRouter only; swap models without rewriting the app.
  2. Open + closed models — use open-weight for cost, premium closed for hard funding/policy questions.
  3. Failover — if one provider is down, route to a backup model ID.
  4. Spend control — per-model and per-org budgets; log every call with user_id + agent_id.

Secrets: OpenRouter API key lives in server env only. Browsers never see the key. Chat goes through SOQ TMS /api/chat with auth + RBAC.


Recommended models (via OpenRouter)

Pick one default + one open + one premium. Admin can change the mapping later without a deploy.

TierSuggested OpenRouter modelUse forMultimodal
Default (volume)google/gemini-2.5-flash (or current Gemini Flash on OpenRouter)Student & educator everyday chat, image/PDF Q&AText - image - PDF
Open-weightqwen/qwen2.5-vl-72b-instruct (or current Qwen VL / Qwen3 VL Max)Cost control, open-model preference, on-prem path laterText - image
Premium reasoninganthropic/claude-sonnet-4 (or current Claude Sonnet)Admin / funding / policy answers that need careful groundingText - image
Budget fallbackopenai/gpt-4o-mini or Gemini Flash-LiteOutage failover, short FAQ repliesText - image

Practical default for SOQ

ChoiceModelWhy
DefaultGemini FlashBest speed / cost / multimodal for training ops
Open optionQwen VLOrg-wide or per-persona open-weight preference
Premium (Admin / funding)Claude SonnetCloser adherence to policy text

Model IDs on OpenRouter change over time. Store them as config (agent_profiles.model_id), not hard-coded constants. Re-validate IDs at kickoff of Phase 2.


Persona packs (customisable)

Every signed-in user gets their own agent instance: private thread history, optional short-term memory, and tools limited by role.

PersonaWhoAgent jobAllowed context (RAG / tools)Default model tier
StudentLearnersCourse help, schedule, fees due, attendance status, "what's next"Own enrolment, timetable, invoices, course materialsDefault (Flash)
EducatorTrainers / lecturersRoster, session prep, attendance help, marking guidanceOwn classes, roster, session materialsDefault (Flash)
CompanyCorporate sponsors / HRStaff enrolments, invoices, progress summariesOwn company cohort onlyDefault (Flash)
AdminSOQ ops / admissions / financeOps Q&A, Student 360 summaries, SWDA status explainersRole-scoped TMS data + approved SOP docsPremium (Sonnet)
Sales (optional)Agents / CRM usersLead follow-up scripts, course recommendersOwn leads + public catalogueDefault (Flash)

What “customisable” means

SOQ (or AIEE.DEV on behalf of SOQ) can edit without code:

SettingExample
Display name & avatar"SOQ Study Buddy", "Trainer Copilot"
System promptTone, language (EN first; ZH later), what to refuse
Model tierDefault / Open / Premium
Knowledge basesCourse handbook, FAQ, SOPs (per persona)
Tools on/offLookup attendance - create lead note - draft email (never auto-submit SWDA)
ModalitiesText only - text+image - text+image+PDF
GuardrailsNo PII to other students; no inventing grant amounts; escalate to human

Product behaviour

Technical architecture
Rendering diagram…
Interaction sequence
Rendering diagram…

Rules (non-negotiable)

  1. One agent per user — no shared chat history across students.
  2. RBAC before RAG — the agent only sees what the user’s role already allows in the TMS.
  3. No silent government submits — SWDA / Xero writes need human confirmation.
  4. PDPA — chat logs retention policy; redact NRIC in prompts where possible; Singapore region storage preference.
  5. Audit — every reply stores model_id, tokens, persona, and whether tools were used.

Scope vs Plan SOQ-25K

In Plan SOQ-25K (28 days)Phase 2 Chat Agents
Core TMS portals, SWDA hub skeleton, Xero pathOpenRouter gateway + chat UI
Rules engine / workflow automationPersona packs + per-user agents
Document storageMultimodal upload in chat
—Admin console to customise agents

Commercial: Phase 2 is a fixed add-on — quote separately after core handoff (no maintenance retainer).


Acceptance criteria (Phase 2)

  1. OpenRouter key configured; chat works for Student and Admin personas in staging.
  2. Multimodal: user uploads a PDF or image and gets a grounded answer from allowed context.
  3. Student A cannot see Student B’s chat or enrolment data via the agent.
  4. Admin can change model tier and system prompt for the Student pack without a deploy.
  5. Failover: if primary model errors, agent retries with configured fallback model.

Related

Link
4.9 Platform services — RBAC, notifications, audit
4.11 Ops modules — Singpass - payments - CareerFuture add-ons
4.12 Business benefits — Phase 2 capability map
4.7 Student & trainer — portal surfaces where chat lives
Section 19

4.11 Ops modules

Payment gateway, Singpass / CorpPass / Bizfile, CareerFuture & education-body APIs — plus module ideas by SOQ business operations team.

How to read this page

This is an expert opinion catalogue — modules SOQ can choose beyond / beside Plan SOQ-25K core TMS. Use it in workshops to decide what to include now, phase later, or skip.

TagMeaning
COREIn Plan SOQ-25K baseline (or required for WSQ path)
ADD-ONFixed-scope module after / beside core
PARTNERPrefer vendor + adapter (not custom-build everything)
LATERValuable, not first go-live critical

Identity

Singpass-first

All SG individuals

Business ID

CorpPass + Bizfile

Sponsors - educators org

Payments

Gateway module

Cards - PayNow - SFC

National rails

SWDA + CareerFuture

Funding - discovery


1. Identity — who logs in how

Expert position: For a Singapore education operator, individuals should default to Singpass. Email/password is fallback for overseas students and break-glass admin only. Companies use CorpPass; verify UEN via ACRA Bizfile (or Myinfo Business where entitled).

PersonaLogin recommendationExtra verificationWhy it helps SOQ
Student / applicant (SG)Singpass (+ MyInfo prefill)NRIC/FIN via MyInfoFewer fake accounts; faster WSQ/SFC forms
Student (overseas)Email OTP / passport IDManual KYC packStill enrol without Singpass
Trainer / educator (individual)SingpassOptional professional certs uploadTrusted attendance & fee claims
Company sponsor / HRCorpPassBizfile / UEN checkCorporate billing & cohort trust
SOQ staff (admin/sales/finance)Singpass or SSO + MFARole RBACAudit-ready access
Sales agent (external)Invite + MFA (Singpass if SG)Agent codeCommission integrity
ModuleTagHigh-level benefit
M-ID-01 Singpass Login (all portals)CORE / ADD-ON hardenOne trusted identity across Student - Trainer - Admin
M-ID-02 MyInfo PrefillADD-ONAuto-fill name, contact, citizenship -> fewer form errors
M-ID-03 CorpPass for sponsorsADD-ONCompanies manage staff enrolments securely
M-ID-04 Bizfile / UEN verifyADD-ONConfirm company is real before corporate credit
M-ID-05 Role passport matrixCORESame person can be student + trainer + staff with scoped roles

2. Payment gateway — how money moves

Expert position: TMS owns orders & fees; gateway owns card/PayNow rails; Xero owns GL. SkillsFuture Credit is not a normal card payment — it stays on the SWDA / SFC path.

RailTypical useTagBusiness benefit
Card / Apple Pay / Google PayShort courses, depositsADD-ON - PARTNERHigher conversion at checkout
PayNow / PayNow QRSG residents, low feesADD-ON - PARTNERInstant local settlement
eGIRO / bank transferCorporate invoicesADD-ONB2B collections
InstalmentsDiploma feesADD-ONHigher close rate; cashflow plan
SkillsFuture CreditWSQ net feesCORE (WSQ)National credit applied correctly
Corporate billingEmployer-sponsoredCOREInvoice sponsor, not student
Gateway module options (pick one partner)Notes
HitPay / AsiaPay / 2C2P / Stripe SG / AdyenChoose on fee %, PayNow support, refund API, SG entity KYC
M-PAY-01 Checkout + webhooksOrder paid -> enrolment unlock - receipt - Xero sync
M-PAY-02 Refund / partial refundWithdrawals without spreadsheet chaos
M-PAY-03 Payment link / QR on invoiceFinance sends link; student pays on phone
M-PAY-04 Failed-payment dunningAuto reminders before class start

3. National & education-body APIs to pre-build for

Expert position: Pre-build adapters (same pattern as SWDA Hub) so SOQ is not reinventing each portal later. Entitlements depend on SOQ’s licences — discovery must confirm access.

Body / railWhat it isWhy SOQ caresTag
SWDA / TPGatewayFunded training ops & claimsWSQ revenue evidenceCORE
SkillsFuture CreditIndividual learning creditNet fee at registrationCORE (WSQ)
MySkillsFuture / CareerFutureNational course discovery & career toolsVisibility of SOQ courses; career pathwaysADD-ON
Singpass / MyInfoNational digital identityTrusted login + prefillCORE / ADD-ON
CorpPassBusiness user loginSponsors & corporate HRADD-ON
ACRA BizfileCompany registryUEN validationADD-ON
CPE / PEI student contract (if SOQ is PEI)Private education complianceContracts, cooling-off, EduTrust evidenceADD-ON
Zoom / TeamsLive class deliveryAuto room + attendance join linkPARTNER
SMS / WhatsAppOps messagingReminders, OTP, campaignPARTNER
Email (SendGrid/SES)Transactional mailOffers, invoices, certsCORE

CareerFuture / MySkillsFuture (plain language)

OpportunityModule ideaBusiness benefit
Course listing syncM-CF-01 Catalogue publishSOQ courses discoverable on national portals (where APIs/allow listing exist)
Skills / job pathway tagsM-CF-02 Skills taxonomy mapMarketing + advisors speak “skills” not only “course code”
Deep-link to SOQ registerM-CF-03 Register handoffNational browse -> SOQ conversion without re-typing
Post-course outcomes (optional)M-CF-04 Outcomes surveyStronger grant / quality narrative

Exact CareerFuture / MySkillsFuture API access varies by programme and year — treat as discovery-gated ADD-ON, not a Day-1 promise.


4. Modules by SOQ business operations team

A. Marketing

ModuleTagBusiness benefit (one line)
M-MKT-01 Public catalogue SEO siteCOREProspects find real courses fast
M-MKT-02 Lead capture / UTM + campaign codesADD-ONKnow which ads enrol, not just click
M-MKT-03 Landing pages per programmeADD-ONHigher conversion on diploma / WSQ pushes
M-MKT-04 WhatsApp / SMS broadcastPARTNERFill seats before run closes
M-MKT-05 Referral / alumni advocateLATEROrganic pipeline from graduates
M-MKT-06 CareerFuture listing syncADD-ONNational discovery -> SOQ traffic

B. Sales & CRM

ModuleTagBusiness benefit
M-SAL-01 Lead -> opportunity pipelineCOREOne funnel from enquiry to enrol
M-SAL-02 Privyr / channel importADD-ONKeep existing agent channels
M-SAL-03 Commission engineCOREFair pay from actual payments
M-SAL-04 Quote / promo engineADD-ONControlled discounts; less goodwill leakage
M-SAL-05 Corporate account roomsADD-ONSell cohorts to employers cleanly
M-SAL-06 Chat agent — Sales personaADD-ONInstant FAQ without losing lead

C. Admissions & academic admin

ModuleTagBusiness benefit
M-ADM-01 Diploma application workflowCOREFewer email chains; status in portal
M-ADM-02 Document OCR / checklistADD-ONFaster screening
M-ADM-03 Offer letter + e-signADD-ONSign in minutes; audit trail
M-ADM-04 Module exemption rulesCOREConfigurable window; fee auto-adjust
M-ADM-05 Student 360COREOne screen for disputes / SWDA queries
M-ADM-06 Waitlist & transferADD-ONFill cancelled seats automatically

D. Training delivery (academic ops + trainers)

ModuleTagBusiness benefit
M-DEL-01 Run / roster / venue conflictCOREZero double-bookings
M-DEL-02 QR / code attendanceCOREEvidence at source for claims
M-DEL-03 Assessment & results releaseCOREFaster completion -> claim readiness
M-DEL-04 Zoom / Teams room syncPARTNERLess manual link pasting
M-DEL-05 Trainer fee claimsCOREHours -> approve -> Xero
M-DEL-06 Materials lockerADD-ONRight file to right cohort

E. Finance

ModuleTagBusiness benefit
M-FIN-01 Orders / subsidies / SFC linesCORETrue net fee before pay
M-FIN-02 Payment gatewayADD-ONCollect without Excel
M-FIN-03 Xero syncCORELess re-keying
M-FIN-04 Instalments & holdsADD-ONProtect certs until paid
M-FIN-05 Refund / credit note deskADD-ONClean withdrawals
M-FIN-06 Ageing & dunningADD-ONCash in before class

F. Funding, compliance & quality

ModuleTagBusiness benefit
M-CMP-01 SWDA Integration HubCOREProtect WSQ revenue
M-CMP-02 Claims ops dashboardCORESee rejects early
M-CMP-03 PEI / CPE student contract packADD-ONCompliance evidence ready
M-CMP-04 PDPA consent & retentionCORELower regulatory risk
M-CMP-05 Audit export packsADD-ONAnswer auditors in one download
M-CMP-06 Singpass-only staff actionsADD-ONSensitive actions bound to real people

G. Student success & career services

ModuleTagBusiness benefit
M-SS-01 Student portal self-serviceCORELess “where is my…?” email
M-SS-02 Chat agent — StudentADD-ON24/7 guidance within policy
M-SS-03 Certificate / transcript vaultCOREInstant proof for employers
M-SS-04 Job / pathway tips (CareerFuture-aligned)LATERDifferentiate SOQ beyond courses
M-SS-05 Alumni CRM lightLATERUpsell next diploma / short course

H. Corporate / B2B (company clients)

ModuleTagBusiness benefit
M-B2B-01 CorpPass company portalADD-ONHR self-serves enrolments
M-B2B-02 Bizfile UEN verifyADD-ONCredit risk down
M-B2B-03 Cohort billingADD-ONOne invoice, many seats
M-B2B-04 Progress report to employerADD-ONSticky B2B contracts
M-B2B-05 Seat allocation rulesADD-ONStop over-enrol fights

I. Leadership / management

ModuleTagBusiness benefit
M-EXE-01 Management dashboardCORERuns, cash, claims in one view
M-EXE-02 Margin by course runADD-ONKill loss-making runs early
M-EXE-03 Forecast seats & revenueLATERHire / market with data
M-EXE-04 Chat agent — Admin opsADD-ONNatural-language ops search

5. Suggested packaging (how to sell the thinking)

PackIncludes (examples)When
Plan SOQ-25K (core)3 apps - SWDA hub skeleton - Xero path - Singpass-ready auth shell - ordersNow
Trust PackSingpass harden - MyInfo - CorpPass - BizfileRight after MVP
Collect PackPayment gateway - PayNow - dunning - payment linksBefore volume short-course sales
National Reach PackCareerFuture / MySkillsFuture listing + handoffWhen listing entitlement confirmed
PEI Compliance PackStudent contracts - cooling-off - EduTrust evidence bindersIf SOQ PEI obligations apply
Growth PackCampaign attribution - WhatsApp - landing pages - referralWhen marketing spend scales
Agent PackChat agents per persona (4.10)Phase 2
Suggested priority (workshop scoring)

1 = do first - illustrative expert ranking for SOQ discussion

bar
Singpass-first login10
Payment gateway9
SWDA / SFC (core)10
CorpPass + Bizfile7
CareerFuture listing6
PEI contract pack5
Chat agents6

6. Workshop questions for SOQ (short)

#Ask SOQ
1Must every SG student/trainer login be Singpass-only?
2Preferred payment partner (HitPay / AsiaPay / Stripe / other)?
3Do corporate sponsors need CorpPass self-service this year?
4Is SOQ a PEI with CPE student-contract duties?
5Any existing CareerFuture / MySkillsFuture listing relationship?
6Which team hurts most today — Marketing, Finance, or Funding claims?

Related

Link
4.8 SWDA & finance — funding rail
4.9 Platform — identity & RBAC
4.10 Chat agents — persona agents
3.1 Discovery — confirm entitlements
2.1 Plan SOQ-25K — what is in core fee
Section 20

4.12 Business benefits

How SOQ TMS improves costing, sales, funding, finance, and daily operations.

Executive summary

SOQ TMS is a workflow, data, and governance platform that directly improves costing accuracy, sales conversion, funding recovery, and staff productivity for SOQ Academy.

One record principle: when course, student, and order live once, automation can act on trustworthy data — not spreadsheets assembled at month-end.


1. Costing & pricing benefits

Today (pain)With SOQ TMSBusiness impact
Fees, subsidies, and SFC calculated manually or in spreadsheetsNet fee worked out before payment on WSQ registrationFewer post-payment corrections and refunds
Module exemption fee waivers missed or applied lateRules engine (e.g. 18-month window) + automatic fee adjustmentRevenue protected; less goodwill write-offs
Corporate / promo / instalment pricing inconsistentSingle order model with versioned course feesPricing matches what student agreed at enrolment
Finance re-keys invoices into XeroOrders -> Xero sync with subsidy/SFC line itemsEst. 50–60% less finance data entry
No live view of receivables vs enrolmentsOutstanding payment dashboard + ageingCash flow visibility without manual reconciliation

Costing outcome: SOQ knows the true margin per course run — gross fee minus subsidy, trainer cost, and write-offs — without waiting for month-end.


2. Sales & CRM benefits

Today (pain)With SOQ TMSBusiness impact
Enquiries in Privyr; enrolments in TMS — two recordsOne pipeline enquiry -> application -> enrolment on same recordFull conversion funnel measurable
Follow-up depends on individual agentsAutomated reminders triggered by application/order stateFaster response; fewer dropped leads
No institution-wide view of pipelineCRM dashboard by source, course, agent, stageManagement sees pipeline without asking sales
Commission argued from spreadsheetsCommission from actual payments + automatic clawback on refundEst. 50–60% less commission prep; fewer disputes
Campaign ROI unknownLead source + conversion reportsInvest in channels that enrol, not just enquire

Sales outcome: Est. +10–15% enquiry-to-enrolment conversion (HK proposal baseline) from assignment, scoring, and timely follow-up — without adding headcount.

Target ops improvements (HK baseline)

Estimated reduction in manual effort

hbar
Attendance admin75%Diploma admissi…65%Finance data en…55%Commission prep55%Trainer fee prep55%

3. WSQ funding & revenue protection

Today (pain)With SOQ TMSBusiness impact
Funding evidence assembled at claim timeAttendance + assessment captured at session -> SWDA submitFewer rejected / late submissions
Rejected claims discovered lateIntegration ops dashboard — pending, rejected, resubmitRevenue SOQ already earned is not delayed
Eligibility errors found after paymentSubsidy + SFC resolved pre-paymentLess refund and resubmission churn
Three sources disagree at auditOne audit trail — who captured, approved, submittedQueries answered from one record

Funding outcome: WSQ revenue is only as good as the evidence. This system captures evidence at source — the highest-value decision in scope.


4. Operations & admin productivity

AreaTarget improvementHow
Diploma admissions−60–70% admin handling per applicationOnline pipeline + applicant self-service status
Attendance administration−70–80% per cycleQR/code check-in + trainer verify
Scheduling & rosteringZero double-bookings by designConflict detection at creation
Trainer fees−50–60% monthly prepHours rostered -> check-in -> approved -> payable
Status enquiries ("where is my application?")Answered by portal, not emailStaff time returned to high-value work

5. Automation & intelligence (phased)

Phase 1 — workflow intelligence (go-live)

Built into core product — not bolt-on chatbots:

CapabilityWhat it does
Configurable rules engineExemption windows, subsidy rules, commission plans change without code release
Event-driven automationPayment reminders, attendance alerts, grant deadline warnings
Anomaly flagsAttendance gaps, unpaid enrolments blocking certification, sync failures to Xero/SWDA

Phase 2 — augmented operations (post go-live)

CapabilityHelps SOQ with
Persona chat agents (4.10)Student - educator - company - admin — each user gets their own agent, customisable
Lead scoring & routingPrioritise high-intent enquiries; assign best agent
Document OCR / extractionFaster diploma document screening (via multimodal models)
Natural-language ops search"Show unpaid WSQ runs closing in 7 days"
Funding anomaly detectionFlag attendance patterns that risk claim rejection
Summarised Student 360Faster response when SWDA or student disputes a fee

All Phase 2 features run under human approval gates — aligned with PDPA and SOQ data governance policies. See 4.10 Chat agents for OpenRouter model choices and persona packs.


6. Board-level summary

PillarSOQ wins
CostingAccurate fees, fewer waivers missed, live receivables
SalesHigher conversion, measurable pipeline, fair commission
FundingOn-time SWDA evidence, fewer delayed disbursements
OperationsLess manual admin across admissions, attendance, trainer fees
AIEE.DEV deliverySingapore-led squad + regional build — faster delivery, lower TCO vs pure SG SI

Related sections

Link
4.1 Attachment A — HK Proposal — original business value estimates
4.2 Attachment B — Eddy PRD v1.1 — success metrics
4.14 Why Beat DSMR — competitive TCO
2.3 Pricing — AIEE.DEV hybrid delivery economics
2.2 Grant Funding — EDG / WDG JR+ eligibility for SOQ
2.1 Plan SOQ-25K pricing — proposed fees and net cost after grants
Section 21

4.13 DSMR research

Feature-level breakdown of each DSMR product, stakeholders, workflows, and evidence from public materials.

Platform positioning

DSMR markets an AI-driven Learning & Talent Management System for lifelong learning, skills mastery, and job readiness — fully integrated with SkillsFuture Singapore (SSG) for funding process and monitoring.

Cross-cutting platform claims:

Claim
Single login / SSO across modules
Finance, HR, CRM integrations
Accounting (case study: SAGE 300)
Payment gateways + SkillsFuture Credit payment
Messaging / notifications
Multiple auth systems including Singapore National Digital Identity
REST APIs and Boomi iPaaS (D-TRENO)

Public scale claims: ISO 27001/27701, 3.5M+ users, 100+ clients, 400k+ classes, 15k+ courses.


1. D-TRENO™ — Training Management System

URL: https://dsmrgroup.com/products/d-treno/

Covers: Full training lifecycle — course creation, scheduling, trainers, registration, payments, attendance, assessments, certification, competency dashboards, student and corporate portals.

Singapore moat: SSG TPGateway + SkillsFuture Credit; grant calculator; real-time grant approval/disbursement tracking.

Integrations: REST APIs, Boomi iPaaS.

Case studies: Logistics (NDI + government integration); healthcare (SAGE 300, CPD auto-compute); industrial standards (SSO with D-COLTO + D-GENIO, 60% productivity gain).


2. D-GENIO™ — Assessment & Proctoring

URL: https://dsmrgroup.com/products/d-genio/

Modules: Candidate cockpit, scheduling, question bank, invigilator/assessor modules, paper setter, e-certificates, invoicing, AI proctoring, secure browser, ID management, recording, accessibility, psychometrics (P-value, LoD).

Case study: Certification body — 75% digital exams, 80% less venue coordination.


3. D-COLTO™ — E-Learning

URL: https://dsmrgroup.com/products/d-colto/

Standards: LTI certified, SCORM-ADL compliant, H5P support. Live virtual + async learning, paths, progress analytics, mobile.


4. GATCOMS™ — Grant Community Management

URL: https://dsmrgroup.com/products/gatcoms/

Three-sided portal: Grant agencies (verify/approve/disburse), ATPs (grant applications, learner admin), learners (register, pay, claims, certificates, transcripts).

This is DSMR’s funding workflow engine — not a standard LMS feature.


5. ai.HumanCapital™ — Talent Matching

URL: https://dsmrgroup.com/products/ai-human-capital/

AI CV parsing, skills analysis, job matching scores, skill-gap -> training recommendations, shortlisting, internal mobility, succession planning.


Ecosystem diagram

Learner / Employer
        │
        ▼
┌───────────────────┐
│  GATCOMS (grants) │◄──── Grant Agency
└─────────┬─────────┘
          │
          ▼
┌───────────────────┐     ┌─────────────┐
│    D-TRENO (TMS)  │◄───►│ SSG/SWDA API │
└─────────┬─────────┘     └─────────────┘
     ┌────┴────┐
     ▼         ▼
 D-COLTO    D-GENIO
 (learn)    (assess)
     │         │
     └────┬────┘
          ▼
  ai.HumanCapital
Section 22

4.14 Build vs buy

Battle card for SOQ TMS by AIEE.DEV — where we win, where we respect DSMR, and how we fight on product.

The fight in one line

DSMR is a mature Singapore funded-training suite (D-TRENO + D-COLTO + D-GENIO + GATCOMS + ai.HumanCapital).
SOQ TMS by AIEE.DEV is a purpose-built platform for SOQ’s diploma + short course + WSQ reality — with modern UX, CRM/sales, Xero, and SWDA-native architecture — without locking SOQ into a five-product enterprise sales motion.

We do not pretend DSMR is weak on government integration. We win by being better fit, better ownership, better economics, and better product clarity for SOQ.


Scoreboard — SOQ decision criteria

Fit score for SOQ (illustrative)

0–100 relative strength on SOQ priorities — not a vendor benchmark lab

compare
DSMR suiteSOQ TMS (AIEE.DEV)

SOQ diploma + exemption fit

5592

CRM + commission + Privyr

4088

Xero finance boundary clarity

5090

UX simplicity (portal count)

4585

IP / source ownership

3595

SWDA depth today

9070

AI proctoring depth

8835

Price transparency

3090
CriteriaDSMRSOQ TMS (AIEE.DEV)Winner for SOQ
SWDA / TPGateway funding depthProven in marketBuilt as Hub from day 1; parallel-run to conformanceTie -> DSMR today / us after conformance
Fit to SOQ diploma + exemption rulesGeneric / SI customNative (18-month configurable exemption, offers, Student 360)AIEE.DEV
CRM + sales commission + PrivyrNot headline productIn core Admin WorkspaceAIEE.DEV
Xero as finance SoRSAGE-class customNamed Xero boundary in designAIEE.DEV
UX / portal model5 branded products3 apps (Admin / Student / Trainer)AIEE.DEV
Self-serve ops speedEnterprise demo salesPhased MVP -> funded -> CRMAIEE.DEV
Source code / IP ownershipVendor SaaS / licenceSOQ owns deliverables (contracted)AIEE.DEV
Roadmap controlVendor roadmapSOQ backlog priorityAIEE.DEV
Pricing transparencyOpaque enterprisePublished packages + regional rate cardAIEE.DEV
AI proctoring depthD-GENIO strongPhase-later / partnerDSMR (for now)
Grant-agency GATCOMS portalUniqueNot required for SOQ ATP roleN/A for SOQ
Talent matching (ai.HumanCapital)StrongOut of SOQ v1 scopeDSMR (not SOQ priority)

Why we are better (attack lines)

1. Built for SOQ — not adapted from a vendor suite

DSMR sells a horizontal suite to many ATPs. SOQ needs diploma admissions, module exemptions, Privyr, sales commissions, Xero. Those are first-class in our backlog — not change-request afterthoughts.

2. One product, three surfaces — less lock-in theatre

Five trademarks (TRENO/COLTO/GENIO/GATCOMS/HumanCapital) creates mental and commercial complexity. SOQ staff get one Admin Workspace with modules — same data, one Student 360, one funding status.

3. SWDA Hub as a product — not buried API glue

We isolate the 40+ API reality into a dedicated Integration Hub with retry, idempotency, ops dashboard, and audit. That is how you survive SWDA API churn without rewriting the whole TMS.

4. Finance done correctly

TMS owns pricing, subsidy, exemption, orders. Xero owns GL. Clear boundary = fewer month-end fights. DSMR can integrate finance; we design the boundary into the MTS.

5. Modern stack -> faster change

Next.js + typed APIs + event workers. AIEE.DEV ships with an iterative weekly delivery cadence. SOQ gets weekly visible progress — not quarterly black-box SI drops.

6. Honest economics

Pure Singapore SI burn for this scope can exceed S$800k–S$1.8M+ loaded. AIEE.DEV hybrid (SG lead + local-rate VN/TW build) targets S$280k–S$550k full suite — see 2.3 Pricing. Same SWDA bar; better cost-to-outcome.

7. Own your destiny

With AIEE.DEV build, SOQ can own IP / escrow / long-term fork options (as contracted). Vendor SaaS means roadmap and pricing power stay with DSMR.


Where we respect DSMR (and how we close the gap)

DSMR strengthOur response
Years of TPGateway conformancePhase 2 parallel-run; treat SSG/SWDA docs as acceptance tests
D-GENIO proctoringPhase later or partner module — do not block MVP
ISO 27001/27701Security controls from day 1; certification is SOQ-led post-handoff
Brand trust with government buyersWin SOQ on fit + delivery proof; case study becomes our trust

Elevator pitch (use this)

“DSMR is a strong funded-training suite. SOQ does not need five products and an opaque SI quote — SOQ needs a Training Management System that runs diploma, short courses, and WSQ with SWDA, CRM, and Xero in one design. AIEE.DEV builds that system with Singapore architecture leadership, regional engineering economics, and a phased path that gets SOQ live without waiting for a vendor roadmap.”

Recommendation

Do not buy DSMR to “be like DSMR.” Benchmark them. Build SOQ TMS where SOQ’s requirements exceed a generic suite — then beat them on ownership, UX clarity, CRM/finance fit, and total cost.

Section 23

4.15 Market & competitors

Traffic signals, competitor landscape, Singapore learner complaints, consumer registration behaviour, and strategic focus advice for SOQ.

Why this page exists

SOQ is not buying “a developer.” SOQ is buying a partner who understands ATP economics, WSQ/SWDA rules, multi-vertical training (beauty - digital - caregiving), and who SOQ competes with every day.

This page summarises public research (Sep 2026) on SOQ’s market position, direct competitors, typical software stacks, and inferred pain points mapped to Attachment A / PRD requirements — so stakeholders see we have done the business homework before build.

Traffic disclaimer: Niche training-provider domains often sit below public analytics panels (SimilarWeb/Semrush). Where hard traffic numbers are unavailable, we use observable signals: catalogue depth, MySkillsFuture presence, corporate references, site tech, location, and consult-led vs self-serve models. SOQ can later share GA4 for calibration.


1. SOQ business snapshot (what they actually run)

DimensionPublic picture
EntitySOQ International Academy - UEN 201723514D - ERF to Jun 2032
Founded / positioningEst. 2013 - “Learn for the Future” - CBD campus at International Plaza
Regulatory roleATP — WSQ + diploma programmes - SWDA/SkillsFuture funding path
Vertical mixBeauty & wellness (lash, SMPU, massage, iTEC/VTCT) - AI & digital marketing - Retail/soft skills - Caregiving - Mandarin cohorts on selected diplomas
Certification mixWSQ SOA - SOQ diplomas/certificates - iTEC (VTCT) international certs
Revenue mechanicsCourse fees net of 50–70%+ subsidies - SkillsFuture Credit - UTAP/SFEC (corporate) - consultant-assisted enrolment
DeliveryClassroom + blended - hands-on models (beauty/wellness) - long diplomas (6–8 months) + short WSQ (2 days)
Go-to-marketWebsite catalogue + consultation team (WhatsApp/phone) - corporate training page - MySkillsFuture listing
Social proof (site)4.9/5 rating claim on homepage - trainer profiles on MySkillsFuture

Strategic read: SOQ competes as a multi-vertical boutique ATP — not a single-discipline digital school like Equinet, and not a pure beauty academy like Beauty Forever — but it overlaps both in Singapore’s crowded ~729 private training-provider market.


2. Digital presence & audience signals

SOQ — soq.edu.sg

SignalObservation
Public traffic panelsDomain likely below SimilarWeb reporting threshold (common for consult-led SMB ATPs)
Conversion modelCatalogue browse -> talk to consultant -> funding check -> register (not pure e-commerce checkout)
Tech stack (observed)LiteSpeed server - Laravel-style session cookie (soq_international_academy_session) - custom PHP/Laravel marketing site with structured course JSON-LD
SEO themesWSQ subsidy bands - Gen AI marketing - beauty diplomas - SkillsFuture Credit FAQ
National listingMySkillsFuture training provider profile - TRAQOM quality/impact ratings (when published)

Audience inference (honest ranges)

MetricSOQ (inferred)Notes
Monthly website visitsLow–mid thousands (typical ATP)Consult channel carries much conversion — web is credibility + catalogue
Lead qualityHigh intent when from WSQ/subsidy searchNeeds fast funding quote — pain if back-office is slow
Repeat usersStudents + trainers + staffWithout portal, repeat queries hit WhatsApp
GeographicSingapore-first + Mandarin cohortsLocalization is a product requirement, not cosmetic

SG training providers

~729

Crowded market

SOQ verticals

5+

Beauty - digital - care - retail

Cert types

4

WSQ - SOQ - iTEC - SOA

Site rating (claimed)

4.9/5

soq.edu.sg


3. Who SOQ competes with (and why they win)

Competitive map by overlap

CompetitorWebsitePrimary overlap with SOQWhy they run / win
Equinet Academyequinetacademy.comAI & digital marketing WSQ - same building (International Plaza)70+ courses - practitioner trainers - 1,000+ corporate clients (SIA, DHL cited) - strong SEO + certification pathways (CADM)
Global Brand Academytheglobalbrandacademy.comAI-driven digital marketing WSQ (TGS-listed)Focused 2-day masterclass - clear funding messaging - classroom hands-on
Tertiary Coursestertiarycourses.com.sgWSQ digital / GenAI modules (ATO)Broad ICT WSQ catalogue - modular SOA stacking
Beauty Forever Learning Hubbeautyforeverlearninghub.comBeauty/wellness WSQ + iTEC/CIDESCODirect vertical rival - lead-capture site - international cert story
Bells Academybellsacademy.edu.sg (sector)Beauty / vocational - SOQ hires ex-Bells trainersKnown vocational brand - trainer poaching market
Avanta Academyavanta-acad.edu.sgWSQ for working adults (different sector skew)Clear step-by-step WSQ enrolment content - employability narrative
DSMR suitedsmrgroup.com (enterprise)Funded-training TMS incumbents at scaleWin on SWDA depth - lose on SOQ-specific CRM/diploma fit (4.13)

Same-address competitor — Equinet (important)

Both SOQ and Equinet train at 10 Anson Road, International Plaza (SOQ #23-08/#35-16 - Equinet #18-24). Prospects comparing AI/digital WSQ courses see two ATPs in one tower — SOQ must win on vertical breadth (beauty + digital + care), consultative funding help, and post-enrolment experience, not only SEO.


4. Competitor deep dive (business + software)

ProviderBusiness modelTypical stack (observed / inferred)Implication for SOQ
SOQMulti-vertical ATP - consult-led - diplomas + WSQCustom Laravel site - legacy TMS - Privyr CRM - Xero - manual SWDA opsIntegration debt — why unified TMS is the project
EquinetDigital-skills factory - corporate + individual - 70+ WSQ coursesWordPress/nginx marketing site - online registration forms - SSG/TRAQOM data flows - Zoom for onlineMature course SKU machine - SOQ needs equal catalogue + run ops discipline
Beauty ForeverBeauty vertical - WSQ + iTEC - lead formsWix site - form-led CRM - SkillsFuture/UTAP messagingFast marketing iteration on Wix - weak unified ops — same opportunity as SOQ
Global Brand AcademySingle-lane WSQ masterclassMarketing site + MySkillsFuture handoffWins on clarity - one course, one funnel
Enterprise ATPs on DSMRHigh-volume WSQ claimsDSMR D-TRENO + finance adaptersProves market pays for SWDA-native ops

Software categories in this market

LayerCommon toolsSOQ today (from CRD)TMS target
Marketing siteWix - WordPress - custom LaravelCustom soq.edu.sgPublic registration portal (integrated)
CRM / leadsPrivyr - HubSpot - spreadsheetsPrivyrAdmin CRM + optional Privyr import
Enrolment / opsSpreadsheets - legacy TMS - DSMRLegacy TMSSOQ TMS core
FinanceXero - QuickBooksXeroOrder -> invoice sync
GovernmentTPGateway / SWDA portals - manual CSVManual / partialSWDA Hub
Class deliveryZoom - Teams - WhatsAppMixedRoom links + attendance capture
CertsPDF + email - manual registryManualStudent vault + audit trail

5. Market forces pressuring SOQ (2026)

ForceWhat it means for SOQ
WSQ 2.0 / CASL (from May 2026)Fewer courses keep national WSQ label - must align to Course Approval Skills List - “more courses = more revenue” era ending
SWDA merger (SSG + WSG)One agency - legacy portal names persist - adapter strategy required
729 providersCommodity marketing - winner = trust + funding clarity + outcomes
AI course waveEvery ATP adds “Gen AI marketing” — SOQ must prove depth (diplomas, iTEC, hands-on beauty)
Corporate SFEC narrativeB2B cohort sales need invoice + progress reporting — not only B2C checkout

| Corporate SFEC narrative | B2B cohort sales need invoice + progress reporting — not only B2C checkout |


6. What Singapore learners complain about (public voice research)

Method: Desk research across government announcements, national portals, forum threads, ST Forum letters, and SWDA/SSG enforcement circulars (2017–2026). This section records what the market is saying — not an AIEE.DEV product response.

Framing: These are discovered pain themes in Singapore’s funded-training and online-registration ecosystem. SOQ operates inside this sentiment whether or not a new TMS exists.

6.1 Theme summary (learner & public complaints)

ThemeWhat people complain aboutPublic signal (examples)
T1 — Portal downtime at peak momentsMySkillsFuture / SFC claim pages 503/504, maintenance windows overlapping credit expiryHardwareZone Dec 2025 threads - Mothership Dec 2025
T2 — Confusing enrolment & claims UXHard to navigate course vs centre lists; claim rules unclear; maintenance blocks same-night submissionST Forum letter Oct 2017
T3 — Funding stress & deadline panicSkillsFuture Credit expiry drives last-minute traffic; learners pay cash when systems failMothership / HWZ Dec 2025 — users report paying out-of-pocket when credit page would not load
T4 — Aggressive / misleading marketingThird-party agents; over-promising; enrolment into courses learners cannot cope with; incentive sign-upsSSG Oct 2025 — third-party promoter ban - TPGateway QMD/2025/5
T5 — Trust & data privacyFear of NRIC / personal data passed to unknown marketers; scam anxiety on survey linksSSG third-party ban cites data compromise - MySkillsFuture TRAQOM guidance
T6 — Course quality skepticism“Are SkillsFuture courses low quality?” — learners doubt brochure vs realitySkillsFuture Collective — quality measures
T7 — Provider responsivenessSlow answers on fees/funding; WhatsApp tag with no written record; refund disputesSector norm: PEIs publish 21-day complaint SLAs (e.g. CPE-style frameworks) — learners expect acknowledgement in days
T8 — Post-enrolment opacityUnclear attendance rules (e.g. 75% threshold), assessment pass criteria, cert timelinesCommon ATP FAQ pattern — SOQ site states 75% attendance rule publicly
T9 — Fragmented provider touchpointsWebsite says one fee; consultant quotes another; MySkillsFuture shows a third pathConsult-led ATPs + national directory + own site = multi-channel confusion
Learner complaint themes — frequency in public discourse (inferred)

Desk research - not a formal survey - Sep 2026

hbar
T4 Misleading /…9T3 Funding dead…9T1 Portal relia…8T6 Quality vs m…8T2 Confusing en…7T7 Slow provide…7T9 Multi-channe…7T5 Data privacy…6

6.2 Verbatim public sentiment (paraphrased samples)

Source typeWhat we heard (paraphrased)
Forums (HWZ, Dec 2025)“System cui until cannot pay” - “Last day to use credits but portal down” - “Why no autoscale for Smart Nation?”
ST Forum (2017, still cited)“Website under maintenance when I tried to claim” - “Two tables — courses and centres — should be one” - “Put me off recommending courses”
SSG / MOE (2025)Public feedback on undue influence, misrepresentation, personal data when third parties market courses
MySkillsFuture guidanceLearners told to check TRAQOM stars, contact provider directly, use Feedback Portal if suspicious
SkillsFuture CollectiveLearners advised: don’t trust brochure alone — use peer ratings and TRAQOM

6.3 What learners use to decide (before they register)

Signal they look forWhy it matters
TRAQOM star ratings on MySkillsFuturePublic quality score — visible on course directory
Net fee after subsidyMCES / baseline / SFC / UTAP — must be understandable
Provider reputation & enforcement historySWDA publishes actions against non-compliant ATPs
Physical campus / CBD access“Where is class?” — SOQ cites International Plaza
Cert type (WSQ SOA vs diploma vs iTEC)Career credibility — especially beauty & international lanes
Human advisorStill preferred for funded courses — not pure self-checkout
Attendance & refund rules upfrontReduces post-enrolment disputes

6.4 Regulatory context learners react to (2025–2026)

Date / policyMarket effect on consumer trust
Dec 2025 — third-party marketing ban for RTPsLearners should hear only from the ATP — brands with direct relationship win trust
TRAQOM mandatoryPoor delivery -> visible ratings -> enrolment risk
WSQ 2.0 / CASLFewer “WSQ-labelled” courses industry-wide — learners may perceive less choice, higher scrutiny on what remains
SWDA whistleblowingFormal channel for fraud / irregularity reports — learners know they can escalate

Sources: SSG TRAQOM - SSG whistleblowing - SWDA whistleblowing - links in table above.


7. The online registration consumer (Singapore funded training)

Who registers online (or starts online, finishes with a human):

SegmentTypical motivationRegistration behaviour
Mid-career upskiller (21–39)Subsidised WSQ - Gen AI / digital - career pivotGoogles subsidy - compares MySkillsFuture stars - may WhatsApp before pay
Mid-career enhanced (40+)MCES 70% - shorter reskilling windowsHighly price-sensitive to net fee - sensitive to credit expiry
Corporate-sponsoredSFEC / absentee payroll - team trainingNeeds invoice, roster, proof — often not self-serve
Beauty / wellness aspirantiTEC/VTCT or SOQ diploma - hands-on careerVisual trust - trainer cred - consultation common
Caregiving / maternal cohortCertificate pathways - weekend classesClarity on duration, practicum, cert type
Mandarin-preferring learnerParallel diploma titles on SOQ siteMay need Chinese copy + advisor fluent in Mandarin

Jobs-to-be-done (when they hit a training website)

  1. “Is this course legit and funded for me?” — eligibility, ATP status, TRAQOM
  2. “What do I actually pay today?” — net fee, SFC, instalments
  3. “When and where?” — runs, seats, venue, mode (classroom vs blended)
  4. “What do I get at the end?” — SOA vs diploma vs iTEC
  5. “Can I talk to someone?” — especially before first payment

Why they abandon (discovered patterns)

Drop-offConsumer interpretation
Net fee not shown early“Hidden costs” — feeds T9 multi-channel confusion
Must call to know dates“Not serious / outdated” vs competitors with clear schedules
Portal error during SFC claimBlame government and provider equally
Too many verticals on one homepage“Jack of all trades” — unless brand proves depth
No ratings visibleDefault to MySkillsFuture or walk away

8. Strategic focus advice for SOQ (growth lens)

Advisory note: Based on sections 1–7 above — what SOQ should prioritise to grow in a ~729-provider market. This is business strategy, not a vendor scope list.

8.1 Where SOQ should not try to win first

TrapWhy
Out-Equinet on course countEquinet publishes 70+ digital WSQ SKUs + corporate logos — volume SEO game
Race to cheapest WSQ short courseCommodity pricing - WSQ 2.0 reduces catalogue sprawl industry-wide
Pure self-serve onlyFunded learners still want advisors for eligibility (T4/T9 backlash when sales is pushy, not when help is genuine)
Marketing through opaque third partiesIllegal path from Dec 2025 — reputational risk (T4/T5)

8.2 Where SOQ can get disproportionately big

Focus laneRationale (from research)
1. Multi-vertical trust brandOnly a few ATPs credibly span beauty + digital + care with international certs — SOQ’s public catalogue already shows this breadth
2. Funding clarity as productConsumer complaint T3/T9 — whoever shows net fee + rules plainly wins mid-career learners
3. TRAQOM excellencePublic scoreboard on MySkillsFuture — sustained 4.x stars beats advertising in T6 skepticism era
4. Direct relationship post-2025SSG forces in-house marketing — SOQ’s consult team becomes asset if transparent, not pushy
5. iTEC / VTCT + SOQ diplomasDifferentiator vs WSQ-only schools — career storytelling for beauty/wellness
6. Mandarin cohort depthUnderserved vs English-first digital schools in same CBD tower
7. Corporate SFEC + absentee payrollB2B lane with reporting — less price-war than B2C short courses
8. CBD campus convenienceInternational Plaza + Tanjong Pagar — tangible trust for working adults
9. Post-enrolment experienceForums complain about systems and opacity after sign-up — retention/referrals come from attendance, cert speed, advisor follow-through

8.3 Suggested priority stack (board-level)

User journey
Rendering diagram…
HorizonSOQ should obsess overSuccess signal (market-visible)
0–12 monthsClear fees - fast advisor reply - TRAQOM scores - direct marketing complianceRising MySkillsFuture enquiries - star ratings hold
12–24 monthsBeauty + iTEC brand leadership - disciplined WSQ catalogue under CASLReferrals in vertical - lower refund disputes
24–36 monthsCorporate cohorts - cross-sell beauty ↔ digital alumniRepeat corporate sponsors - higher LTV per learner

8.4 Brand implication for SOQ (consumer mental model)

Learners in this market are skeptical but subsidy-motivated. They reward ATPs who feel like:

“Straight about money, clear about outcomes, easy to reach after I pay, and not sold to by strangers.”

SOQ’s existing copy (“Learn for the Future”, subsidy bands, FAQ, consult CTAs) aligns with that model — consistency across website, MySkillsFuture, and post-enrolment touchpoints is where brands break (T9).


9. SOQ operational pain points (inferred — internal view)

Separate from 6 learner complaints. This table maps inferred SOQ back-office pain from market + requirements research to Attachment A themes — for CRD traceability.

PainEvidence / inferenceSOQ feels it when…TMS requirement (4.3–4.11)
P1 — Ops fragmentationLegacy TMS + Privyr + Xero + Laravel siteConsultant quotes net fee manually; student status unclearSingle Student 360 - order model - CRM import (4.6)
P2 — SWDA claim anxietyWSQ 2.0 tightening - beauty/diploma evidence heavyMonth-end scramble for attendance/assessment proofQR attendance - assessment release - SWDA Hub (4.8)
P3 — Multi-cert pricingWSQ + iTEC + SOQ-branded diplomas on same siteWrong subsidy applied; refund disputesFee engine - subsidy/SFC lines - exemptions (4.8)
P4 — Consult-led bottleneckSite pushes “speak to consultant”Good leads stall after hours; trainers answer WhatsAppStudent/trainer portals - notifications - Phase-2 chat agents (4.7 - 4.10)
P5 — Compete with Equinet on digitalSame address - Equinet 70+ coursesLose AI WSQ searchers who want instant dates/feesPublic catalogue SEO - live runs/seats - payment path (4.4)
P6 — Beauty vertical depthBeauty Forever + iTEC partnersNeed to show hands-on capacity + trainer credentialsTrainer roster - run scheduling - teaching-hours (4.5 - 4.7)
P7 — Mandarin cohortsParallel diploma pages (EN/zh)Double admin if systems monolingualLocalized content + same enrolment backbone (4.4)
P8 — Corporate SFECCorporate training page - SFEC FAQHR asks “who attended / invoice status?”Corporate orders - sponsor billing (4.6)
P9 — Commission / agent salesPrivyr in stackDisputes on who enrolled whomCommission engine (4.6)
P10 — Portfolio rationalizationWSQ 2.0 whitelist pressureRunning unprofitable runs; can’t see marginManagement dashboard - margin by run (4.12 - 4.11)
Pain intensity (expert inference for SOQ)

10 = urgent operational hurt - drives TMS priority

hbar
P1 Ops fragment…10P2 SWDA claim e…10P3 Multi-cert p…9P4 Consult bott…8P5 Digital comp…8P6 Trainer/run …7P7 Mandarin coh…6P8 Corporate SF…7

10. Competitive counter-moves (market context)

Competitor advantage todayObserved market counter-position for SOQ
Equinet’s course volume & corporate logosNiche depth (beauty + iTEC + long diplomas) + one accountable student record
Beauty Forever’s vertical SEOSame WSQ/iTEC story plus digital & care cross-sell
DSMR ATPs’ SWDA maturityCatch up on compliance ops without buying five products (4.14)
Wix/WordPress fast marketingMarketing claims must match operational truth on runs/seats/fees
Manual consult high-touch serviceKeep consultants — reduce WhatsApp archaeology with shared status/fees

11. How this research feeds the CRD package

Research outputAlready in CRD
Competitor software patternsArchitecture + integration boundaries (5.7 - 4.8)
Multi-vertical ops painAttachment A modules (4.1 - 4.3–4.9)
WSQ 2.0 / funding pressureSWDA glossary - Hub design - grant paths (1.1 3 - 2.2)
Future add-ons (Singpass, payments, CareerFuture)4.11 Ops modules by business team
Commercial completeness2.1 complete package — not dev-hours

Workshop ask for SOQ: share GA4 / ad channel / top 5 enquiry SKUs to replace inferred traffic with actuals — we will update this page in discovery.


Related

Link
4.12 Business benefits — KPI outcomes
4.14 Build vs buy — vs DSMR
3.1 Discovery — SOQ fills real numbers
2.1 Plan SOQ-25K — complete delivery package

Sources (public): soq.edu.sg - MySkillsFuture SOQ profile - SSG third-party marketing ban (ST) - MySkillsFuture learner guide - SkillsFuture Collective — course quality - HWZ / Mothership Dec 2025 portal disruption - competitor sites - WSQ 2.0 / CASL guidance - AIEE.DEV observation Sep 2026.

Download: Learner complaint themes CSV

Section 24

5.1 Project control plan

Gates - milestones - RACI - WBS - 28-day calendar for Plan SOQ-25K.

Control plan summary

FieldValue
PlanPlan SOQ-25K — US$25,000
StandardPMI PMBOK-style + stage gates
CalendarThis page + 2.1 payment schedule
Scope phasing5.3 Capability roadmap
Handover5.10 Handover pack
Grant timingEDG must be applied before G1 invoice — 2.2 Max claim

5.3 Roadmap = what scope. This page = when - who - acceptance - payment.

Grant-first vs build-first: If SOQ pursues max EDG claim, do not sign contract or pay G1 (Day 7 - US$7,500) until Letter of Offer accepted. Build-first forfeits grant eligibility. See 2.2 Pre-payment checklist.


Lifecycle

PhaseSOQ-25KOutputPay
InitiatePRD + CRD + contractBaseline0%
PlanKickoff + discoveryDiscovery pack - screen inventory0%
ExecuteSprints 1–4 (Days 1–28)Prototype - FE - BE - handoff90%
MonitorStandups - UAT - defect logRAID - change requestsPer gate
CloseDay 28 + Month 3Repo - runbooks - retention release15% + 10%

Stage gates (G0–G5)

GateDayExit (SOQ sign-off)Pay
G0 Discovery03.1 pack submitted - repo ready0%
G1 Prototype7P0 journeys on SOQ brand - screen inventory signed30% - 7,500 — first invoice - EDG grant gate (2.2)
G2 Frontend14Four surfaces wired - Sprint 2 UAT25% - 6,250
G3 Backend21APIs - RBAC - SWDA skeleton - Xero demo25% - 6,250
G4 Handoff285.10 checklist - repo delivered15% - 3,750
G5 RetentionMonth 3No open P1 - written confirmation10% - 2,500

Rule: No gate skipped. Failed gate = rework or CR-approved extension.


Master schedule

Delivery timeline
Rendering diagram…

Day 0 = contract kickoff.


Milestone register (key)

IDMilestoneDayOwnerPay
MS-001PRD frozenPreEddy (CPO)0%
MS-003Kickoff0Pei Han (CCO)0%
MS-006Prototype (G1)7Eddy (CPO)30%
MS-008Frontend (G2)14Andy Koh (CTO)25%
MS-010Backend (G3)21Andy Koh (CTO)25%
MS-013Handoff (G4)28Pei Han (CCO)15%
MS-016Retention (G5)~118Pei Han (CCO)10%

WBS (level 1)

WBSPackageSprintGate
1.0Governance & discoveryPre - Day 0–2G0
2.0Experience & prototypeSprint 1G1
3.0FrontendSprint 2G2
4.0Backend & integrationsSprint 3G3
5.0Data - security - handoffSprint 4G4
6.0Retention supportMonths 1–3G5

RACI (summary)

ActivityCCOCPOCSOCTOSOQ ops
Commercial / contractACCIC
Discovery packCACIR
Prototype / UX gateCACCR
Frontend / BackendICCAC
SWDA / XeroCCARC
UAT sign-offARCCR
Day 28 handoffACCRR

Quality & risks

DoD: code in repo - CRD trace - empty/loading/error states - RBAC - demo before gate

RiskMitigationOwner
Discovery latePlaceholder prototype - G1 slipsSOQ ops
SWDA sandbox delayedHub skeleton + mockHK
Xero mapping unclearWorkshop before Sprint 3SOQ finance
Scope creepCR-only additionsPei Han

Comms: daily standup - sprint demos Day 5/12/19/26 - gate reviews Day 7/14/21/28 - weekly status email

Change control: CR-### logged -> estimate -> CCO + SOQ approve in writing

In scope: 2.1 included items. Out of scope = CR.

Section 25

5.2 Prototype & screens

Sprint 1 screens mapped to real SOQ catalogue, consult/enrol, diploma instalments, and WSQ funded journeys.

Purpose

Sprint 1 clickable prototype using real SOQ journeys from soq.edu.sg + 3.1 Discovery. Replaces TrainingSystemSG enrol UX — not a generic LMS demo.

User journey
Rendering diagram…

Control calendar: 5.1 Project control plan


1. Goals (Days 1–7)

#Goal
1Catalogue shows live SOQ titles (Beauty Specialist, Gen AI WSQ, Mandarin twins, workshops)
2Clickable consult + enrol dual path (form/WA + register)
3Diploma instalment + WSQ funded-net fee screens
4Admin run at International Plaza rooms + Student 360
5Attendance check-in with 75% indicator
6Brand from 3.2
7Day 7 SOQ sign-off

2. SOQ journeys -> flows

User journey
Rendering diagram…
IDSOQ journeySeed withSurfacesPri
F-01Browse -> Get Course Advice / enquiryHomepage tabs + form fieldsPublic - CRMP0
F-02Workshop / short Enroll -> payBrand Management 16 hrsPublic - StudentP0
F-03WSQ funded pathGen AI TGS-2023041023 - From $180 - SFC FAQPublic - StudentP0
F-04Diploma apply -> instalmentBeauty Specialist SOQ-DBS - From $499.77/moPublic - Admin - StudentP0
F-05Admin create run in IP room#35-16 Room 1 - 20 pax - EN/ZHAdminP0
F-06QR attendance - 75% gateSession at IPTrainer - StudentP0
F-07Student 360Imported legacy TMS idAdminP0
F-08Order -> Xero statusGST + subsidy linesAdminP1
F-09CRM lead -> opportunityWA / web / PrivyrAdminP1
F-10SWDA submit / resubmitConfirm APIs in discoveryAdminP1
F-11Exemption / fee waiverDiploma admissions notesAdminP1
F-12Trainer fee claimPublic trainer rosterTrainer - AdminP2
F-13Corporate SFEC enquiryCorporate Training pagePublic - CRMP1

Singpass: Prototype SFC claim handoff + optional identity step — only enable enrol Singpass if discovery confirms.


3. Screen inventory (SOQ-tied)

SurfaceScreens
PublicHome/catalogue (4 tabs) - Course detail (Overview - Certificate - Trainer - FAQ) - Sticky Enroll/Contact/From $ - Enquiry Individual/Corporate - Fee breakdown modal - Payment result - PEI/trust footer (UEN - ERF - address)
AdminRole home - Programme/SKU (TGS/SOQ codes) - Venue rooms - Run calendar - Admissions queue - Enrolment / Student 360 - Attendance matrix - Assessment (MCQ/Practical/Portfolio) - Orders - CRM pipeline - SWDA ops - Reports
StudentLogin (cutover from TrainingSystemSG) - Dashboard - Timetable - Check-in - Attendance % - Assessments - Instalments/pay - Certificates
TrainerRoster - Session - Mark attendance - Mark assessments - Fee statement - Profile

4. Fidelity plan

DayDeliverable
1–2IA + screens for all P0 - seed 3 real courses (Beauty Specialist - Gen AI WSQ - 1 workshop)
3–4Hi-fi F-03 + F-04 + F-06 + Student 360
5–6Clickable prototype (Figma) covering P0 + F-13 stub
7SOQ review - change log - sign-off

5. Acceptance checklist

StatusItem
OpenReal SOQ course names/codes from discovery sheet
OpenDual CTA: Enroll + Talk to advisor / WhatsApp
OpenFee UI: gross - GST - funded nets - instalment
OpenRun uses International Plaza room capacities
Open75% attendance visible on student + admin
OpenMandarin twin shown as separate SKU
OpenMobile public + student + trainer reviewed
OpenEmpty/loading/error for P0
OpenWritten SOQ Sprint 1 sign-off

6. Tools & handoff

ArtifactOwner
Figma screens + prototype linksEddy (CPO)
This inventoryShared
Engineering handoffSprint 2 FE

-> 5.5 Frontend - 5.4 UI/UX

Related

Link
5.1 Project control
3.1 Discovery
3.2 Brand appendix
4.4 Registration
Section 26

5.3 Capability roadmap

Capability / scope phasing — calendar and gates live in 5.1 Project control plan.

Scope vs calendar

QuestionPage
When - payment - gates5.1 Project control plan
What scope per phaseThis page (Phases 0–6)
Fees2.1 Plan SOQ-25K

Phase 0 — Discovery (current)

StatusItem
DoneDSMR research - requirements baseline
OpenSWDA sandbox access - Singpass/SFC scope - Xero mapping - Privyr import scope

Phase 1 — Core TMS + registration (MVP)

Scope: Short course + WSQ registration slice

  • Public catalogue + WSQ registration UX
  • Admin: programme/course/run - basic enrolment
  • Student: schedule - materials - QR check-in
  • Trainer: roster - attendance
  • Student 360 v1 - RBAC - audit - email notifications

Exit: Non-funded class runs end-to-end without SWDA.


Phase 2 — SWDA hub

  • Hub service (auth - logging - retry - dashboard)
  • Course run - enrolment - attendance - assessment submissions
  • Subsidy pre-check UI - SkillsFuture Credit flow
  • Reconciliation + exception queue

Exit: Parallel-run against SWDA conformance checklist.


Phase 3 — Finance & Xero

  • Orders with subsidy/SFC/exemption deductions
  • Payment gateway - invoices - receipts - refunds
  • Xero contact/invoice/payment sync - trainer fee export

Exit: Finance reconciles one intake in Xero without duplicate entry.


Phase 4 — CRM & sales

  • Lead/enquiry - Privyr import - pipeline - opportunities
  • Enquiry -> application -> enrolment - commission plans

Exit: Sales agent sees full history enquiry -> enrolled.


Phase 5 — Diploma & advanced ops

  • Diploma application workflow - module exemption engine
  • Advanced admissions - report packs

Phase 6 — Hardening & go-live

  • Load testing - PDPA jobs - DR/backup - staff training - cutover

Immediate actions

  1. Schedule SWDA API discovery with SOQ subscriptions list
  2. Prioritise Phase 1 + 2 if WSQ funded courses first
  3. Xero mapping workshop before Phase 3
  4. Keep three-app boundary — no fourth CRM-only portal

Calendar & gates: 5.1 Project control plan

Section 27

5.4 UI/UX

High-end design system, experience principles, and prototyping plan for SOQ TMS — delivered by AIEE.DEV.

Delivery partner

AIEE.DEV — AI Enterprise Engineering. Implementation design, frontend, backend, and integration for SOQ TMS are scoped under AIEE.DEV delivery.


Design goals

Build a premium Singapore training-ops product — not a generic LMS look. Users (admissions, trainers, students, sales) must feel speed, clarity, and trust on funded/WSQ workflows.

PrincipleMeaning for SOQ
One job per screenAdmin queues, Student dashboard, Trainer session — each screen has one primary action
Evidence-firstAttendance, assessment, funding status always visible when money/compliance is at risk
Calm densityPower users get dense tables; students get calm, mobile-first flows
Identity trustSingpass, offers, certificates feel official without clutter
AccessibilityWCAG 2.2 AA on public + student + exam-adjacent flows

Product surfaces (4 UI products)

SurfaceUsersTone
Public Course WebsiteProspectsBrand-led, marketing + conversion
Admin WorkspaceAcademic, admissions, finance, salesDense ops console
Student PortalLearnersClear timetable, payments, progress
Trainer PortalTrainersSession-first mobile-friendly

Shared: design tokens, component library, notification patterns, empty/loading/error states.


Design system (high level)

Brand tokens

Source of truth: SOQ brand pack + 3.2 Design & website appendix (captured colours, typography, and imagery from soq.edu.sg). Generic placeholders below apply only until appendix sign-off.

#Detail
1Primary: derived from SOQ institutional palette (trust, education)
2Accent: CTA / funding alert colour from current site CTAs
3Neutrals: match public site grey scale; ops consoles may run denser
4Typography: display face from SOQ marketing; readable sans for Admin
5Radius/spacing: 4/8 scale; avoid card spam in ops views

Component tiers

  1. Primitives — Button, Input, Select, Dialog, Sheet, Tabs, Table, Badge, Toast
  2. Domain — Student360 header, FundingStatusPill, AttendanceMatrix, OfferLetterPreview, RunCapacityBar, CommissionBadge
  3. Patterns — Filterable data tables, wizard steppers (diploma application), approval timelines, integration job drawers

States every screen must specify

Empty - Loading - Partial data - Error - Permission denied - Offline/retry - Success confirmation


Key journey maps (prototype priority)

P0 journeys

  1. WSQ registration with Singpass + eligibility + fee estimate
  2. Admin: create course run -> enrol -> take attendance -> submit to SWDA
  3. Student: QR check-in + see attendance %
  4. Trainer: mark attendance + submit results
  5. Finance: order -> invoice -> Xero sync status

P1 journeys

  1. Diploma application -> offer -> accept -> pay
  2. Module exemption + fee waiver approval
  3. CRM lead -> opportunity -> application
  4. SWDA hub: failed submission -> fix -> resubmit

Prototyping plan (AIEE.DEV)

StageDeliverableOutcome
Discovery workshopsPersonas, IA, journey mapsAlign SOQ stakeholders
Design system v1Tokens + Figma component libraryShared language for build
Lo-fi screensAll P0 screens (desktop + mobile)Scope lock
Hi-fi prototypeClickable Figma for P0 journeysStakeholder sign-off
Usability pass5–8 staff + 3–5 student testsFix before code
HandoffSpecs, redlines, assets, interaction notesEngineering-ready

Prototype tooling

  • Figma (design system + prototypes)
  • Optional: interactive Next.js prototype for critical WSQ fee calculator / attendance matrix

Acceptance for design phase

#Detail
1[ ] SOQ signs off public IA + Admin navigation
2[ ] P0 hi-fi prototype approved
3[ ] Component library covers 80% of Admin/Student screens
4[ ] Accessibility checklist attached to Student & Public flows
Section 28

5.5 Frontend

High-level frontend architecture, apps, stack, and delivery standards for SOQ TMS.

Frontend strategy

Four Next.js applications (or monorepo packages) sharing one design system — matching the SOQ three-portal boundary plus public site.

AppPackageAudience
apps/webPublic Course Website + RegistrationProspects / applicants
apps/adminAdmin WorkspaceStaff (academic, admissions, finance, sales)
apps/studentStudent PortalEnrolled learners
apps/trainerTrainer PortalTrainers
packages/uiShared design systemAll apps
packages/sdkTyped API clientAll apps

Recommended stack

LayerChoiceWhy
FrameworkNext.js (App Router) + TypeScriptAIEE.DEV standard; SSR/SEO for public site; strong DX
StylingTailwind CSS + design tokensSpeed + consistency
Componentsshadcn/ui primitives + domain componentsAccessible base, custom SOQ patterns on top
FormsReact Hook Form + ZodComplex diploma/WSQ forms with validation
TablesTanStack TableDense Admin queues
StateServer components + React Query for client cacheOps dashboards stay fresh
Auth UXOIDC session + Singpass redirect flowsSingapore identity
ChartsLightweight chart lib for dashboardsManagement/SWDA reports
RealtimeOptional WebSocket/SSE for SWDA job statusIntegration hub UX

Frontend module map (by app)

Public website

#Detail
1Course catalogue & filters
2Course detail + comparison
3Enquiry forms
4Applicant account + Singpass
5Diploma / short / WSQ registration wizards
6Payment return pages

Admin

#Detail
1Programme/course/run builders
2Admissions queues & offer workflows
3Enrolment & Student 360
4Attendance & assessment consoles
5CRM pipeline & commission screens
6Finance orders & Xero sync status
7SWDA integration operations dashboard
8Reporting & RBAC settings

Student

#Detail
1Dashboard, timetable, Zoom links
2Learning content player
3Assessments & submissions
4QR check-in
5Payments / invoices
6Certificates
7Self-service requests

Trainer

#Detail
1Roster & acceptance
2Session delivery
3Attendance matrix
4Marking queue
5Fee claims

Quality bar

AreaStandard
PerformanceLCP < 2.5s public; Admin table interactions < 100ms perceived
ResponsivePublic + Student + Trainer mobile-first; Admin desktop-primary
A11yWCAG 2.2 AA student/public
i18nEnglish first; architecture ready for Chinese/Malay later
SecurityNo secrets in client; CSRF on mutations; role-gated routes
ObservabilityClient error reporting (Sentry-class)

Frontend delivery phases (AIEE.DEV)

  1. Design system + shell apps — auth, nav, layouts
  2. P0 screens — WSQ registration, Admin run/enrol/attendance, Student/Trainer check-in
  3. CRM + finance UIs
  4. Diploma admissions + exemption wizards
  5. Polish — empty states, keyboard shortcuts for Admin power users
Section 29

5.6 Backend

API domains, SWDA hub, Xero sync, data model priorities, and engineering standards.

Backend strategy

Domain-driven API with event-driven integration for SWDA and Xero. UI apps never call government APIs directly.

Apps -> SOQ API Gateway -> Domain Services
                              │
                              ├─ Core TMS (programmes, runs, enrolment, attendance, assessment)
                              ├─ CRM (leads, opportunities, commissions)
                              ├─ Finance Orders (pricing, subsidies, invoices mirror)
                              ├─ Content/Learn (materials, progress)
                              │
                              └─ Outbox Events -> Workers
                                      ├─ SWDA Integration Hub
                                      └─ Xero Sync Service

Recommended stack

LayerChoiceWhy
APINestJS (Node/TypeScript) or .NET 8Enterprise modules, DI, clear boundaries
DBPostgreSQLRelational integrity for funding/grades
QueueRedis + BullMQ (or equivalent)Retries, rate limits for SWDA
Object storageS3-compatibleDocuments, SCORM, recordings
AuthOIDC + Singpass adapter + MFA for staffSG compliance
SecretsVault / cloud secrets managerSWDA credentials isolation
ObservabilityOpenTelemetry + structured logsTrace registration -> SWDA submit

Domain services (high level)

ServiceResponsibilities
IdentityUsers, roles, Singpass links, MFA, sessions
CatalogueProgrammes, courses, modules, versions, fees
SchedulingRuns, intakes, venues, Zoom, conflicts
AdmissionsApplications, offers, exemptions
EnrolmentStudent status, class assignment, Student 360 API
AttendanceSessions, QR tokens, approvals, % rules
AssessmentPapers, attempts, marks, certificates
CRMLeads, Privyr import, pipeline, commissions
OrdersPricing engine, subsidies, SFC allocation, refunds
NotifyEmail/SMS/in-app templates
AuditAppend-only activity & PII access logs
SWDA HubMapping, submit, reconcile, ops dashboard APIs
Xero SyncContacts, invoices, payments, trainer bills

Critical backend rules

  1. Idempotency keys on all SWDA and Xero writes
  2. Evidence gates — funding claim cannot submit without attendance/assessment evidence
  3. Configurable policies — 18-month exemption window as config
  4. TMS owns orders; Xero owns GL — never reverse that
  5. Outbox pattern — domain commit + event; workers process async
  6. PDPA — retention jobs, anonymisation, consent flags

SWDA Integration Hub (must-build)

CapabilityDetail
EnvironmentsSandbox + production configs
AuthSecure credential store; rotation
MappingSOQ domain ↔ SWDA payloads
JobsScheduled + real-time triggers
Ops UX APIStatus by run, errors, resubmit
AuditFull request/response retention policy

Functional coverage (confirm in discovery): course runs, registration, eligibility, grants, SFC, attendance, assessment, completion, disbursement status.


Data priorities (build order)

  1. Tenant/User/Role + Audit
  2. Course / CourseRun / Enrolment / Session / Attendance
  3. Orders / Payments (local) -> Xero later
  4. Assessment / Certificate
  5. CRM Lead / Opportunity
  6. ExternalSyncJob (SWDA) + reconciliation tables

Backend quality bar

AreaStandard
API designVersioned REST (+ OpenAPI); optional GraphQL later
TestsUnit for pricing/eligibility; contract tests for SWDA adapters
PerfEnrolment list p95 < 300ms; SWDA workers durable under rate limits
SecurityRBAC at row level for student PII; encryption in transit
DRDaily backups; RPO <= 24h MVP, tighten for go-live
Section 30

5.7 Architecture

Three applications, two shared services, learner journey state machine, and deployment topology.

Logical architecture

Technical architecture
Rendering diagram…

Learner journey state machine

State machine
Rendering diagram…

Every transition emits a domain event consumed by SWDA hub, notifications, and reporting.

Application responsibilities

ApplicationOwns
Course WebsiteCatalogue, public registration UX, applicant auth
Admin WorkspaceProgrammes, runs, admissions, enrolment, CRM ops, finance ops, reporting
Student PortalLearning, schedule, check-in, self-service, payments view
Trainer PortalRoster, delivery, attendance capture, marking, fee claims
SWDA HubAPI auth, mapping, submission, retry, reconciliation dashboard
Xero ServiceContact/invoice/payment/credit note sync

Tenancy and roles

Single SOQ tenant with organisation-scoped data (corporate sponsors). RBAC per Section 10.1. Row-level security on student PII and financial records.

Deployment (MVP)

Requirement
Singapore region hosting
Separate worker pool for SWDA submissions (rate limits, idempotency)
Integration hub isolated credentials vault
Blue/green API deploys; drain active exam/registration sessions before cutover
Section 31

5.8 Tech spec

Canonical technical specification for SOQ Training Management System delivery.

Document control

FieldValue
ProductSOQ Training Management System (TMS)
Doc typeMaster Technical Specification (MTS)
Statusv0.2 — SOQ requirements baseline
AudienceSolution managers, product, engineering, compliance

1. Purpose

Define technical principles, module boundaries, quality bars, and acceptance criteria for SOQ TMS — a platform that meets SOQ’s diploma, short course, and WSQ operational requirements with SWDA integration and Xero finance sync.

2. Goals

  1. Deliver SWDA/WSQ-conformant training operations (course runs, enrolments, attendance, assessments).
  2. Operate as three user-facing apps with shared identity and consistent Student 360 data.
  3. Keep SWDA hub and Xero adapter as isolated shared services with full audit trails.
  4. Support CRM -> TMS handoff without losing enquiry-to-enrolment history.
  5. Meet PDPA-aligned governance: consent, access logs, retention, audit.

3. Non-goals (v1)

#Requirement
1Full talent marketplace / job matching (DSMR ai.HumanCapital scope)
2AI proctoring at D-GENIO depth (unless added in later phase)
3Multi-country funding adapters beyond Singapore SWDA/WSQ
4Native mobile apps (responsive web first)
5Replacing Xero as general ledger

4. Design principles

  1. TMS is operational source of truth for enrolment, attendance, assessment, pricing, orders.
  2. Adapter over embed — no direct SWDA API calls from UI controllers.
  3. Evidence before funding — claims blocked until attendance/assessment thresholds met.
  4. Configurable policy — e.g. 18-month exemption rule as admin config, not hard-coded.
  5. Audit by construction — money, grades, grant states, and PII access are append-only logged.

5. Quality bars

AreaTarget
Availability99.9% monthly (business hours critical paths)
SWDA submissionsIdempotent keys; exactly-once effect
Registration/paymentPCI via gateway; no card data in TMS DB
AccessibilityWCAG 2.2 AA on student and public flows
ObservabilityTrace ID from registration -> SWDA submission

6. Suggested stack

LayerChoice
Web appsNext.js + TypeScript (Admin, Student, Trainer, Public site)
APINode (NestJS) or .NET — team preference
DatabasePostgreSQL
QueueRedis + workers for SWDA/Xero async jobs
FilesS3-compatible (documents, recordings, SCORM)
AuthOIDC + Singpass adapter + MFA for staff
AccountingXero API (official connector patterns)

7. Security baseline

#Requirement
1RBAC per Section 10.1 roles
2Secrets in vault; SWDA credentials never in frontend
3Data residency Singapore default
4ISO 27001-aligned control roadmap

8. MTS completion checklist

#Requirement
1[x] DSMR suite researched
2[x] SOQ functional requirements documented
3[x] DSMR vs SOQ comparison
4[ ] SWDA API inventory from SOQ subscriptions
5[ ] TPGateway/SWDA field mapping spreadsheet
6[ ] Xero chart-of-accounts mapping workshop
7[ ] Threat model v1
8[ ] MVP screens (WSQ registration + admin enrolment)
Section 32

5.9 Directory structure

Monorepo layout for SOQ TMS — Laravel modular monolith, React portals, SWDA/Xero integrations, and shared packages. Review this before build kickoff.

Purpose

This is the proposed codebase layout for SOQ TMS — aligned with Implementation Documentation v1 (modular monolith, Laravel + PostgreSQL + React, Redis queues).

Andy Koh (CTO) leads the build against this structure from design sign-off. Squad levels: 1.3 CRD Parties.


Repository overview

soq-tms/                              # Monorepo root
├── README.md
├── docs/                               # CRD, PRD, ADRs, runbooks (this package)
│   ├── SOQ_TMS_PRD_v1.1_clean.md
│   ├── SOQ_TMS_Implementation_Documentation_v1.md
│   └── adr/                            # Architecture decision records
│
├── apps/                               # User-facing React applications
│   ├── public-web/                     # Course catalogue, enquiry, registration entry
│   ├── student-portal/                 # Learning, attendance, payments, certificates
│   ├── admin-workspace/                # TMS, CRM, admissions, finance, reporting
│   └── trainer-portal/                 # Roster, delivery, attendance, marking, fees
│
├── packages/                           # Shared frontend / tooling
│   ├── ui/                             # Design system (tokens, shadcn-style components)
│   ├── api-client/                     # Typed REST client generated from OpenAPI
│   ├── auth/                           # Session, Singpass redirect helpers
│   ├── forms/                          # Zod schemas shared with backend DTOs
│   ├── config-eslint/
│   └── config-typescript/
│
├── services/
│   └── api/                            # Laravel modular monolith (system of record)
│       ├── app/
│       │   ├── Http/
│       │   ├── Providers/
│       │   └── Support/                # Cross-cutting helpers
│       │
│       ├── modules/                    # Domain modules (bounded contexts)
│       │   ├── Platform/               # Tenant, org, RBAC shell
│       │   ├── Identity/               # Users, Singpass, MFA, consent
│       │   ├── Catalogue/              # Programmes, courses, modules, fees
│       │   ├── Scheduling/             # Runs, intakes, venues, conflicts
│       │   ├── Admissions/             # Applications, offers, exemptions
│       │   ├── Enrolment/              # Student 360, status, class assignment
│       │   ├── Attendance/             # Sessions, QR, verification, SWDA feed
│       │   ├── Assessment/             # Marks, moderation, release
│       │   ├── Certification/          # Completion, certificates, transcripts
│       │   ├── Finance/                # Orders, subsidies, SFC, refunds
│       │   ├── Crm/                    # Leads, opportunities, Privyr import
│       │   ├── Commission/             # Agent commission, clawback
│       │   ├── Notify/                 # Email, SMS, in-app templates
│       │   └── Audit/                  # Activity log, PII access log
│       │
│       ├── integrations/               # External systems (isolated adapters)
│       │   ├── SwdaHub/                # Queue, retry, ops dashboard APIs
│       │   │   ├── Adapters/
│       │   │   ├── Jobs/
│       │   │   └── Mappers/
│       │   └── Xero/                   # Contacts, invoices, payments, bills
│       │
│       ├── database/
│       │   ├── migrations/             # Per-module migration folders
│       │   └── seeders/
│       │
│       ├── routes/
│       │   ├── api.php
│       │   └── modules/                # Module route registration
│       │
│       └── tests/
│           ├── Unit/
│           ├── Feature/
│           └── Integration/            # SWDA/Xero contract tests (sandbox)
│
├── workers/                            # Optional: dedicated queue workers profile
│   └── integration-worker/             # SWDA + Xero job consumers
│
├── infrastructure/
│   ├── docker/                         # Local dev compose (api, postgres, redis)
│   ├── terraform/                      # AWS SG region (dev, staging, prod)
│   └── ci/                             # GitHub Actions / build pipelines
│
└── tools/
    ├── openapi/                        # API spec generation
    └── scripts/                        # Migrations, Privyr import, seed data

Path ownership notes

Path focus (not a role/level matrix — see 1.3 CRD for squad):

PathNotes
apps/*React portals share packages/ui
services/api/modules/*One module = one bounded context; no cross-module table writes
integrations/SwdaHubFirst extraction candidate; CTO-owned boundary
integrations/XeroFinance sync idempotency
packages/api-clientGenerated from OpenAPI
infrastructure/Multi-AZ, SG region

Key conventions

  1. One module = one folder under modules/ with its own Models, Services, Events, Policies, Routes.
  2. Integrations never live inside UI apps — only through integrations/ + queue workers.
  3. Shared types — Zod/OpenAPI schemas are the contract between services/api and packages/api-client.
  4. Events over direct calls — cross-module side effects via domain events + queue (Redis).
  5. Feature flags — optional modules (CRM, Commission, advanced analytics) toggled per tenant config.

Environment layout

EnvironmentPurposeHost
localDeveloper docker composeLaptop / cloud agent
devShared integration testingAWS SG
stagingUAT + SWDA sandboxAWS SG
productionLive SOQAWS SG multi-AZ

Related sections

Link
5.8 Tech spec — module map and stack
5.6 Backend — domain services detail
5.5 Frontend — app packages detail
5.10 Handover pack — Day 28 deliverables & retention support
Section 33

5.10 Handover pack

What SOQ receives at source handoff, documentation deliverables, acceptance checklist, and 3-month best-effort support under Plan SOQ-25K retention.

Document control

FieldValue
PlanPlan SOQ-25K — US$25,000 complete package
Handoff gateDay 28 — go-live + source delivery (15% / US$3,750)
Retention gateEnd of month 3 post-handover — 10% / US$2,500 release
Full payment schedule2.1 Plan SOQ-25K 4

Handoff (Day 28)

15%

US$3,750 at source delivery

Retention

10%

US$2,500 after 3 months

Support window

3 mo

Best-effort — not Care SLA

Source code

100%

SOQ owns IP at Day 28


1. What SOQ receives at Day 28

Day 28 is source delivery and operational handoff — not the end of all AIEE.DEV involvement. SOQ receives full ownership of the codebase and the documentation pack below. A 10% retention (US$2,500) remains held until the 3-month best-effort support period ends.

Technical deliverables

#DeliverableDetail
1Full source repositoryMonorepo: apps/*, services/api, packages/*, migrations, CI configs — per 5.9 Directory
2Production deployDeployed to SOQ-agreed environment (staging or production per 3.1 Server spec)
3Environment configuration.env.example templates - documented required vars (no secrets in repo)
4DatabasePostgreSQL schema + migration history - seed data for reference (non-PII where possible)
5Third-party credentials handoffSecure transfer of SWDA sandbox keys, Xero OAuth tokens, AWS/IAM roles — via SOQ-approved secret store (1Password / AWS Secrets Manager / hPanel notes)
6Domain & TLSDNS/TLS checklist — SOQ-owned domains; AIEE.DEV documents current routing
7Walkthrough sessionLive handover (>= 2 hours): architecture tour, deploy demo, SWDA Hub ops dashboard, admin RBAC

Credentials handoff process

StepOwnerAction
1AIEE.DEV (CTO)Inventory all integration credentials (SWDA, Xero, email, SMS, payment if configured)
2SOQ opsNominate secret custodian + production admin accounts
3JointRotate any shared dev/staging secrets before production cutover
4AIEE.DEVTransfer via encrypted channel only — never email plain text
5SOQConfirm receipt; revoke AIEE.DEV access to production within 5 business days of handoff sign-off

IP: SOQ owns the codebase from Day 28. AIEE.DEV retains no licence lock-in. Retention covers support, not continued ownership.


2. Documentation deliverables

AIEE.DEV delivers a handover documentation pack alongside the repo. Minimum set:

DocumentPurposeLocation (typical)
READMEQuick start, prerequisites, local dev, project structureREADME.md (repo root)
Deploy guideBuild, migrate, seed, release steps for staging/productiondocs/runbooks/deploy.md
Environment runbookEnv vars, secrets, service dependencies, health checksdocs/runbooks/environment.md
API documentationOpenAPI spec + generated reference for domain + integration endpointsdocs/api/openapi.yaml
SWDA Hub ops notesOutbox replay, retry/DLQ, sandbox vs prod, field mappingdocs/runbooks/swda-hub.md
Xero mapping guideOrder -> invoice mirror, account codes, reconciliation checksdocs/runbooks/xero-sync.md
RBAC matrixRoles, permissions, portal access by personadocs/security/rbac-matrix.md
Architecture summarySystem context, module map, integration boundariesdocs/architecture/overview.md + 5.7 Architecture
Known limitationsMVP depth gaps, phased items, sandbox-only integrationsdocs/handover/known-limitations.md
Support contact (retention)Channel, hours, escalation during 3-month windowdocs/handover/support-during-retention.md

This CRD site remains the living specification. The repo runbooks are the operator's day-2 reference after AIEE.DEV access is revoked.


3. SOQ acceptance checklist (Day 28)

SOQ sign-off on the Go-live + source handoff milestone (15%) when the items below are satisfied:

#CheckSOQ sign-off
1Repository access granted to SOQ-nominated owners☐
2README + deploy guide — SOQ can build and run locally or on agreed host☐
3Staging/production deploy matches agreed scope (2.1 3)☐
4Admin - Student - Trainer - Public surfaces reachable with test accounts☐
5SWDA Hub ops dashboard accessible; sample outbox/retry flow demonstrated☐
6Xero sync path demonstrated (test org or sandbox)☐
7RBAC matrix delivered; SOQ admin role assigned☐
8Credentials inventory signed off; production secrets rotated☐
9Handover walkthrough completed; SOQ ops lead nominated for retention period☐
10Known limitations document reviewed — no surprise on phased scope☐

Disputes: Material defects blocking checklist items pause the 15% invoice until remediated. Cosmetic or out-of-scope items are logged for retention or change order.


4. Three-month best-effort support (retention period)

US$2,500 (10%) is held as retention and released at the end of calendar month 3 after Day 28 handoff sign-off, when release criteria in 5 are met.

This is best-effort support — not a Care retainer, Hypercare SLA, or 24/7 maintenance contract.

Payment after Day 28 handoff

15% at source delivery - 10% retention at month 3

waterfall
Handoff (Day 28)+US$3.8k→ US$3.8k
Retention hold+US$2.5k→ US$6.3k

In scope (best-effort)

#ItemNotes
1Defect fixesBugs in delivered MVP scope — reproducible on agreed environment
2Handover doc clarificationsQuestions on README, runbooks, RBAC, deploy steps
3Integration troubleshootingSWDA Hub / Xero issues traceable to delivered adapter (not SOQ env drift)
4Security patches (critical)CVEs in direct dependencies — patch guidance or PR if trivial
5Office-hours channelEmail / agreed ticket channel - business hours SGT - target response 2 business days

Out of scope (requires change order or SOQ/vendor)

#Item
1Care Lite / Standard / Plus retainers - 24/7 SLA - dedicated on-call
2New features, portals, or modules (4.11 Ops modules)
3Heavy data migration - Privyr bulk history
4Production hosting ops, AWS patching, backup DR — SOQ-owned after handoff
5SWDA production API entitlement changes on SOQ's side
6Third-party vendor incidents (Xero outage, Singpass, payment gateway)

After month 3: SOQ (or a chosen vendor) owns all day-2 operations. Future work = fixed-scope add-ons quoted separately.


5. Retention release criteria

AIEE.DEV invoices the final 10% (US$2,500) when all of the following are true:

#Criterion
190 calendar days elapsed since Day 28 handoff sign-off (or end of month 3 — whichever the contract specifies)
2No open P1 defects in delivered MVP scope (P2/P3 may remain documented with SOQ acceptance)
3SOQ has had reasonable opportunity to raise handover-doc or defect items during the window
4SOQ confirms retention release in writing (email sign-off sufficient)

If SOQ and AIEE.DEV disagree on a blocking defect, parties escalate via Pei Han (CCO) and SOQ authorised representative before withholding retention beyond 30 days past month 3 without documented cause.


6. Timeline (handoff -> retention release)

Milestone IDs MS-013–MS-016: 5.1 Project control plan.

Delivery timeline
Rendering diagram…
PhaseWhenPayment
Pre-handoffDays 1–2830% + 25% + 25% per 2.1 schedule
HandoffDay 2815% - US$3,750
Retention windowMonths 1–3 post-handoff0% (support included in retention hold)
Retention releaseEnd month 310% - US$2,500

Related sections

#Link
12.1 Plan SOQ-25K pricing — full payment schedule & scope
22.3 Post-go-live support — Care retainer vs retention
31.3 CRD control plane — delivery authorities
43.1 Discovery & server spec — deploy target
55.9 Directory structure — repo layout
Section 34

Implementation Documentation v1

AIEE.DEV implementation direction — multi-tenant modular SaaS, Laravel + PostgreSQL + React, base platform, core/optional modules, and delivery phasing.

IMPL-SOQ-TMS-v1 · Platform Topology Lock

FieldValue
Doc-IDIMPL-SOQ-TMS-v1
Stack freezeLaravel 11 · PostgreSQL 15 · React/Next.js 16 · Redis 7
PatternModular monolith → selective extraction
AuthorityHK (CSO) · Andy Koh (CTO)

1 · Architectural decision record summary

ADRDecisionRationale
ADR-001Modular monolith firstTime-to-SWDA-conformance; avoid distributed tracing tax
ADR-002SwdaHub isolation40+ API surface · credential blast radius · independent deploy candidate
ADR-003Outbox for external IORequest thread MUST NOT block on gov HTTP
ADR-004TMS SoR for ordersXero = GL only; prevent dual-write
ADR-005tenant_id column day-1Multi-tenant-ready without self-service admin MVP

2 · Module registry

ModuleAggregate rootsExposes
IdentityUser, Role, SessionAuth API
CatalogueProgramme, Course, CourseRunCatalogue API
AdmissionsApplication, OfferAdmissions API
EnrolmentEnrolment, ClassAssignmentEnrolment API
AttendanceSession, AttendanceFactAttendance API
AssessmentAssessment, ResultAssessment API
CrmLead, OpportunityCRM API
FinanceOrdersOrder, OrderLine, PaymentFinance API
ReportingRead modelsReport API
PlatformAuditLog, Notification, ConfigPlatform API

Integration modules (not domain):

ModuleDirectionProtocol
SwdaHubOutbound/inboundREST + webhook
XeroOutboundOAuth2 REST

3 · Inter-module communication rules

``` ALLOWED: ModuleA --DomainEvent--> Outbox --> ModuleB listener FORBIDDEN: ModuleA --direct Eloquent--> ModuleB model FORBIDDEN: ModuleA --HTTP--> SwdaHub (use Outbox only) ```

Application services orchestrate cross-aggregate workflows within same module or via events across modules.


4 · Directory topology

Canonical tree: CRD §04 /docs/proposed-directory-structure

CI enforcement: dependency-cruiser + eslint-plugin-boundaries on merge to main.


5 · Data layer

ConcernImplementation
Primary DBRDS PostgreSQL Multi-AZ
MigrationsLaravel forward-only
Read modelsstudent_360_mv, pipeline_mv refreshed by queue
FilesS3 SSE-KMS; pre-signed URLs TTL 900s
SearchPostgres FTS MVP; OpenSearch candidate P2

Outbox table (normative)

```sql CREATE TABLE outbox ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), aggregate_type VARCHAR(64) NOT NULL, aggregate_id UUID NOT NULL, event_type VARCHAR(128) NOT NULL, payload JSONB NOT NULL, idempotency_key VARCHAR(255) UNIQUE NOT NULL, published_at TIMESTAMPTZ, created_at TIMESTAMPTZ NOT NULL DEFAULT now() ); CREATE INDEX outbox_unpublished_idx ON outbox (created_at) WHERE published_at IS NULL; ```


6 · API surface

  • Base: /api/v1
  • OpenAPI 3.1 spec generated from Laravel attributes/controllers
  • Client codegen: packages/api-client via CI on spec change
  • Auth: Bearer JWT staff · Session cookie portals · Singpass OIDC public WSQ

Rate limits: public catalogue 100 rpm/IP; authenticated 1000 rpm/user; SWDA workers token-bucket per subscription quota.


7 · Frontend architecture

AppRenderingAuth
public-webRSC + ISR catalogueAnonymous + applicant session
admin-workspaceCSR + RSC hybridStaff SSO + MFA
student-portalPWA-capable CSRStudent session
trainer-portalMobile-first CSRTrainer session

Shared: packages/ui design tokens · packages/api-client · TanStack Query cache policy staleTime=30s ops views.


8 · Async / workers

QueueConsumerConcurrency
defaultnotifications, emails10
swdaSwdaHub adapters5 (rate limited)
xeroinvoice/payment sync3
reportsMV refresh2

Horizon monitoring mandatory. Failed jobs → DLQ table failed_jobs + Slack P1 after 3 retries.


9 · Security controls

ControlImplementation
SecretsAWS Secrets Manager
SWDA credsNever in FE env vars
RBACMiddleware + policy classes
Row-leveltenant_id + scope filters
AuditAppend-only audit_log
EncryptionTLS 1.3 transit · RDS at-rest AES

10 · Deployment topology (MVP)

``` Route53 → CloudFront → ALB → ECS (api, workers) → RDS + ElastiCache ↘ S3 ```

Region: ap-southeast-1. Blue/green via ECS task definition swap. DB migrations run as pre-deploy hook job.


11 · Phase binding

PhaseModules liveExit test
P0Docs + ADRDiscovery DQ-* closed
P1Catalogue, Admissions, Enrolment, Attendance (partial)k6 registration path
P2SwdaHubParallel-run checklist
P3FinanceOrders, XeroReconciliation zero diff
P4CrmFunnel E2E test
P5Assessment advanced, DiplomaUAT sign-off

12 · Change control

  • ADR required for stack or boundary change
  • PRD FR change → version bump + regression suite
  • SWDA field map change → adapter version + golden file update

13 · Related artifacts

  • PRD: SOQ_TMS_PRD_v1.1_clean.md
  • Attachment A: SOQ_Training_Management_System_Proposal.pdf
  • CRD §04 Directory · §17 Architecture · §22 Backend

Implementation authority: Andy Koh (CTO)

aiee.dev / Confidential

AIEE.DEV