543 lines
24 KiB
TypeScript
543 lines
24 KiB
TypeScript
// lib/services.ts
|
||
export type ServiceCategoryId =
|
||
| "infrastructure-devops"
|
||
| "web-performance"
|
||
| "dev-platforms"
|
||
| "migrations"
|
||
| "minecraft"
|
||
| "web-dev";
|
||
|
||
export interface FaqItem {
|
||
q: string;
|
||
a: string;
|
||
}
|
||
|
||
export interface Service {
|
||
slug: string;
|
||
title: string;
|
||
category: ServiceCategoryId;
|
||
outcome: string; // one-liner outcome under the H1
|
||
who: string[]; // "Who it's for"
|
||
outcomes?: string[]; // optional detailed outcomes list
|
||
deliverables: string[];
|
||
timeline: string; // e.g., "1–2 days"
|
||
price: string; // e.g., "€490" or "from €99/mo"
|
||
proof: string[]; // what you verify and how you show it
|
||
faq: FaqItem[];
|
||
relatedSlugs?: string[]; // internal cross-links
|
||
metaTitle: string;
|
||
metaDescription: string;
|
||
}
|
||
|
||
export const SERVICE_CATEGORIES: Record<
|
||
ServiceCategoryId,
|
||
{ label: string; anchor: string }
|
||
> = {
|
||
"infrastructure-devops": {
|
||
label: "Infrastructure & DevOps",
|
||
anchor: "infrastructure-devops",
|
||
},
|
||
"web-performance": {
|
||
label: "Website Reliability & Performance",
|
||
anchor: "web-performance",
|
||
},
|
||
"dev-platforms": { label: "Developer Platforms & Tooling", anchor: "dev-platforms" },
|
||
migrations: { label: "Migrations & Refreshes", anchor: "migrations" },
|
||
minecraft: { label: "Minecraft Services", anchor: "minecraft" },
|
||
"web-dev": { label: "Web Development", anchor: "web-dev" },
|
||
};
|
||
|
||
// ------- 23 services -------
|
||
export const SERVICES: Service[] = [
|
||
{
|
||
slug: "vps-hardening-care",
|
||
title: "VPS Hardening & Care",
|
||
category: "infrastructure-devops",
|
||
outcome: "Secure, monitored, and backed-up VPS—foundation of the Reliability Stack™.",
|
||
who: [
|
||
"SMBs running WordPress/Next.js/apps on a VPS",
|
||
"Teams needing a baseline security and backup posture",
|
||
],
|
||
deliverables: [
|
||
"SSH/CIS hardening, firewall (ufw), fail2ban",
|
||
"Automated updates, audit log, intrusion checks",
|
||
"Backups + restore test, uptime & resource monitoring",
|
||
],
|
||
timeline: "1–2 days",
|
||
price: "€390 one-off or €89/mo care",
|
||
proof: [
|
||
"Hardened config diff & CIS checklist",
|
||
"Restore test report and monitoring dashboard screenshots",
|
||
],
|
||
faq: [
|
||
{
|
||
q: "Do you need root access?",
|
||
a: "Yes, temporary privileged access is required to apply hardening, install monitoring, and verify backups. Access is removed post-delivery.",
|
||
},
|
||
{
|
||
q: "Which OS do you support?",
|
||
a: "Debian/Ubuntu preferred. We can adapt to AlmaLinux/RHEL-family on request.",
|
||
},
|
||
],
|
||
relatedSlugs: ["cloudflare-edge-hardening", "backup-disaster-recovery-drill"],
|
||
metaTitle: "VPS Hardening & Care — Van Hunen IT",
|
||
metaDescription:
|
||
"Secure your VPS with hardening, monitoring, and tested backups. One-off setup or ongoing care.",
|
||
},
|
||
{
|
||
slug: "dockerize-deploy",
|
||
title: "Dockerize & Deploy",
|
||
category: "infrastructure-devops",
|
||
outcome: "Your app runs in reproducible containers with minimal manual steps.",
|
||
who: ["Teams moving from pets to containers", "Startups needing consistent envs from dev to prod"],
|
||
deliverables: [
|
||
"Dockerfiles & Compose, healthchecks, .env templating",
|
||
"Secrets handling, rollouts, runbook",
|
||
"Docs for local dev & production deployment",
|
||
],
|
||
timeline: "2–3 days",
|
||
price: "€690",
|
||
proof: ["Successful build/deploy logs with healthcheck passes", "Rollback steps validated in a dry-run"],
|
||
faq: [
|
||
{ q: "Can you support multiple services?", a: "Yes—compose a multi-service stack with networks, volumes, and per-service healthchecks." },
|
||
{ q: "Will you set up CI?", a: "CI/CD can be added. See Git-to-Prod CI/CD." },
|
||
],
|
||
relatedSlugs: ["git-to-prod-ci-cd", "observability-stack"],
|
||
metaTitle: "Dockerize & Deploy — Van Hunen IT",
|
||
metaDescription:
|
||
"Containerize your app with Docker and deploy with confidence—healthchecks, secrets, and runbooks included.",
|
||
},
|
||
{
|
||
slug: "container-registry-setup",
|
||
title: "Private Container Registry Setup",
|
||
category: "infrastructure-devops",
|
||
outcome: "Secure image storage and CI/CD-friendly workflows.",
|
||
who: ["Teams needing private images with access control", "Orgs adopting container scanning & retention policies"],
|
||
deliverables: ["GHCR/Harbor registry, RBAC & tokens", "Retention & vulnerability scanning", "CI push/pull integration docs"],
|
||
timeline: "1–2 days",
|
||
price: "€490",
|
||
proof: ["Policy & RBAC screenshots", "Pipeline run showing signed/pushed images"],
|
||
faq: [
|
||
{ q: "Do you support Harbor on-prem?", a: "Yes, Harbor on VPS/K8s with TLS and persistence." },
|
||
{ q: "Image signing?", a: "Cosign support can be added on request." },
|
||
],
|
||
relatedSlugs: ["git-to-prod-ci-cd", "dockerize-deploy"],
|
||
metaTitle: "Private Container Registry — Van Hunen IT",
|
||
metaDescription:
|
||
"Set up a private, secure container registry with RBAC, retention, and CI integration.",
|
||
},
|
||
{
|
||
slug: "k3s-kubernetes-cluster",
|
||
title: "k3s/Kubernetes Cluster in a Day",
|
||
category: "infrastructure-devops",
|
||
outcome: "Production-ready k3s/K8s with ingress, TLS, and app namespaces.",
|
||
who: ["Projects outgrowing Docker Compose", "Teams needing multi-app isolation with ingress"],
|
||
deliverables: ["k3s/K8s install, ingress (Traefik/NGINX), TLS", "Storage class, namespaces, RBAC", "Example deployment & runbook"],
|
||
timeline: "1–2 days",
|
||
price: "€890",
|
||
proof: ["kubectl outputs validating health & RBAC", "Ingress verification and SSL pass"],
|
||
faq: [
|
||
{ q: "Is this managed?", a: "We provision and hand over; optional care add-on available." },
|
||
{ q: "On which infra?", a: "Single VPS, multi-node, or cloud—sized to your load." },
|
||
],
|
||
relatedSlugs: ["observability-stack", "secrets-management", "staging-environment"],
|
||
metaTitle: "Kubernetes (k3s) in a Day — Van Hunen IT",
|
||
metaDescription:
|
||
"Get a production-ready k3s/Kubernetes cluster with ingress, TLS, RBAC, and a sample app.",
|
||
},
|
||
{
|
||
slug: "git-to-prod-ci-cd",
|
||
title: "Git-to-Prod CI/CD",
|
||
category: "infrastructure-devops",
|
||
outcome: "Push to main → build → test → deploy.",
|
||
who: ["Teams wanting predictable deployment pipelines", "Shops standardizing environments and rollbacks"],
|
||
deliverables: [
|
||
"Pipelines (GitHub Actions/Woodpecker)",
|
||
"Image build & tagging, environment promotion",
|
||
"Automated rollbacks & notifications",
|
||
],
|
||
timeline: "2 days",
|
||
price: "€780",
|
||
proof: ["Green pipeline run from commit to deploy", "Rollback rehearsal recorded in logs"],
|
||
faq: [
|
||
{ q: "Do you support monorepos?", a: "Yes—matrix builds and targeted deploys." },
|
||
{ q: "Secrets in CI?", a: "We wire secure secrets management per provider." },
|
||
],
|
||
relatedSlugs: ["dockerize-deploy", "container-registry-setup"],
|
||
metaTitle: "CI/CD to Production — Van Hunen IT",
|
||
metaDescription:
|
||
"Automated pipelines from commit to production with tagging, promotion, and rollbacks.",
|
||
},
|
||
{
|
||
slug: "observability-stack",
|
||
title: "Observability Stack (Prometheus/Grafana/Loki)",
|
||
category: "infrastructure-devops",
|
||
outcome: "Metrics, logs, and alerts you can act on.",
|
||
who: ["Apps needing visibility and alerting", "Teams consolidating logs and dashboards"],
|
||
deliverables: ["Prometheus metrics & alert rules", "Grafana dashboards for app & infra", "Loki log aggregation & retention"],
|
||
timeline: "1–2 days",
|
||
price: "€740",
|
||
proof: ["Dashboards with baseline SLOs", "Test alert firing to Slack/Email"],
|
||
faq: [
|
||
{ q: "Can you integrate with K8s?", a: "Yes, via exporters and service monitors." },
|
||
{ q: "Retention strategy?", a: "Right-sized for your VPS budget and compliance." },
|
||
],
|
||
relatedSlugs: ["k3s-kubernetes-cluster", "git-to-prod-ci-cd"],
|
||
metaTitle: "Observability Stack — Van Hunen IT",
|
||
metaDescription:
|
||
"Prometheus, Grafana, and Loki set up with alerts and actionable dashboards.",
|
||
},
|
||
{
|
||
slug: "backup-disaster-recovery-drill",
|
||
title: "Backup & Disaster-Recovery Drill",
|
||
category: "infrastructure-devops",
|
||
outcome: "Verified restore path—not just backups.",
|
||
who: ["Sites that never tested restore", "Teams formalizing RPO/RTO targets"],
|
||
deliverables: ["Backup plan (files/db), encryption & rotation", "Restore test with documented steps", "RPO/RTO notes & recommendations"],
|
||
timeline: "1 day",
|
||
price: "€490",
|
||
proof: ["Restore demonstration on staging", "Report with timings and gaps"],
|
||
faq: [
|
||
{ q: "Which databases?", a: "MySQL/MariaDB/Postgres supported; others on request." },
|
||
{ q: "Offsite options?", a: "S3-compatible storage or rsync to secondary VPS." },
|
||
],
|
||
relatedSlugs: ["vps-hardening-care", "website-care-plan"],
|
||
metaTitle: "Backup & DR Drill — Van Hunen IT",
|
||
metaDescription:
|
||
"We plan, back up, and verify restores with a documented drill and RPO/RTO notes.",
|
||
},
|
||
{
|
||
slug: "cloudflare-edge-hardening",
|
||
title: "Cloudflare Edge Hardening",
|
||
category: "infrastructure-devops",
|
||
outcome: "Lower TTFB, fewer bad bots, safer origins.",
|
||
who: ["Sites facing spam/bot abuse or high TTFB", "Teams needing sane edge security fast"],
|
||
deliverables: ["WAF & bot tuning, page rules, cache keys", "Origin shielding, HTTP/3, rate limiting", "TTFB and cache-hit improvements"],
|
||
timeline: "1 day",
|
||
price: "€420",
|
||
proof: ["Before/after WebPageTest/TTFB screenshots", "WAF rule set export & notes"],
|
||
faq: [
|
||
{ q: "Pro/Business plan required?", a: "We work with Free+ plans; some features need Pro/Business." },
|
||
{ q: "Will it break APIs?", a: "Rules are staged and tested with allowlists where needed." },
|
||
],
|
||
relatedSlugs: ["vps-hardening-care", "core-web-vitals-sprint"],
|
||
metaTitle: "Cloudflare Edge Hardening — Van Hunen IT",
|
||
metaDescription:
|
||
"Tune WAF, caching, and HTTP/3 to reduce TTFB and block abusive traffic.",
|
||
},
|
||
{
|
||
slug: "core-web-vitals-sprint",
|
||
title: "Core Web Vitals Sprint",
|
||
category: "web-performance",
|
||
outcome: "CLS/LCP/INP into the green with measurable before/after.",
|
||
who: ["Marketing sites and shops with poor CWV", "Next.js/WordPress teams needing a focused fix"],
|
||
deliverables: ["Image strategy (WebP/next/image), font loading", "Script defers, critical CSS, caching headers", "Before/after CWV report"],
|
||
timeline: "2–3 days",
|
||
price: "€820",
|
||
proof: ["Lighthouse/CrUX before vs after", "Largest contentful paint assets diff"],
|
||
faq: [
|
||
{ q: "Will you change design?", a: "Only insofar as needed to stabilize layout and loading." },
|
||
{ q: "Third-party scripts?", a: "We reduce impact via defer/async and budgeting." },
|
||
],
|
||
relatedSlugs: ["cloudflare-edge-hardening", "website-care-plan"],
|
||
metaTitle: "Core Web Vitals Sprint — Van Hunen IT",
|
||
metaDescription:
|
||
"Improve LCP/CLS/INP with image, font, and script strategy plus caching.",
|
||
},
|
||
{
|
||
slug: "website-care-plan",
|
||
title: "Website Care Plan",
|
||
category: "web-performance",
|
||
outcome: "Updates, uptime watch, and verified restores—the Reliability Stack™ on autopilot.",
|
||
who: ["SMBs wanting stable updates and monitoring", "Teams without in-house ops"],
|
||
deliverables: [
|
||
"Updates, uptime monitoring, backups + monthly restore test",
|
||
"Incident credits and priority support",
|
||
"Security checks & reporting",
|
||
],
|
||
timeline: "Monthly",
|
||
price: "from €149/mo",
|
||
proof: ["Monthly report & restore test evidence", "Incident notes with timestamps"],
|
||
faq: [
|
||
{ q: "What platforms?", a: "WordPress, Next.js, Node backends; others on request." },
|
||
{ q: "SLA?", a: "Incident response windows depend on plan tier." },
|
||
],
|
||
relatedSlugs: ["backup-disaster-recovery-drill", "core-web-vitals-sprint"],
|
||
metaTitle: "Website Care Plan — Van Hunen IT",
|
||
metaDescription:
|
||
"Monthly updates, uptime, and verified restores for peace of mind.",
|
||
},
|
||
{
|
||
slug: "email-deliverability-pack",
|
||
title: "Secure Contact & Email Deliverability Pack",
|
||
category: "web-performance",
|
||
outcome: "Inbox-ready email, spoofing blocked, safer forms.",
|
||
who: ["Domains landing in spam or failing DMARC", "Sites receiving contact-form spam"],
|
||
deliverables: [
|
||
"SPF/DKIM/DMARC config & reports",
|
||
"Seed tests, alignment verification",
|
||
"Form honeypot/time-trap/rate-limit",
|
||
],
|
||
timeline: "1–2 days",
|
||
price: "€520",
|
||
proof: ["Before/after seed test screenshots", "DMARC alignment & provider screenshots"],
|
||
faq: [
|
||
{ q: "BIMI?", a: "Supported if you provide a valid SVG and VMC (optional)." },
|
||
{ q: "Multiple providers?", a: "Yes—ESP+transactional combos are supported." },
|
||
],
|
||
relatedSlugs: ["website-care-plan", "cloudflare-edge-hardening"],
|
||
metaTitle: "Email Deliverability Pack — Van Hunen IT",
|
||
metaDescription:
|
||
"Fix spam issues with SPF/DKIM/DMARC, verified tests, and safer contact forms.",
|
||
},
|
||
{
|
||
slug: "self-hosted-gitea-sso",
|
||
title: "Self-Hosted Git (Gitea) with SSO",
|
||
category: "dev-platforms",
|
||
outcome: "Private Git with teams and permissions.",
|
||
who: ["Teams needing on-prem/private Git", "Shops standardizing code workflows"],
|
||
deliverables: ["Gitea + runner, backup/restore", "OAuth/SSO, protected branches", "Repo templates & permissions"],
|
||
timeline: "1 day",
|
||
price: "€460",
|
||
proof: ["Admin settings & SSO validation", "Backup/restore rehearsal log"],
|
||
faq: [
|
||
{ q: "Migrate from GitHub/GitLab?", a: "Yes—repositories and permissions where possible." },
|
||
{ q: "Runner support?", a: "Gitea Actions or Woodpecker runners on request." },
|
||
],
|
||
relatedSlugs: ["git-to-prod-ci-cd", "container-registry-setup"],
|
||
metaTitle: "Self-Hosted Gitea with SSO — Van Hunen IT",
|
||
metaDescription:
|
||
"Own your source control with Gitea, SSO, backups, and runners.",
|
||
},
|
||
{
|
||
slug: "secrets-management",
|
||
title: "Secrets Management (SOPS/age or Sealed-Secrets)",
|
||
category: "dev-platforms",
|
||
outcome: "Safe secrets in Git and Kubernetes.",
|
||
who: ["Teams committing .env by mistake", "K8s users needing encrypted manifests"],
|
||
deliverables: ["SOPS/age or Sealed-Secrets setup", "Key management & rotation policy", "Usage examples & policy notes"],
|
||
timeline: "0.5–1 day",
|
||
price: "€380",
|
||
proof: ["Encrypted secrets in repo & decrypt flow", "Rotation drill notes"],
|
||
faq: [
|
||
{ q: "Which to choose?", a: "SOPS for Git-centric flow; Sealed-Secrets for cluster-centric flow." },
|
||
{ q: "CI integration?", a: "We wire CI to decrypt securely where needed." },
|
||
],
|
||
relatedSlugs: ["k3s-kubernetes-cluster", "git-to-prod-ci-cd"],
|
||
metaTitle: "Secrets Management — Van Hunen IT",
|
||
metaDescription:
|
||
"Implement SOPS/age or Sealed-Secrets for safe secrets handling in Git/K8s.",
|
||
},
|
||
{
|
||
slug: "staging-environment",
|
||
title: "Staging Environment on the Same VPS/Cluster",
|
||
category: "dev-platforms",
|
||
outcome: "Risk-free previews before prod.",
|
||
who: ["Teams deploying without review", "Sites needing UAT previews"],
|
||
deliverables: ["Staging namespace/compose stack", "Preview URLs & deploy gates", "Masked data & access controls"],
|
||
timeline: "1 day",
|
||
price: "€520",
|
||
proof: ["Preview deployment validation", "Access restricted and logged"],
|
||
faq: [
|
||
{ q: "Separate VPS needed?", a: "Not required; we can isolate on the same host if resources allow." },
|
||
{ q: "Data masking?", a: "We provide safe anonymization for staging data." },
|
||
],
|
||
relatedSlugs: ["git-to-prod-ci-cd", "dockerize-deploy"],
|
||
metaTitle: "Staging Environment — Van Hunen IT",
|
||
metaDescription:
|
||
"Add a staging environment with preview URLs and deploy gates.",
|
||
},
|
||
{
|
||
slug: "server-app-migration",
|
||
title: "Server/App Migration to VPS/Kubernetes",
|
||
category: "migrations",
|
||
outcome: "Zero-to-minimal downtime move with rollback.",
|
||
who: ["Teams changing hosts or platforms", "Apps consolidating infra"],
|
||
deliverables: ["Inventory & plan, containerization if needed", "DNS/cutover & rollback plan", "Smoke tests & timed runbook"],
|
||
timeline: "2–4 days",
|
||
price: "€1,190",
|
||
proof: ["Cutover timeline & metrics", "Rollback rehearsal log"],
|
||
faq: [
|
||
{ q: "Can you migrate databases?", a: "Yes—logical or physical migration with validated checks." },
|
||
{ q: "Downtime window?", a: "We schedule low-impact windows and offer blue/green where possible." },
|
||
],
|
||
relatedSlugs: ["legacy-to-container-refresh", "k3s-kubernetes-cluster"],
|
||
metaTitle: "Server/App Migration — Van Hunen IT",
|
||
metaDescription:
|
||
"Plan and execute migrations to VPS or Kubernetes with rollback protection.",
|
||
},
|
||
{
|
||
slug: "legacy-to-container-refresh",
|
||
title: "Legacy to Container Refresh",
|
||
category: "migrations",
|
||
outcome: "From pets to cattle—documented and reproducible.",
|
||
who: ["Legacy apps lacking deployment consistency", "Teams modernizing delivery"],
|
||
deliverables: ["Dockerfiles & manifests", "Healthchecks, backups, docs", "Operational runbook"],
|
||
timeline: "2–3 days",
|
||
price: "€990",
|
||
proof: ["Green healthchecks post-deploy", "Disaster recovery walk-through"],
|
||
faq: [
|
||
{ q: "Unsupported stacks?", a: "We assess feasibility; some apps may need refactors." },
|
||
{ q: "Windows workloads?", a: "Case-by-case; Linux recommended for best results." },
|
||
],
|
||
relatedSlugs: ["dockerize-deploy", "git-to-prod-ci-cd"],
|
||
metaTitle: "Legacy to Container Refresh — Van Hunen IT",
|
||
metaDescription:
|
||
"Containerize legacy apps with healthchecks, backups, and docs.",
|
||
},
|
||
{
|
||
slug: "minecraft-managed-server",
|
||
title: "Managed Minecraft Server",
|
||
category: "minecraft",
|
||
outcome: "Fast, stable, and safe server on a dedicated VPS.",
|
||
who: ["Communities, schools, creators", "Small networks needing reliable ops"],
|
||
deliverables: [
|
||
"VPS sizing/hardening, Paper/Velocity setup",
|
||
"Auto-backups + restore test",
|
||
"Performance tuning, grief/anti-cheat basics, monitoring",
|
||
],
|
||
timeline: "Setup 1 day · Ongoing monthly",
|
||
price: "Starter €49/mo · Pro €99/mo · Network €199/mo (+ VPS)",
|
||
proof: ["TPS baseline & timings report", "Restore test proof & monitoring"],
|
||
faq: [
|
||
{ q: "Java or Bedrock?", a: "Java by default; Bedrock or Geyser support on request." },
|
||
{ q: "Modpacks?", a: "CurseForge/modded supported—resource-dependent." },
|
||
],
|
||
relatedSlugs: ["minecraft-performance-audit", "minecraft-plugin-development", "minecraft-monetization-pack"],
|
||
metaTitle: "Managed Minecraft Server — Van Hunen IT",
|
||
metaDescription:
|
||
"Turnkey Minecraft hosting on a hardened VPS with backups and performance tuning.",
|
||
},
|
||
{
|
||
slug: "minecraft-performance-audit",
|
||
title: "Minecraft Performance & Stability Audit",
|
||
category: "minecraft",
|
||
outcome: "Higher TPS, fewer crashes.",
|
||
who: ["Servers with lag or frequent crashes", "Owners scaling to more players"],
|
||
deliverables: ["Profiler run (Spark), timings analysis", "JVM flags & plugin audit", "Before/after TPS report"],
|
||
timeline: "1 day",
|
||
price: "€390",
|
||
proof: ["Timings & Spark screenshots", "Updated config diff & TPS before/after"],
|
||
faq: [
|
||
{ q: "Supports Bungee/Velocity?", a: "Yes—networked setups supported." },
|
||
{ q: "Player cap increase?", a: "We optimize, then size infra appropriately." },
|
||
],
|
||
relatedSlugs: ["minecraft-managed-server"],
|
||
metaTitle: "Minecraft Performance Audit — Van Hunen IT",
|
||
metaDescription:
|
||
"Fix lag with timings, JVM flags, and plugin optimizations plus TPS reporting.",
|
||
},
|
||
{
|
||
slug: "minecraft-plugin-development",
|
||
title: "Custom Minecraft Plugin Development",
|
||
category: "minecraft",
|
||
outcome: "Features tailored to your server/community.",
|
||
who: ["Servers needing unique mechanics", "Creators monetizing custom content"],
|
||
deliverables: ["Spec, plugin build & tests", "Config & permissions", "Maintenance window"],
|
||
timeline: "From 3–7 days",
|
||
price: "€85/hr or fixed from €650",
|
||
proof: ["Feature demo & test suite run", "Config docs and changelog"],
|
||
faq: [
|
||
{ q: "Source code ownership?", a: "You own it after payment unless agreed otherwise (private repo transfer included)." },
|
||
{ q: "API compatibility?", a: "Paper API targeted; cross-version support is scoped case-by-case." },
|
||
],
|
||
relatedSlugs: ["minecraft-managed-server", "minecraft-monetization-pack"],
|
||
metaTitle: "Minecraft Plugin Development — Van Hunen IT",
|
||
metaDescription:
|
||
"Build custom Paper/Spigot plugins with tests, configs, and docs.",
|
||
},
|
||
{
|
||
slug: "minecraft-monetization-pack",
|
||
title: "Creator Monetization Pack (Tebex)",
|
||
category: "minecraft",
|
||
outcome: "Clean store + safe donations.",
|
||
who: ["Servers adding a store", "Creators formalizing monetization"],
|
||
deliverables: ["Tebex setup & product catalog", "Rank automation & receipts", "Anti-fraud notes & webhooks"],
|
||
timeline: "1 day",
|
||
price: "€420",
|
||
proof: ["Test purchase flow", "Webhook logs to grants"],
|
||
faq: [
|
||
{ q: "Compliance?", a: "We avoid P2W violations and follow platform rules." },
|
||
{ q: "Branding?", a: "Store theme aligned with your site and server style." },
|
||
],
|
||
relatedSlugs: ["minecraft-plugin-development", "minecraft-managed-server"],
|
||
metaTitle: "Minecraft Monetization Pack — Van Hunen IT",
|
||
metaDescription:
|
||
"Set up Tebex with products, ranks, and safe donation flows.",
|
||
},
|
||
{
|
||
slug: "quick-launch-website",
|
||
title: "Quick-Launch Website (Next.js)",
|
||
category: "web-dev",
|
||
outcome: "Fast, SEO-ready site in days.",
|
||
who: ["SMBs needing a credible web presence fast", "Consultants/creators launching offers"],
|
||
deliverables: ["5–7 sections, forms, OG/Twitter cards", "Analytics & deploy to your VPS", "Basic SEO & sitemap"],
|
||
timeline: "5–7 days",
|
||
price: "€2,450",
|
||
proof: ["Lighthouse pass for basics", "Deployed site link & repo handover"],
|
||
faq: [
|
||
{ q: "Copy & assets?", a: "We provide a brief and templates; you can supply or we refine." },
|
||
{ q: "CMS?", a: "Optional—see Headless CMS Setup." },
|
||
],
|
||
relatedSlugs: ["headless-cms-setup", "core-web-vitals-sprint"],
|
||
metaTitle: "Quick-Launch Website (Next.js) — Van Hunen IT",
|
||
metaDescription:
|
||
"Launch a fast, SEO-ready site in days with forms, analytics, and deployment.",
|
||
},
|
||
{
|
||
slug: "headless-cms-setup",
|
||
title: "Headless CMS Setup (Ghost/Strapi)",
|
||
category: "web-dev",
|
||
outcome: "Non-tech content updates without redeploys.",
|
||
who: ["Teams wanting easy publishing", "Sites separating content from code"],
|
||
deliverables: ["CMS install & roles", "Content model & CI/CD", "Image optimization & docs"],
|
||
timeline: "2–3 days",
|
||
price: "€1,190",
|
||
proof: ["Editor demo & role permissions", "Publishing pipeline test"],
|
||
faq: [
|
||
{ q: "Migration from WordPress?", a: "We can import and map key content types." },
|
||
{ q: "Auth & SSO?", a: "SSO/OAuth possible depending on CMS chosen." },
|
||
],
|
||
relatedSlugs: ["quick-launch-website", "website-care-plan"],
|
||
metaTitle: "Headless CMS Setup — Van Hunen IT",
|
||
metaDescription:
|
||
"Install and configure Ghost/Strapi with roles, CI/CD, and image optimization.",
|
||
},
|
||
{
|
||
slug: "security-compliance-baseline",
|
||
title: "Security & Compliance Baseline (GDPR-aware)",
|
||
category: "web-dev",
|
||
outcome: "Reasonable security for small teams.",
|
||
who: ["SMBs formalizing access and logging", "Teams preparing for audits"],
|
||
deliverables: ["Password policy, 2FA & least-privilege", "Audit logging & data retention", "Incident checklist & drills"],
|
||
timeline: "1–2 days",
|
||
price: "€740",
|
||
proof: ["Policy documents & checklists", "Access review and logging tests"],
|
||
faq: [
|
||
{ q: "Covers DPIA?", a: "We provide input; legal sign-off remains with your DPO/counsel." },
|
||
{ q: "Tooling?", a: "We match to your stack—SaaS or self-hosted where appropriate." },
|
||
],
|
||
relatedSlugs: ["vps-hardening-care", "backup-disaster-recovery-drill"],
|
||
metaTitle: "Security & Compliance Baseline — Van Hunen IT",
|
||
metaDescription:
|
||
"Implement practical security policies, logging, and incident readiness for SMBs.",
|
||
},
|
||
];
|
||
|
||
export function getAllServices(): Service[] {
|
||
// Keep a stable order by category then title
|
||
return [...SERVICES].sort((a, b) =>
|
||
a.category === b.category
|
||
? a.title.localeCompare(b.title)
|
||
: a.category.localeCompare(b.category)
|
||
);
|
||
}
|
||
|
||
export function getServiceBySlug(slug: string): Service | undefined {
|
||
return SERVICES.find((s) => s.slug === slug);
|
||
}
|
||
|
||
export function getServicesByCategory(category: ServiceCategoryId): Service[] {
|
||
return getAllServices().filter((s) => s.category === category);
|
||
}
|