// init

Folake Sowonoye.
Technical Writer helping engineering teams turn complex systems into documentation developers, customers, and decision makers actually understand.

// journey

My Journey

I started my career as a software developer, but the Adobe Express Prerelease Developer Program changed how I thought about documentation. While my team built add-ons before new platform features were released, I kept returning to one resource: the documentation. It wasn't just a reference, it was the bridge between an idea and a working product. That experience showed me that great documentation is essential to the success and adoption of any Product.

Around the same time, I spent hours debugging an npm package bug. After finding the root cause, I documented the solution so the next developer wouldn't have to repeat the same journey. Today, that article has been read more than 3,400 times, which shows why I enjoy turning hard earned engineering knowledge into documentation that helps others build with confidence.

// process

My Thought Process

commit 1a2b3c

Research & Understand

commit 4d5e6f

Build Mental Models

commit 7g8h9i

Create Draft & Technical Review

commit 3h7i0j

Revise & Edit

commit 0j1k2l

Publish & Maintain

// skills

Skills & Tools

01 // Foundations

Documentation & Content

The core craft: turning systems and processes into references, guides, and standards people actually use.

Technical documentation Product documentation Internal process documentation API documentation Docs-as-code User guides Technical specifications Release notes & changelogs Content review & editing Documentation standards Content strategy
02 // AI Workflow

AI / LLM Tooling

Using AI as a drafting and research partner, then applying the judgment to know what to keep.

Claude Skills AI/LLM tools for research & drafting Prompt engineering Iterating on AI outputs Human-in-the-loop review Fact-checking AI content llms.txt Documentation MCP servers
03 // Collaboration

Project & Collaboration Tools

The everyday tools for working inside engineering and product workflows, not around them.

GitBook Confluence Jira Microsoft Teams Git/GitHub Slack Discord Markdown PR-based doc generation Evals Linting
04 // Under the Hood

Technical

Enough engineering background to read and test the code, not just the changelog.

React.js TypeScript Node.js Python SQL MongoDB Docker REST APIs OpenAPI/Swagger
05 // Beyond Docs

Additional

Sustainability research and data work that shapes how I frame content for non-technical stakeholders.

Stakeholder engagement (AA1000, ISO 26000) Power BI Excel Cross-functional collaboration with engineering & product teams

// services

code

Developer Documentation

API documentation, Integration guides, Getting Started guides, and Help centers

article

Technical Content

Engineering blogs, Security content, Case studies, AI content, Cloud content.

lightbulb

Thought Leadership

Research reports, Executive insights, and whitepapers.

Let's have a look at my work.

// work

Technical Articles

arrow_outward
APIs Databases Frontend

GraphQL as a Thin Orchestration Layer and When to Choose It Over REST

If you are debating whether to replace your REST API with GraphQL, or your boss just asked “can GraphQL replace REST API” the short answer…

arrow_outward
APIs Cloud DevOps

Forward Proxy vs Reverse Proxy: Fixing CORS and Cookie Issues Between Your Frontend and Backend

A working Vite, Nginx, and Node.js proxy setup for a real SaaS back office plus why changeOrigin fixes your session cookie, not just your…

arrow_outward
Cloud Backend Security

Why Infisical OAuth Login Fails Behind a Reverse Proxy

A self-hosted Infisical instance behind an HTTPS-terminating reverse proxy can fail Google, GitHub, or GitLab login because Infisical…

arrow_outward
APIs Databases DevOps

n8n Activate API Webhook Not Registered: The Single-Main isLeader Bug

Calling n8n’s activate API marks a workflow active but silently skips webhook registration on single-main instances. Here’s the isLeader…

arrow_outward
Security DevOps

Why macOS Rejects Your ACME Certificate With an Empty Subject (and curl Won’t Warn You)

A walkthrough of the RFC 5280 violation behind Infisical’s internal CA bug, how to detect empty-subject certificates rejected on macOS and…

arrow_outward
DevOps APIs

n8n QuickBooks Send Invoice Error: Cause and Fix for the Content-Type Bug.

Why n8n's QuickBooks Send Invoice node throws a Content-Type TypeError before your invoice ever reaches QuickBooks, and the exact version…

arrow_outward
AI Architecture

AI Agent Orchestration Explained: Why It's Not AGI Yet

Understand how multi-agent orchestration actually works: the platforms, the frameworks, the failure modes, and a clear-eyed answer to…

arrow_outward
Architecture APIs

How Software Talks to Hardware: 5 Real Examples Every Developer Should Understand

A layer-by-layer breakdown of what actually happens between a physical sensor and the programming interface call in your code, covering…

arrow_outward
Backend Security

Why We Hash Passwords Instead of Encrypting Them: A Node.js Guide to bcrypt, Argon2id, and.....

A breakdown of hashing versus encryption for developers who store customer passwords, with working TypeScript examples using bcrypt,…

arrow_outward
AI AGI

ANI vs AGI: The Difference That Decides What Your Business Can Safely Automate

Why pattern recognition isn't understanding, and what that means for what your business can safely automate.

arrow_outward
Data GridDB

Data Collection, Analysis, and Visualization with GridDB

A hands-on walkthrough of collecting, analyzing, and visualizing data using GridDB.

arrow_outward
AI Insurance

Why AI in Insurance Fails Without a Universal Semantic Layer Strategy

Exploring why AI initiatives in insurance stall without a shared semantic data layer.

arrow_outward
AI Security CI/CD

Scanning AI-Generated Code for Vulnerabilities: A Pre-Commit Security Pipeline

Building a pre-commit pipeline to catch vulnerabilities in AI-generated code before it ships.

arrow_outward
PCI DSS Web Security

How to Secure a Checkout Page for PCI DSS v4.0.1: CSP, SRI, and Script Inventory

Locking down a checkout page to meet PCI DSS v4.0.1 requirements using CSP, SRI, and script inventories.

arrow_outward
API Security Encryption

Encrypting API Responses End-to-End: What Most Backends Get Wrong and How to Fix It

Common mistakes teams make when encrypting API responses, and how to actually get it right.

arrow_outward
Security Secrets Management

Why Storing Secrets in .env Files Is a Security Risk (and What to Use Instead)

Why .env files are a weak spot for secrets management, and safer alternatives to use instead.

arrow_outward
Security OWASP ASVS

OWASP ASVS Explained for Non-Technical Founders

A founder-friendly breakdown of the OWASP Application Security Verification Standard.

arrow_outward
Security Checklist

How to Apply OWASP ASVS in Your Code: A Developer's Verification Checklist

A practical, code-level checklist for applying OWASP ASVS in real projects.

arrow_outward
AI Claude

How to Build Claude Skills: Stop Rewriting the Same Prompts

A guide to building reusable Claude Skills instead of rewriting the same prompts over and over.

arrow_outward
Netlify Cloudflare

How to Fix Netlify SSL Certificate Renewal Failure When Your DNS Is on Cloudflare

Troubleshooting and fixing SSL certificate renewal failures on Netlify when DNS is managed by Cloudflare.

arrow_outward
Security Networking

What Actually Happens During a TLS Handshake

Breaking down the TLS handshake step by step, in plain language.

arrow_outward
Docker Windows

How to Reclaim Disk Space from Docker on Windows: Compacting the WSL2 VHDX File

Step-by-step guide to compacting the WSL2 VHDX file and reclaiming disk space from Docker on Windows.

arrow_outward
Docker Vite

How to Access Your Local Dev Server from Any Device on Your Network (Docker + Vite)

Configuring Docker and Vite so your local dev server is reachable from any device on your network.

arrow_outward
Docker Troubleshooting

Docker Desktop 4.75.0 Stuck on "Starting Docker Engine" on Windows 11? Here's the Fix

The fix for Docker Desktop 4.75.0 hanging on "Starting Docker Engine" on Windows 11.

arrow_outward
Laravel MySQL

Updating a MySQL Database Table in Laravel

A practical guide to safely updating and migrating MySQL tables in Laravel, plus the pitfalls to avoid along the way.

// case-studies

Deep Dives

Building Developer Documentation for SaaS API

Problem

FoodInfo was launching a SaaS API, but developers needed clear documentation to understand authentication, encryption, requests, responses, error handling, and integration without relying on support.

Research

Worked closely with the engineering team to understand how the API worked, reviewed endpoints, encryption flow, authentication, response formats, and common developer questions before planning the documentation.

Process

Planned the documentation structure, grouped related topics into clear sections, wrote step-by-step guides, added code examples, explained common errors, and created troubleshooting pages to help developers solve problems on their own.

Deliverable

Built a complete developer documentation site covering authentication, API endpoints, encryption, SDK usage, error handling, troubleshooting, and integration guides for the FoodInfo platform.

Securing Checkout Pages (PCI DSS)

Problem

The client needed to educate a diverse audience including eCommerce managers, engineering leaders, DevOps, security, and compliance teams on PCI DSS payment page security. The challenge was to transform a highly technical, compliance driven subject into engaging content that remained technically accurate for security professionals while being accessible and relevant to business and technical decision-makers alike.

Research

Conducted in-depth research across six sources, including the PCI DSS v4.0.1 standard, to understand payment page security, Magecart attacks, client-side JavaScript risks, and modern browser security controls before developing the article.

Process

Mapped PCI DSS requirements to real-world payment page attacks, identified the associated risks and security controls, and developed a narrative that explained both the technical implementation and the business impact, ensuring the article was valuable to engineers, security teams, compliance professionals, and business leaders alike.

Deliverable

Researched, structured, and wrote a comprehensive technical article in three days that transformed PCI DSS payment page security from a compliance-heavy topic into an engaging, technically accurate guide for engineering, security, compliance, and business audiences.

// experience

Freelance

Technical Writer

2024 - Present

Foodinfo

Documentation Developer

2026

Business Fights Poverty | Partime

Sustainability Researcher

2023 - till date

Foodimetric | Project

Technical lead

2025

Gmind AI

Frontend Developer

Jun 2024 - Nov 2024

Edgi | Adobe Developers Program

FullStack Developer

2023 - May 2025

// testimonials

format_quote

"I like examples like this because they show a complete little workflow instead of only a code fragment. For beginners using AI, that matters: make the tool explain the data coming in, the state being rendered, the failure case, and the test path before expanding the feature."

Marcus Kim
format_quote

"It was very helpful, I was able to solve my problem even though it was with Vue.js."

Josimara
verified Recognized as "Top Insightful Stories" on Medium

// contact

I'd love to help with...

  • API Documentation & Developer Portals
  • Docs-as-Code Implementation
  • Technical Tutorials & Guides
  • Technical Blog Content