/* global React, NavLink, Icon */ const { useState: useState2, useMemo: useMemo2 } = React; /* ============== PRICING ============== */ const TIERS = [ { name: 'Lite', price: 35000, tagline: 'Starter social presence', items: ['6 static posts / month', '2 GIFs / month', 'Content strategy & calendar', 'Posting + boosting', 'Monthly engagement report'], }, { name: 'Mid', price: 65000, tagline: 'Most popular for growth', items: ['10 static posts / month', '2 GIFs OR short video animations', 'Full content strategy', 'Posting, boosting & community engagement', 'Bi-weekly performance reports'], featured: true, }, { name: 'Pro', price: 100000, tagline: 'Full-service campaigns', items: ['20 static posts / month', '4 GIFs + 4 short video animations', 'Strategy + content calendar', 'Full posting, boosting & engagement', 'Weekly insights & quarterly reviews'], }, ]; const PER_OUTPUT = [ { tag: 'STATIC', name: 'Marketing material', desc: 'FB/IG post · poster · banner · menu board', price: 4500 }, { tag: 'STATIC', name: 'Material resizing', desc: 'When master file or PDF is already available', price: 2500, from: 'from ₱2,000 if from us' }, { tag: 'MOTION', name: 'GIF creation', desc: 'New animation from scratch', price: 4500, from: '₱2,500 if animating an existing static' }, { tag: 'MOTION', name: 'Short video animation', desc: 'No shoot — animation only', price: 5000 }, { tag: 'PHOTO', name: 'Food photography', desc: 'Studio session, scaled to your shot list', price: 75000, from: 'starts at' }, { tag: 'SPACE', name: 'Interior & 3D design', desc: 'Shop · restaurant · kiosk concepts', price: 35000, from: 'starts at, per 15 sqm' }, ]; const CUSTOM_PRICING = [ { name: 'Web landing page design & development', desc: 'High-converting websites and landing pages designed to launch products, capture leads, and grow businesses.', price: 90000, timeline: '4–6 weeks' }, { name: 'Internal web application development', desc: 'Custom internal software for CRM, HR, payroll, operations, inventory, booking, reporting, and business automation.', price: 300000, timeline: '8–16 weeks' }, { name: 'Mobile app development', desc: 'Native and cross-platform mobile apps designed to streamline operations and improve customer experiences.', price: 450000, timeline: '10–20 weeks' }, { name: 'Interior & 3D design', desc: 'Interior concepts and realistic 3D visualizations for retail, hospitality, offices, restaurants, and commercial spaces.', price: 35000, timeline: '2–4 weeks' }, ]; function fmt(n) { return '₱' + n.toLocaleString('en-US'); } function Pricing() { const [mode, setMode] = useState2('subs'); return (
Pricing · 05

Simple pricing.
Serious creative.

Choose the engagement that fits your business—from monthly creative support to one-off deliverables or fully custom software projects. Every project is quoted in PHP with transparent pricing and a clearly defined scope from day one.

{mode === 'subs' && (
{TIERS.map((t) => (
{t.name}

{t.tagline}

{(t.price / 1000)}K / month
    {t.items.map((it) => (
  • {it}
  • ))}
Get started
))}
)} {mode === 'per' && (
{PER_OUTPUT.map((p) => (
{p.tag}
{p.name}
{p.desc}
{fmt(p.price)} {p.from && {p.from}}
))}
)} {mode === 'copy' && (
Copywriting

A dedicated writer plugged into your brand voice.

10K / month
  • Captions, headlines, scripts and long-form copy
  • Pairs with any social media subscription
Add copy to my plan
)} {mode === 'custom' && (
{CUSTOM_PRICING.map((p) => (
{p.name}
{p.desc}
Starts at {fmt(p.price)} Estimated timeline: {p.timeline}
))}

Not sure what you need?

Every business is different. Tell us what you're building and we'll recommend the right solution, timeline, and budget.

Get a custom quote
)}
); } /* ============== QUOTE CALCULATOR ============== */ const CALC_ITEMS = [ { id: 'static', label: 'Static posts / materials', unit: 'posts', price: 4500 }, { id: 'gifs', label: 'GIF animations', unit: 'gifs', price: 4500 }, { id: 'videos', label: 'Short video animations', unit: 'videos', price: 5000 }, { id: 'resize', label: 'Static resizes', unit: 'resizes', price: 2500 }, ]; function Calculator() { const [counts, setCounts] = useState2({ static: 6, gifs: 2, videos: 0, resize: 0 }); const [copy, setCopy] = useState2(false); const lines = useMemo2(() => CALC_ITEMS .filter((it) => counts[it.id] > 0) .map((it) => ({ ...it, qty: counts[it.id], total: counts[it.id] * it.price })), [counts]); const subtotal = lines.reduce((a, l) => a + l.total, 0) + (copy ? 10000 : 0); const set = (id, delta) => setCounts((c) => ({ ...c, [id]: Math.max(0, Math.min(40, c[id] + delta)) })); return (
Build your quote · live

Mix and match what you need.

Adjust the counts to ballpark your monthly creative spend. Send it our way and we'll firm it up within a day.

{CALC_ITEMS.map((it) => (
{counts[it.id]}{it.unit}
))}
Estimated total
{(subtotal / 1000).toFixed(subtotal % 1000 === 0 ? 0 : 1)}K per month, all-in
{lines.length === 0 &&
Add some materials to see a breakdown
} {lines.map((l) => (
{l.qty}× {l.label.toLowerCase()} {fmt(l.total)}
))} {copy && (
Copywriting subscription {fmt(10000)}
)}
Send this to Giant Peach
); } Object.assign(window, { Pricing, Calculator, fmt });