704 lines
26 KiB
TypeScript
704 lines
26 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: "Web Performance & Reliability", 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 ready for production.",
|
||
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.",
|
||
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: "Updated site with restore-on-demand and uptime eyes on.",
|
||
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 €99/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 + safe 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.",
|
||
},
|
||
// (Web performance group already added 3; infra/devops group has 7; dev-platforms 3; migrations 2; minecraft 4; web-dev 3)
|
||
];
|
||
|
||
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);
|
||
}
|