// Work grid, Team band, Pricing toggle function Work() { const projects = [ { tags: ['F&B', 'Automation'], t: 'WhatsApp ordering for 14 outlets', kpi: '↓ 94% admin time', tone: '#d8542a' }, { tags: ['E-commerce', 'Dashboards'], t: 'Unified margin dashboard, 4 channels', kpi: '+ RM 320k recovered', tone: '#3a5d4f' }, { tags: ['Logistics', 'AI Agent'], t: 'Customer support agent, 78% solo', kpi: '↑ 4.7 / 5 CSAT', tone: '#3a4763' }, { tags: ['Manufacturing', 'Internal'], t: 'Approvals & vendor checks tool', kpi: '38 hrs / mo / staff', tone: '#7a5b3a' }, ]; return (
SELECTED WORK

Things we've shipped, in production.

{projects.map((p, i) => )}
More exciting case studies coming soon.
); } function WorkCard({ tags, t, kpi, tone, idx }) { return (
{tags.map(tag => ( {tag} ))}
{t}
{kpi}
); } function WorkArt({ idx }) { // simple decorative svg backgrounds — abstract, not slop return (
{idx === 0 && <> {[...Array(8)].map((_, i) => )} } {idx === 1 && <> {[...Array(6)].map((_, i) => )} } {idx === 2 && <> } {idx === 3 && <> {[...Array(12)].map((_, i) => )} }
); } function Team() { return (
THE TEAM

A small team of senior operators.

Eight engineers, designers and ex-founders. No juniors. No layers. The person who scopes your project is the one who builds it.

{[ { n: '8', l: 'Senior makers' }, { n: '12yr', l: 'Avg experience' }, { n: '120+', l: 'Workflows shipped' }, { n: 'KL', l: 'Headquartered' }, ].map((s, i) => (
{s.n}
{s.l}
))}
); } function Pricing() { const [selectedTier, setSelectedTier] = React.useState(null); const [pricingMode, setPricingMode] = React.useState('subscription'); const tiers = [ { id: 'starter', name: 'Starter', headline: "Start Your Digitalising Journey", positioning: "Digital improvement support for SMEs", bestFor: "Small SMEs starting digitalisation", typicalCustomer: ["Small business owner", "Clinic", "Training centre", "Service company", "Small distributor"], painPoint: "We need small fixes and automation, but cannot hire a developer.", minimumContract: "3 months", developmentScope: ["Minor changes", "Small feature enhancements", "Simple internal tools", "Basic automation"], mainDeliverables: ["Small fixes", "Simple automation", "Basic dashboard", "Minor system improvements", "Technical support"], systemIntegration: ["Light API integration", "Google Sheets integration", "Basic WhatsApp/email connection", "Simple third-party automation"], maintenance: ["Minor bug fixing", "Basic support", "Small improvement requests"], price: 3500, monthlyRange: "3k - 5k", annualRange: "32k - 50k", setup: "2k – 3k", capacity: "Monthly improvement capacity", capacityHours: "20 hrs", includes: ["Small fixes", "Simple automation", "Basic dashboard", "Website updates"], meetings: "Monthly", active_requests: 1, response: "2-3 business days", revisions: "1 round per task", support: "Standard", outcome: "Reduce manual work", cta: "Start Small" }, { id: 'growth', name: 'Growth', headline: "Build Your Business System", positioning: "Software team-as-a-service", bestFor: "Growing SMEs needing regular system development", typicalCustomer: ["Manufacturer", "Distributor", "Multi-branch SME", "Professional service firm"], painPoint: "Our business is growing, but Excel, WhatsApp, and manual work are slowing us down.", minimumContract: "3-6 months", developmentScope: ["Regular feature development", "Internal business systems", "Workflow automation", "Dashboard and reporting systems", "Custom admin panels"], mainDeliverables: ["Internal system development", "Dashboard", "API integration", "Workflow automation", "AI productivity tools", "Monthly roadmap planning", "Ongoing maintenance"], systemIntegration: ["CRM integration", "Accounting software integration", "Payment gateway integration", "WhatsApp API integration", "Inventory system integration", "Email automation integration"], maintenance: ["Bug fixing", "Minor enhancements", "Release support", "System monitoring"], price: 9800, monthlyRange: "8k - 15k", annualRange: "85k - 150k", setup: "5k – 8k", capacity: "Monthly delivery sprint", capacityHours: "50-70 hrs", includes: ["Custom systems", "Integrations", "AI automation", "Dashboard", "Maintenance"], meetings: "Twice monthly", active_requests: 2, response: "1-2 business days", revisions: "2 rounds per task", support: "Priority", outcome: "Build and improve internal systems", cta: "Build With Us", featured: true }, { id: 'scale', name: 'Scale', headline: "Scale Your Digital Product", positioning: "Dedicated digital product squad", bestFor: "Companies building advanced systems or SaaS", typicalCustomer: ["Multi-branch business", "Regional SME", "SaaS startup", "Enterprise supplier"], painPoint: "We need a serious software or AI system but do not want to build an internal tech team yet.", minimumContract: "6-12 months", developmentScope: ["Advanced system development", "SaaS product development", "Customer portals", "Multi-role enterprise systems", "AI-powered applications", "Cloud-native architecture"], mainDeliverables: ["Full system development", "SaaS MVP", "Customer portal", "Advanced AI solutions", "Cloud architecture", "Analytics dashboard", "Advanced integrations", "Priority support"], systemIntegration: ["Complex enterprise integrations", "Internal and external API orchestration", "Cloud service integration", "Multi-system workflow integration", "Advanced payment/accounting integration"], maintenance: ["Priority maintenance", "Continuous improvement", "Monitoring and uptime management", "Performance optimisation", "Deployment management"], price: 24000, monthlyRange: "20k - 40k+", annualRange: "220k - 450k+", setup: "10k – 20k", capacity: "Product squad capacity", capacityHours: "120-180 hrs", includes: ["Product roadmap", "Advanced systems", "AI solutions", "Cloud architecture", "Analytics"], meetings: "Weekly", active_requests: "3-4", response: "Same or next business day", revisions: "2-3 rounds", support: "Priority Plus", outcome: "Build scalable software and AI capability", cta: "Scale With a Squad" } ]; const projectModels = [ { id: 'custom-build', name: 'Custom System Build', headline: 'Ship a Defined Business System', positioning: 'Fixed-scope delivery for portals, dashboards, automations, integrations, and internal operating systems.', priceLabel: 'Fixed scope', timeline: '4-12 weeks', bestFor: 'Companies with a known problem, budget, and launch window.', includes: ['Discovery and specification', 'UX and system design', 'Development and testing', 'Launch handover'], cta: 'Request Proposal', featured: true } ]; const isSubscription = pricingMode === 'subscription'; return (
PRICING

Predictable costs, scalable velocity.

{[ ['subscription', 'Subscription'], ['project', 'Project-Based'], ].map(([mode, label]) => { const active = pricingMode === mode; return ( ); })}
{isSubscription ? (
{tiers.map((t, i) => setSelectedTier(t)} />)}
) : (
{projectModels.map((model, i) => )}
)} {isSubscription ? : } {selectedTier && setSelectedTier(null)} />}
{isSubscription ? 'All prices in MYR · 6% SST not included · Pause or cancel with 30 days notice' : 'All proposals quoted in MYR · 6% SST not included · Final scope confirmed after discovery'}
); } function PriceCard({ tier, idx, onDetails }) { const { name, headline, price, capacityHours, meetings, active_requests, outcome, cta, featured } = tier; const essentials = [ { label: 'Capacity', value: `${capacityHours} equivalent` }, { label: 'Active', value: `${active_requests} request${active_requests !== 1 ? 's' : ''}` }, { label: 'Sync', value: meetings }, ]; return (
{featured &&
MOST POPULAR
}
{name}

{headline}

{outcome}

FROM RM {(price / 1000).toFixed(price >= 10000 ? 0 : 1)}k / month
{essentials.map(item => (
{item.label} {item.value}
))}
{cta}
); } function ProjectPriceCard({ model, idx }) { const { name, headline, positioning, priceLabel, timeline, bestFor, includes, cta, featured } = model; const essentials = [ { label: 'Pricing', value: priceLabel }, { label: 'Timeline', value: timeline }, { label: 'Best for', value: bestFor }, ]; return (
{featured &&
MOST REQUESTED
}
{name}

{headline}

{positioning}

MODEL {priceLabel}
{essentials.map(item => (
{item.label} {item.value}
))}
{includes.map(item => (
{item}
))}
{cta}
); } function PricingDetailModal({ tier, onClose }) { React.useEffect(() => { const onKey = (event) => { if (event.key === 'Escape') onClose(); }; window.addEventListener('keydown', onKey); return () => window.removeEventListener('keydown', onKey); }, [onClose]); const specs = [ { label: 'Best for', value: tier.bestFor }, { label: 'Capacity', value: `${tier.capacityHours} equivalent · ${tier.capacity}` }, { label: 'Response time', value: tier.response }, { label: 'Revisions', value: tier.revisions }, { label: 'Support', value: tier.support }, ]; const detailGroups = [ { label: 'Software scope', items: tier.developmentScope }, { label: 'Deliverables', items: tier.mainDeliverables }, { label: 'Integration', items: tier.systemIntegration }, { label: 'Maintenance', items: tier.maintenance }, ]; const scopeRules = [ ['Delivery model', 'Priority-based roadmap with task approval and effort estimation before build.'], ['Progress visibility', 'Shared board, regular updates, and delivery report.'], ]; return (
{tier.name.toUpperCase()} PLAN

{tier.headline}

{tier.positioning}

STARTS FROM
RM {(tier.price / 1000).toFixed(tier.price >= 10000 ? 0 : 1)}k / month
Subscription requests are unlimited, delivery is prioritised within monthly capacity.
Pain point
{tier.painPoint}
Minimum contract
{tier.minimumContract}
Typical customer
{tier.typicalCustomer.map(item => ( {item} ))}
{scopeRules.map(([label, value]) => (
{label}
{value}
))}
{tier.cta}
{specs.map(item => (
{item.label}
{item.value}
))}
{detailGroups.map(group => (
{group.label}
    {group.items.map(item => (
  • {item}
  • ))}
))}
); } function ScopeManagement() { const details = [ { label: 'Delivery Model', value: 'Priority-based within monthly capacity' }, { label: 'Unused Capacity', value: '30% rollover (valid for 1 month)' }, { label: 'Visibility', value: 'Shared board, weekly updates, delivery reports' }, ]; const exclusions = [ "24/7 support", "Unlimited revisions", "Full ERP implementation", "Large mobile apps", "Data migration", "Security audits", "Hardware setup", "Subscription fees", "Data entry" ]; const separate = [ "New SaaS platforms", "Mobile app dev", "Large system rebuilds", "Complex AI implementation", "Enterprise integrations" ]; return (

How we manage scope.

We operate as an extension of your team. Clear roadmaps and priority-based delivery ensure you always get the most value from your capacity.

{details.map(d => (
{d.label}
{d.value}
))}
NOT INCLUDED IN SUBSCRIPTION
{exclusions.map(e => • {e})}
SEPARATE QUOTE REQUIRED
{separate.join(', ')}
); } function ProjectScope() { const details = [ { label: 'Engagement Model', value: 'Defined scope, milestones, acceptance criteria, and delivery timeline' }, { label: 'Proposal Basis', value: 'Quoted after discovery, requirements review, and technical sizing' }, { label: 'Handover', value: 'Source code, documentation, deployment notes, and launch support' }, ]; const included = [ "Discovery", "Solution design", "Project plan", "Development", "Testing", "Launch support", "Documentation", "Team handover" ]; const separate = [ "Ongoing product support", "New feature phases", "Third-party subscription fees", "Large data migration", "Hardware procurement" ]; return (

How project scope works.

Project-based work is best when the goal is clear and the delivery can be shaped into a defined phase. We quote against outcomes, complexity, and implementation risk.

{details.map(d => (
{d.label}
{d.value}
))}
TYPICALLY INCLUDED
{included.map(e => • {e})}
SEPARATE COMMERCIAL SCOPE
{separate.join(', ')}
); } Object.assign(window, { Work, Team, Pricing });