Portfolio
Documentation samples and published technical work.
Explore public documentation samples and published work across cloud infrastructure, Linux, developer tooling, and AI systems.
- Published pieces
- 111
- Publications
- 10
- Focus
- Infrastructure and developer tools
Selected samples
From an API reference to a documentation workflow.
Explore sample pages, an audit, a portal structure, and a delivery workflow.
Relayline API documentation
A complete developer journey covering first request, core concepts, authentication, endpoint reference, webhooks, errors, rate limits, and an OpenAPI 3.1 specification.
- 7-page documentation set
- OpenAPI 3.1 contract
- Copyable requests and responses
Doc Health Check
An evidence register, priority model, and implementation sequence for improving an API onboarding journey.
- Journey-based review scope
- Evidence and impact register
- Prioritized remediation plan
Developer portal blueprint
An information architecture that connects evaluation, first success, implementation, operations, and reference content.
- Task-based navigation
- Reusable page templates
- Ownership and measurement model
Documentation delivery workflow
A repository, review, validation, preview, and release system designed for maintainable product documentation.
- Repository architecture
- Automated content checks
- Release and rollback controls
Published documentation
Documentation published on product sites.
Featured publications
Recent work
Best HIPAA-compliant integration platforms for AI agents
Read article (opens in a new tab)10 Dedicated Server Providers With Hourly Billing
Read article (opens in a new tab)Nango vs Rutter: Which is better?
Read article (opens in a new tab)BYOC vs. self-hosted for AI agent integrations
Read article (opens in a new tab)Best custom tool-call providers for agent API integrations
Read article (opens in a new tab)How to give AI agents access to user accounts without exposing OAuth tokens
Read article (opens in a new tab)Work archive
Find published work.
Showing all 111 items
- 001Best HIPAA-compliant integration platforms for AI agentsDecision guideNangoOpens in a new tab
- 00210 Dedicated Server Providers With Hourly BillingDecision guideCherry ServersOpens in a new tab
- 003Nango vs Rutter: Which is better?Decision guideNangoOpens in a new tab
- 004BYOC vs. self-hosted for AI agent integrationsDecision guideNangoOpens in a new tab
- 005Best custom tool-call providers for agent API integrationsDecision guideNangoOpens in a new tab
- 006How to give AI agents access to user accounts without exposing OAuth tokensTutorialNangoOpens in a new tab
- 0075 best platforms to connect AI agents to enterprise software (2026)Decision guideNangoOpens in a new tab
- 008How to Deploy Langflow - Open-Source Visual Framework for Building AI ApplicationsTutorialVultrOpens in a new tab
- 009SaaS Cloud Migration to Dedicated Servers: GuideTutorialCherry ServersOpens in a new tab
- 010MCP elicitation: how agents ask users for input mid-tool-callTutorialNangoOpens in a new tab
- 011How to Choose a Dedicated Server in the NetherlandsDecision guideCherry ServersOpens in a new tab
- 01210 Best Bare Metal Provisioning ToolsDecision guideCherry ServersOpens in a new tab
- 013How to build AI agent integrations using the Nango Management MCPTutorialNangoOpens in a new tab
- 014Best webhook infrastructure and management tools for SaaS integrations in 2026Decision guideNangoOpens in a new tab
- 015The best API integration platforms for SaaS apps and agents in 2026Decision guideAngular SpaceOpens in a new tab
- 016Dedicated Server vs Cloud Hosting for SaaSDecision guideCherry ServersOpens in a new tab
- 017Best embedded integrations platform for AI agents and RAGDecision guideNangoOpens in a new tab
- 018VDS vs. VPS: Key Differences, Pros & ConsDecision guideCherry ServersOpens in a new tab
- 019What is a Virtual Dedicated Server (VDS)ExplainerCherry ServersOpens in a new tab
- 020How to Deploy Dify - Open-Source LLM Application Development PlatformTutorialVultrOpens in a new tab
- 021How to Choose a GDPR-Compliant Hosting Provider in EuropeDecision guideCherry ServersOpens in a new tab
- 022How to Choose a 10Gbps Dedicated ServerDecision guideCherry ServersOpens in a new tab
- 0237 Cloud Providers With Free EgressDecision guideCherry ServersOpens in a new tab
- 024How to Choose a Dedicated Server in EuropeDecision guideCherry ServersOpens in a new tab
- 025n8n Self-Hosting Requirements Guide (2026)TutorialCherry ServersOpens in a new tab
- 026Buying vs Renting Dedicated Servers: Full Cost BreakdownDecision guideCherry ServersOpens in a new tab
- 027How to Configure Ingress SSL Certificates in KubernetesTutorialCherry ServersOpens in a new tab
- 028Linux vs Windows Dedicated Servers: Comparison GuideDecision guideCherry ServersOpens in a new tab
- 029Dedicated Streaming Servers: Setup, Costs & ProvidersDecision guideCherry ServersOpens in a new tab
- 030How to Deploy CapRover – Self-Hosted PaaS for Docker ApplicationsTutorialVultrOpens in a new tab
- 031How to Deploy Neko – Self-Hosted Virtual Browser PlatformTutorialVultrOpens in a new tab
- 032Coolify vs Dokploy: Pros, Cons, and Best Use CasesDecision guideCherry ServersOpens in a new tab
- 033Xata Integration (Signadot Docs)DocumentationSignadotOpens in a new tab
- 034Neon Integration (Signadot Docs)DocumentationSignadotOpens in a new tab
- 035How to Evaluate a Cloud Provider’s Security [Checklist]Decision guideCherry ServersOpens in a new tab
- 036RAID 0 to RAID 10: Which RAID Setup is Best for Your Server?Decision guideCherry ServersOpens in a new tab
- 037How to Choose the Right CPU Processor for Your ServerDecision guideCherry ServersOpens in a new tab
- 0387 Best Dedicated Server Providers in SwedenDecision guideCherry ServersOpens in a new tab
- 039Top 8 Private Cloud Providers: SMBs & Enterprise SolutionsDecision guideCherry ServersOpens in a new tab
- 040OpenShift vs Kubernetes on Bare Metal: Which One to ChooseDecision guideCherry ServersOpens in a new tab
- 041When to Use Bare Metal Servers: Complete GuideTutorialCherry ServersOpens in a new tab
- 042VPN vs Proxy: What is the Difference and Which is Better?Decision guideCherry ServersOpens in a new tab
- 043How to Choose the Right Dedicated Server (Step-by-Step Guide)Decision guideCherry ServersOpens in a new tab
- 044Testing Microservices with RabbitMQ using Signadot SandboxesTutorialSignadotOpens in a new tab
- 045Top Blockchain Consensus Mechanisms ExplainedExplainerCherry ServersOpens in a new tab
- 046Troubleshoot Docker Daemon Connection Issues in JenkinsTutorialBaeldungOpens in a new tab
- 047How to Create a Sudo User in LinuxTutorialVultrOpens in a new tab
- 048Run a Shell Script on Every Request in NginxTutorialBaeldungOpens in a new tab
- 049Best MCP Servers For DesignersDecision guideMCP EvalsOpens in a new tab
- 050Azure DevOps: Local Validation of a PipelineTutorialBaeldungOpens in a new tab
- 051What is a Bare Metal Hypervisor? Benefits, Examples & Installation GuideExplainerCherry ServersOpens in a new tab
- 052How to Connect to a Remote Server Using SSHTutorialCherry ServersOpens in a new tab
- 053Best MCP Servers For MarketersDecision guideMCP EvalsOpens in a new tab
- 054MCP Security Best PracticesDecision guideMCP EvalsOpens in a new tab
- 055MCP Use CasesTutorialMCP EvalsOpens in a new tab
- 056How Much Does a Bare Metal Server Cost? Pricing, Providers & TipsDecision guideCherry ServersOpens in a new tab
- 057Best MCP Server Hosting CompaniesDecision guideMCP EvalsOpens in a new tab
- 058MCP Error CodesTutorialMCP EvalsOpens in a new tab
- 059MCP Server-Sent Events (SSE) ExplainedExplainerMCP EvalsOpens in a new tab
- 060How Much Does a Cloud Server Cost? Complete GuideDecision guideCherry ServersOpens in a new tab
- 061MCP Sampling Explained: Adding Intelligence to Your MCP ServersExplainerMCP EvalsOpens in a new tab
- 062Troubleshooting ‘AttributeError: Cython Sources’ When Docker-Compose Fails to Build ImagesTutorialBaeldungOpens in a new tab
- 063How to Install NVIDIA Drivers on Ubuntu 24.04: Step-by-Step GuideTutorialCherry ServersOpens in a new tab
- 064LUKS1 vs. LUKS2 for Partition EncryptionDecision guideBaeldungOpens in a new tab
- 065Blockchain Hardware and Infrastructure: Best Setup for NodesDecision guideCherry ServersOpens in a new tab
- 066Fixing Error “It seems like the kubelet isn’t running or healthy”TutorialBaeldungOpens in a new tab
- 067How To Install and Use Docker Compose on UbuntuTutorialHostmanOpens in a new tab
- 068What is Block Storage and How Does it Work?ExplainerCherry ServersOpens in a new tab
- 069Arch Linux Failure to BootTutorialBaeldungOpens in a new tab
- 070Troubleshooting Docker Volume Mounting IssuesTutorialBaeldungOpens in a new tab
- 071How to Install Grafana on Ubuntu 24.04: Step-by-Step GuideTutorialCherry ServersOpens in a new tab
- 072Systemd Can’t Find the Unit File Although It ExistsTutorialBaeldungOpens in a new tab
- 073Kubernetes Pod’s Service Account With Automount DisabledTutorialBaeldungOpens in a new tab
- 074How to Test Database Schema Changes in Sandboxes using SignadotTutorialSignadotOpens in a new tab
- 075What is a Load Balancer and How Does It Work?ExplainerCherry ServersOpens in a new tab
- 076Using the ps aux Command in LinuxTutorialHostmanOpens in a new tab
- 077Fixing kubectl Error “the server doesn’t have a resource type ‘nodes'”TutorialBaeldungOpens in a new tab
- 078How to Handle Asynchronous Tasks with Node.js and BullMQTutorialHostmanOpens in a new tab
- 079What is a Floating IP and How Does it Work?ExplainerCherry ServersOpens in a new tab
- 080How to Copy Files and Directories in LinuxTutorialHostmanOpens in a new tab
- 081How Much Does it Cost to Run a Minecraft Server?Decision guideCherry ServersOpens in a new tab
- 082Complete BIND9 DNS Server Configuration With a HostnameTutorialBaeldungOpens in a new tab
- 083How to Use JavaScript Array map()TutorialHostmanOpens in a new tab
- 084Fixing Kubernetes Error “no route to host”TutorialBaeldungOpens in a new tab
- 085Understanding Multicloud Deployment StrategiesExplainerBaeldungOpens in a new tab
- 086How to Install Webmin on Debian 12TutorialVultrOpens in a new tab
- 087How to Use DockerfileTutorialHostmanOpens in a new tab
- 088Executable Cannot Be Found Although It’s in the $PATH in Alpine DockerTutorialBaeldungOpens in a new tab
- 089Fixing Kubernetes Error “no endpoints available for service kubernetes-dashboard”TutorialBaeldungOpens in a new tab
- 090How to Install Memcached on Rocky Linux 9TutorialVultrOpens in a new tab
- 091Troubleshooting docker-compose Startup Issues Using the --verbose OptionTutorialBaeldungOpens in a new tab
- 092How to Set SSH Keys While Using cloud-init in LinuxTutorialBaeldungOpens in a new tab
- 093How to Get the CPU and Memory Usage of a Kubernetes Pod Using PrometheusTutorialBaeldungOpens in a new tab
- 094Why Is Running Docker Inside Docker Not Recommended?TutorialBaeldungOpens in a new tab
- 095Fixing docker-compose Fails to Use Local ImagesTutorialBaeldungOpens in a new tab
- 096Python Bytecode: A Beginner’s GuideTutorialMediumOpens in a new tab
- 097Format Command Output In LinuxTutorialWarpOpens in a new tab
- 098Jenkins Best PracticesDecision guideBaeldungOpens in a new tab
- 099How to Download Files with cURLTutorialHostmanOpens in a new tab
- 100CI/CD Best PracticesDecision guideBaeldungOpens in a new tab
- 101Addressing APT Update Post-Invoke-Success Script Execution ErrorTutorialBaeldungOpens in a new tab
- 102How to install Python Libraries in Visual Studio CodeTutorialMediumOpens in a new tab
- 103SCP With Port Number SpecifiedTutorialBaeldungOpens in a new tab
- 104Comparing Between the Different Vim Packages Available in LinuxTutorialBaeldungOpens in a new tab
- 105Guide to Linux sftp Command with ExamplesTutorialBaeldungOpens in a new tab
- 106How to Verify if a URL Is Valid from the Linux ShellTutorialBaeldungOpens in a new tab
- 107Create Files In LinuxTutorialWarpOpens in a new tab
- 108Expose Docker Container PortsTutorialWarpOpens in a new tab
- 109Launch MySQL Using Docker ComposeTutorialWarpOpens in a new tab
- 110How To List Users And Groups In LinuxTutorialWarpOpens in a new tab
- 111How to Echo Shell Commands as They Are Executed?TutorialBaeldungOpens in a new tab
No work matches these filters. Try another search or select all publications and work types.
Start a conversation
Need technical writing for your product?
Tell us what you need to publish, improve, or maintain.
Expect a reply within one business day.