<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Bojan Josifoski — Writing</title><description>Website platform engineer for banks and credit unions. Building a new platform at Codever, and Co-Founder of SampleHQ, a SaaS for packaging manufacturers.</description><link>https://bojanjosifoski.com/</link><language>en-us</language><item><title>From Zapier to AI Agents: The Four Levels of Business Automation</title><link>https://bojanjosifoski.com/automation-ladder-zapier-to-ai-agents/</link><guid isPermaLink="true">https://bojanjosifoski.com/automation-ladder-zapier-to-ai-agents/</guid><description>Every startup founder in 2026 says they are building with AI agents. Most of them are running Zapier automations with a GPT call in the middle. Gartner, Forrester, and Anthropic all draw the same lines. There are four distinct levels of business automation. Most companies need level two. Almost nobody needs level four yet.</description><pubDate>Sat, 13 Jun 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>AI Engineering</category><category>Workflow Design</category></item><item><title>Every WordPress Error Page Beyond 404 Is Broken. I Built a Plugin to Fix Them.</title><link>https://bojanjosifoski.com/wordpress-custom-error-pages-graceful-plugin/</link><guid isPermaLink="true">https://bojanjosifoski.com/wordpress-custom-error-pages-graceful-plugin/</guid><description>WordPress shows the same ugly white screen for every error: permission denied, expired links, fatal crashes. Every plugin in the directory only fixes your 404 page. Graceful Error Pages replaces all of them, including wp_die() screens and the white screen of death, with branded, professional pages. Five templates, auto-branding on activation, no configuration screens.</description><pubDate>Wed, 03 Jun 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>WordPress</category><category>Workflow Design</category></item><item><title>Your Git Log Is a Legal Document</title><link>https://bojanjosifoski.com/your-git-log-is-a-legal-document/</link><guid isPermaLink="true">https://bojanjosifoski.com/your-git-log-is-a-legal-document/</guid><description>In 2024, a court ordered production of git version control history as evidence in a software IP dispute. Your commits record author name, email, timestamp, and content hash, all chained cryptographically and replicated across clones. Courts treat this as relevant evidence. Squash merges, shared accounts, and company-owned repos with no personal backup destroy it.</description><pubDate>Fri, 29 May 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>AI Engineering</category><category>Data Architecture</category><category>SaaS Architecture</category></item><item><title>Breaking Code: The Addiction Nobody in Tech Will Admit To</title><link>https://bojanjosifoski.com/ai-coding-addiction-neuroscience-breaking-bad/</link><guid isPermaLink="true">https://bojanjosifoski.com/ai-coding-addiction-neuroscience-breaking-bad/</guid><description>AI coding tools operate on a variable ratio reinforcement schedule, the same mechanism that makes slot machines the most addictive invention in human history. The neuroscience is not a metaphor. Developers are losing sleep, taking prescription medication to disconnect, and reporting withdrawal symptoms during outages. The people saying this are OpenAI co-founders, Y Combinator CEOs, and the developers who built the tools.</description><pubDate>Tue, 26 May 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>AI Engineering</category></item><item><title>The Three-Body Problem: AI Code, Supply Chain Attacks, and the Talent Exodus</title><link>https://bojanjosifoski.com/three-body-problem-ai-code-supply-chain-talent-exodus/</link><guid isPermaLink="true">https://bojanjosifoski.com/three-body-problem-ai-code-supply-chain-talent-exodus/</guid><description>Three forces are converging that nobody is modeling together. AI is generating code with 2.74x more vulnerabilities. Supply chain attacks grew 1,300% in three years. And the security talent pipeline is collapsing. Each one alone is manageable. All three at once is something the industry has never faced.</description><pubDate>Mon, 25 May 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>AI Engineering</category><category>SaaS Architecture</category><category>Workflow Design</category></item><item><title>Nobody Reads Your Code Anymore</title><link>https://bojanjosifoski.com/nobody-reads-your-code-anymore/</link><guid isPermaLink="true">https://bojanjosifoski.com/nobody-reads-your-code-anymore/</guid><description>46% of code on GitHub is now AI-generated. Teams merge 98% more PRs. Review time is up 91%. The human in the loop is still there. The loop just got so wide that the human cannot see the edges anymore.</description><pubDate>Sat, 23 May 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>AI Engineering</category><category>SaaS Architecture</category><category>Workflow Design</category></item><item><title>Your Side Project Is Not a Business</title><link>https://bojanjosifoski.com/your-side-project-is-not-a-business/</link><guid isPermaLink="true">https://bojanjosifoski.com/your-side-project-is-not-a-business/</guid><description>App Store submissions surged 84% in Q1 2026. GitHub hosts 630 million projects. AI made shipping trivially easy. It did not make finding customers any easier. The gap between a deployed app and a business has never been wider.</description><pubDate>Fri, 22 May 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>AI Engineering</category><category>SaaS Architecture</category><category>Workflow Design</category></item><item><title>Chasing Tokens: The Developer Grind Nobody Warned You About</title><link>https://bojanjosifoski.com/chasing-tokens-developer-grind-ai/</link><guid isPermaLink="true">https://bojanjosifoski.com/chasing-tokens-developer-grind-ai/</guid><description>Every developer is either chasing tokens at 3am or pretending AI does not exist. There is no middle ground. And the people on both sides think the other side is insane.</description><pubDate>Thu, 21 May 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>AI Engineering</category><category>SaaS Architecture</category><category>Workflow Design</category></item><item><title>The Death of the Junior Developer</title><link>https://bojanjosifoski.com/death-of-the-junior-developer/</link><guid isPermaLink="true">https://bojanjosifoski.com/death-of-the-junior-developer/</guid><description>Entry-level developer hiring is down 60%. One camp says juniors are dead weight in an AI world. The other says we are destroying the pipeline that creates senior engineers. Both camps have a point. Neither has a plan.</description><pubDate>Thu, 21 May 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>AI Engineering</category><category>SaaS Architecture</category><category>Workflow Design</category></item><item><title>18 Years of WordPress and My First Plugin on WordPress.org</title><link>https://bojanjosifoski.com/first-wordpress-org-plugin-samplehq-request-form/</link><guid isPermaLink="true">https://bojanjosifoski.com/first-wordpress-org-plugin-samplehq-request-form/</guid><description>After 18 years of building WordPress themes and plugins for clients, I published my first plugin on WordPress.org. Here is why it took this long, what the plugin does, and what the review process taught me.</description><pubDate>Wed, 20 May 2026 09:52:53 GMT</pubDate><category>SampleHQ</category><category>SaaS Architecture</category><category>Sample Management</category><category>WordPress</category><category>Workflow Design</category></item><item><title>How I Built a Programmatic Video Engine for SaaS Product Demos</title><link>https://bojanjosifoski.com/programmatic-video-engine-saas-product-demos/</link><guid isPermaLink="true">https://bojanjosifoski.com/programmatic-video-engine-saas-product-demos/</guid><description>Product demo videos go stale the moment your UI changes. I built an open-source React framework on Remotion that generates cinematic product walkthroughs from code, with prop-driven choreography, a visual editor, and Claude integration.</description><pubDate>Fri, 15 May 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>AI Engineering</category><category>SaaS Architecture</category></item><item><title>Building an AI Agent That Queries Operational Data (Not Just Chats)</title><link>https://bojanjosifoski.com/ai-agent-queries-operational-data/</link><guid isPermaLink="true">https://bojanjosifoski.com/ai-agent-queries-operational-data/</guid><description>Most AI integrations wrap a chatbot around help docs. A useful AI agent needs purpose-built query builders that return verified data from your database, not hallucinated answers that sound plausible.</description><pubDate>Sat, 09 May 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>AI Engineering</category><category>SaaS Architecture</category><category>Sample Management</category></item><item><title>The Architecture of a Multi-Tenant SaaS Built on WordPress</title><link>https://bojanjosifoski.com/multi-tenant-saas-architecture-wordpress/</link><guid isPermaLink="true">https://bojanjosifoski.com/multi-tenant-saas-architecture-wordpress/</guid><description>WordPress Multisite as a SaaS foundation: how tenant provisioning, blog-level data isolation, cross-domain SSO, and background job processing come together in a production platform.</description><pubDate>Wed, 06 May 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>SaaS Architecture</category><category>WordPress</category></item><item><title>Async Everything: Why Background Processing Matters for Operational Software</title><link>https://bojanjosifoski.com/async-everything-background-processing-ops-software/</link><guid isPermaLink="true">https://bojanjosifoski.com/async-everything-background-processing-ops-software/</guid><description>Synchronous API calls break at scale. Shipping label purchases time out. CSV imports lock browsers. CRM syncs take thirty seconds. Here is why background job queues are not optional for operational software.</description><pubDate>Mon, 04 May 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>Background Jobs</category><category>SaaS Architecture</category><category>WordPress</category></item><item><title>What Most Manufacturers Get Wrong About Operational Visibility</title><link>https://bojanjosifoski.com/manufacturers-get-wrong-operational-visibility/</link><guid isPermaLink="true">https://bojanjosifoski.com/manufacturers-get-wrong-operational-visibility/</guid><description>Visibility is not a dashboard problem. It is a workflow design problem. If your processes do not emit the right data at the right time, no reporting tool will give you the answers you need.</description><pubDate>Sat, 02 May 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>Manufacturing</category><category>Operational Visibility</category><category>Revenue Attribution</category><category>Workflow Design</category></item><item><title>How to Design a Sample Request Workflow That Actually Scales</title><link>https://bojanjosifoski.com/design-sample-request-workflow-scales/</link><guid isPermaLink="true">https://bojanjosifoski.com/design-sample-request-workflow-scales/</guid><description>At 50 orders a month, any process works. At 500, only designed workflows survive. Here is how to think about sample request intake, state transitions, and notifications as a systems problem.</description><pubDate>Wed, 29 Apr 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>Fulfillment</category><category>Manufacturing</category><category>Sample Management</category><category>Workflow Design</category></item><item><title>Why Operational Software Needs an Audit Trail (And How to Build One)</title><link>https://bojanjosifoski.com/operational-software-audit-trail/</link><guid isPermaLink="true">https://bojanjosifoski.com/operational-software-audit-trail/</guid><description>When something goes wrong with a sample order, the first question is always &amp;#8216;what happened?’ Without a structured audit log, the answer is always a guess. Here is how to build one that actually gets used.</description><pubDate>Mon, 27 Apr 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>Data Architecture</category><category>Operational Visibility</category><category>SaaS Architecture</category></item><item><title>HubSpot Is Not Your Sample Management System</title><link>https://bojanjosifoski.com/hubspot-not-sample-management-system/</link><guid isPermaLink="true">https://bojanjosifoski.com/hubspot-not-sample-management-system/</guid><description>HubSpot is excellent for deals and contacts. It is not built for sample orders, shipment tracking, fulfillment queues, or delivery-triggered follow-up. Here is where the data model breaks and what the gap actually costs.</description><pubDate>Sat, 25 Apr 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>CRM</category><category>HubSpot</category><category>Operational Visibility</category><category>Sample Management</category><category>Workflow Design</category></item><item><title>What AI Actually Looks Like in Sample Operations (Not What You’d Expect)</title><link>https://bojanjosifoski.com/ai-in-sample-operations/</link><guid isPermaLink="true">https://bojanjosifoski.com/ai-in-sample-operations/</guid><description>Most AI content about manufacturing is vaporware. Here is what AI concretely does inside a sample workflow today: natural language search, follow-up generation, and anomaly detection grounded in real operational data.</description><pubDate>Wed, 22 Apr 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>Manufacturing</category><category>Operational Visibility</category><category>Sample Management</category></item><item><title>What Migrating a Data Model Taught Me About Backwards Compatibility</title><link>https://bojanjosifoski.com/migrating-data-model-backwards-compatibility/</link><guid isPermaLink="true">https://bojanjosifoski.com/migrating-data-model-backwards-compatibility/</guid><description>You cannot just change the schema when existing orders have data in the old format. The dual-read pattern lets you evolve data models in production without breaking what already works.</description><pubDate>Mon, 20 Apr 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>Data Architecture</category><category>SaaS Architecture</category><category>WordPress</category></item><item><title>What Salesforce Edition You’re On Changes Everything About Integration</title><link>https://bojanjosifoski.com/salesforce-edition-changes-everything-integration/</link><guid isPermaLink="true">https://bojanjosifoski.com/salesforce-edition-changes-everything-integration/</guid><description>Most Salesforce integration guides assume Enterprise edition. In reality, Essentials lacks API access entirely, Professional may need add-ons, and your integration strategy needs to handle all of them.</description><pubDate>Sat, 18 Apr 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>CRM</category><category>Operational Visibility</category><category>SaaS Architecture</category><category>Salesforce</category></item><item><title>Why Sample Operations Break Between Sales and Fulfillment</title><link>https://bojanjosifoski.com/sample-operations-break-between-sales-fulfillment/</link><guid isPermaLink="true">https://bojanjosifoski.com/sample-operations-break-between-sales-fulfillment/</guid><description>Sales requests samples. Fulfillment ships them. Nobody closes the loop. The handoff between these two teams is where sample data disappears and follow-up dies.</description><pubDate>Wed, 15 Apr 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>Fulfillment</category><category>Manufacturing</category><category>Operational Visibility</category><category>Sample Management</category><category>Workflow Design</category></item><item><title>What I Learned Building CRM-Connected Workflows on WordPress</title><link>https://bojanjosifoski.com/building-crm-connected-workflows-wordpress/</link><guid isPermaLink="true">https://bojanjosifoski.com/building-crm-connected-workflows-wordpress/</guid><description>Building real CRM integrations on WordPress Multisite taught me things no tutorial covers: edition-aware Salesforce probing, webhook deduplication, cross-domain SSO, and why multi-tenant isolation is the hardest part.</description><pubDate>Sat, 11 Apr 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>CRM</category><category>HubSpot</category><category>SaaS Architecture</category><category>Salesforce</category><category>WordPress</category></item><item><title>How We Handle Webhook Deduplication (And Why You Should Too)</title><link>https://bojanjosifoski.com/webhook-deduplication-idempotency-pattern/</link><guid isPermaLink="true">https://bojanjosifoski.com/webhook-deduplication-idempotency-pattern/</guid><description>HubSpot and Salesforce both send duplicate webhook events. If you process them twice, you get corrupted data, duplicate notifications, and broken attribution. Here is the idempotency pattern that prevents it.</description><pubDate>Thu, 09 Apr 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>CRM</category><category>HubSpot</category><category>SaaS Architecture</category><category>Salesforce</category><category>Webhooks</category></item><item><title>I Built a Self-Improving Workflow for Claude Code</title><link>https://bojanjosifoski.com/i-built-a-self-improving-workflow-for-claude-code/</link><guid isPermaLink="true">https://bojanjosifoski.com/i-built-a-self-improving-workflow-for-claude-code/</guid><description>I built a Claude Code template with session memory, hook enforcement, and a self-improving feedback loop. It captures mistakes automatically and generates rules to prevent them. Install in any project with one command.</description><pubDate>Tue, 07 Apr 2026 10:05:14 GMT</pubDate><category>SampleHQ</category></item><item><title>The Real Cost of Managing Samples in Spreadsheets</title><link>https://bojanjosifoski.com/real-cost-managing-samples-spreadsheets/</link><guid isPermaLink="true">https://bojanjosifoski.com/real-cost-managing-samples-spreadsheets/</guid><description>Spreadsheet-based sample tracking does not just slow teams down. It creates compounding data problems that cost real money in lost follow-up, wasted samples, and invisible attribution gaps.</description><pubDate>Tue, 07 Apr 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>Manufacturing</category><category>Operational Visibility</category><category>Sample Management</category><category>Workflow Design</category></item><item><title>How We Took Our Marketing Site from PageSpeed 60 to 94 (and Fixed iOS 26)</title><link>https://bojanjosifoski.com/how-we-took-our-marketing-site-from-pagespeed-60-to-94-and-fixed-ios-26/</link><guid isPermaLink="true">https://bojanjosifoski.com/how-we-took-our-marketing-site-from-pagespeed-60-to-94-and-fixed-ios-26/</guid><description>Our marketing site at samplehq.io scored 60 on Google PageSpeed mobile. Total Blocking Time was 950ms. Time to Interactive was 13.8 seconds. On iOS 26.4, the page took over 20 seconds to become usable. Users on iPhones could not even open the mobile menu. After a focused optimization session, the score climbed to 94. Total</description><pubDate>Mon, 06 Apr 2026 09:21:10 GMT</pubDate><category>SampleHQ</category><category>iOS</category><category>JavaScript</category><category>Performance</category><category>Web Vitals</category><category>WordPress</category></item><item><title>How to Connect Sample Activity to Revenue (Without Guessing)</title><link>https://bojanjosifoski.com/connect-sample-activity-to-revenue/</link><guid isPermaLink="true">https://bojanjosifoski.com/connect-sample-activity-to-revenue/</guid><description>Most teams cannot prove that samples influence revenue. The problem is not effort. It is architecture. Here is what connecting sample data to deal outcomes actually requires at the systems level.</description><pubDate>Fri, 03 Apr 2026 09:00:00 GMT</pubDate><category>SampleHQ</category><category>CRM</category><category>Operational Visibility</category><category>Revenue Attribution</category><category>Sample Management</category></item><item><title>Why CRMs Fail at Sample Tracking (And What to Build Instead)</title><link>https://bojanjosifoski.com/why-crms-fail-at-sample-tracking/</link><guid isPermaLink="true">https://bojanjosifoski.com/why-crms-fail-at-sample-tracking/</guid><description>Salesforce and HubSpot were built to manage deals, not track what was shipped, when it arrived, or whether it influenced revenue. Here is why CRM-based sample tracking breaks down and what a purpose-built system actually requires.</description><pubDate>Sun, 29 Mar 2026 15:08:39 GMT</pubDate><category>SampleHQ</category><category>CRM</category><category>HubSpot</category><category>Operational Visibility</category><category>Salesforce</category><category>Sample Management</category><category>Workflow Design</category></item><item><title>From Chatbots to Autonomous Workflows: Inside Our 8-Agent Prospecting System</title><link>https://bojanjosifoski.com/from-chatbots-to-autonomous-workflows-inside-our-8-agent-prospecting-system/</link><guid isPermaLink="true">https://bojanjosifoski.com/from-chatbots-to-autonomous-workflows-inside-our-8-agent-prospecting-system/</guid><description>Most dashboards have a chatbot. That’s not the same thing as having AI agents. Here’s why the distinction matters &amp;#8211; and how we built a prospecting dashboard where 8 specialized agents, 19 tools, and persistent memory connect your data sources, monitor signals, and automate outreach. The Chatbot Ceiling Every SaaS product is racing to bolt</description><pubDate>Wed, 25 Feb 2026 20:24:02 GMT</pubDate><category>SampleHQ</category></item><item><title>Running WP-Cron Properly on a Kinsta WordPress Multisite</title><link>https://bojanjosifoski.com/running-wp-cron-properly-on-a-kinsta-wordpress-multisite/</link><guid isPermaLink="true">https://bojanjosifoski.com/running-wp-cron-properly-on-a-kinsta-wordpress-multisite/</guid><description>On Kinsta, scheduled WordPress tasks are normally triggered by a server level cron that calls wp-cron.php at fixed intervals. That works well for single site installations. For WordPress Multisite, applications that depend on reliable background processing often need a different approach. A single wp-cron.php request does not always execute scheduled events for every subsite in</description><pubDate>Sat, 21 Feb 2026 15:56:16 GMT</pubDate><category>SampleHQ</category></item><item><title>How I Built a B2B SaaS on WordPress (Architecture, Stack, and Lessons)</title><link>https://bojanjosifoski.com/how-i-built-a-b2b-saas-on-wordpress-architecture-stack-and-lessons/</link><guid isPermaLink="true">https://bojanjosifoski.com/how-i-built-a-b2b-saas-on-wordpress-architecture-stack-and-lessons/</guid><description>I Built a Full B2B SaaS on WordPress. Here’s the Entire Stack. WordPress powers 43% of the web. Most people think that means blogs and marketing sites. It doesn’t have to. I built SampleHQ on WordPress because after 16+ years of working with it, I know exactly what it can do when you push it.</description><pubDate>Sat, 21 Feb 2026 15:40:06 GMT</pubDate><category>SampleHQ</category></item><item><title>Sample Attribution: The Missing Link Between Your CRM and Real Revenue</title><link>https://bojanjosifoski.com/sample-attribution-the-missing-link-between-your-crm-and-real-revenue/</link><guid isPermaLink="true">https://bojanjosifoski.com/sample-attribution-the-missing-link-between-your-crm-and-real-revenue/</guid><description>The Problem Companies send product samples to prospects all the time. SampleHQ is the platform I built to manage that entire process &amp;#8211; and attribution is its most important feature. Flooring, packaging, labels, textiles &amp;#8211; it doesn’t matter the industry. The process is always the same: prospect asks for samples, you ship them, and then&amp;#8230;</description><pubDate>Wed, 18 Feb 2026 21:12:03 GMT</pubDate><category>SampleHQ</category></item><item><title>Salesforce CLI in the Real World: A Deep Engineering Breakdown of Edition Constraints, Metadata Failures, and API Truth</title><link>https://bojanjosifoski.com/salesforce-cli-in-the-real-world-a-deep-engineering-breakdown-of-edition-constraints-metadata-failures-and-api-truth/</link><guid isPermaLink="true">https://bojanjosifoski.com/salesforce-cli-in-the-real-world-a-deep-engineering-breakdown-of-edition-constraints-metadata-failures-and-api-truth/</guid><description>Salesforce CLI is often described as a developer convenience. In reality, it is the only reliable way to understand how Salesforce behaves under real SaaS integration conditions &amp;#8211; especially when metadata, profiles, licenses, and object availability differ across orgs. This article goes beyond the usual “run a few commands” tutorials. It examines the actual failure</description><pubDate>Wed, 26 Nov 2025 22:18:31 GMT</pubDate><category>SampleHQ</category></item><item><title>Using Cloudflare Tunnel for Local WordPress Development and Webhook Testing</title><link>https://bojanjosifoski.com/using-cloudflare-tunnel-for-local-wordpress-development-and-webhook-testing/</link><guid isPermaLink="true">https://bojanjosifoski.com/using-cloudflare-tunnel-for-local-wordpress-development-and-webhook-testing/</guid><description>When you build WordPress integrations that talk to external services &amp;#8211; Stripe, HubSpot, Salesforce, Zapier, Make, whatever &amp;#8211; sooner or later you hit the same wall: “I need a public HTTPS URL for my local dev site so I can test webhooks.” You don’t want to deploy to staging for every tiny change. You just</description><pubDate>Tue, 25 Nov 2025 15:50:04 GMT</pubDate><category>SampleHQ</category></item><item><title>Technical Deep Dive: How SampleHQ Creates Salesforce Objects Programmatically Using the Metadata API</title><link>https://bojanjosifoski.com/technical-deep-dive-how-samplehq-creates-salesforce-objects-programmatically-using-the-metadata-api/</link><guid isPermaLink="true">https://bojanjosifoski.com/technical-deep-dive-how-samplehq-creates-salesforce-objects-programmatically-using-the-metadata-api/</guid><description>When you integrate a SaaS product with Salesforce, most developers stop at syncing data through the REST API. But if you want a real product experience, the schema itself must be created automatically. In SampleHQ, we went one step further. When a customer connects their Salesforce account, we generate the entire Salesforce object model programmatically,</description><pubDate>Fri, 21 Nov 2025 11:03:48 GMT</pubDate><category>SampleHQ</category></item><item><title>Technical Deep Dive: How We Enforce SaaS Limits in a WordPress Multisite Platform (Without Slowing Anything Down)</title><link>https://bojanjosifoski.com/technical-deep-dive-how-we-enforce-saas-limits-in-a-wordpress-multisite-platform-without-slowing-anything-down/</link><guid isPermaLink="true">https://bojanjosifoski.com/technical-deep-dive-how-we-enforce-saas-limits-in-a-wordpress-multisite-platform-without-slowing-anything-down/</guid><description>If you’re building a real SaaS on top of WordPress Multisite, you eventually hit the same wall everyone hits: How do you enforce plan limits reliably without breaking performance, risking data drift, or making the UX feel like a hack? Most people duct-tape together a handful of actions, throw a few if checks into functions.php,</description><pubDate>Fri, 21 Nov 2025 00:37:29 GMT</pubDate><category>SampleHQ</category></item><item><title>“The Theme &amp;#038; Plugin Seatbelt” &amp;#8211; Locking Clients Out of Breaking Things</title><link>https://bojanjosifoski.com/the-theme-plugin-seatbelt-locking-clients-out-of-breaking-things/</link><guid isPermaLink="true">https://bojanjosifoski.com/the-theme-plugin-seatbelt-locking-clients-out-of-breaking-things/</guid><description>If you hand off WordPress sites to clients, you know the move: “I just disabled a plugin to test something… now the site is blank.” “I switched themes and lost the whole layout.” WordPress is very democratic: if a user has activate_plugins or switch_themes, they can nuke your setup in two clicks. Two tiny filters</description><pubDate>Fri, 21 Nov 2025 00:25:56 GMT</pubDate><category>SampleHQ</category></item><item><title>I Didn’t Have Time to Learn Premiere… So I Asked AI to Make My SaaS Promo For Me</title><link>https://bojanjosifoski.com/i-didnt-have-time-to-learn-premiere-so-i-asked-ai-to-make-my-saas-promo-for-me/</link><guid isPermaLink="true">https://bojanjosifoski.com/i-didnt-have-time-to-learn-premiere-so-i-asked-ai-to-make-my-saas-promo-for-me/</guid><description>I’ll be honest: I needed a clean, modern promo video for SampleHQ &amp;#8211; and I had zero desire to open Premiere Pro at 2 AM. So I tried something else. I asked Gemini 3 to build the entire animation for me… in HTML, CSS, and JavaScript. Not a design system. Not a storyboard. A fully</description><pubDate>Thu, 20 Nov 2025 13:59:31 GMT</pubDate><category>SampleHQ</category></item><item><title>Building 24 Pages That Don’t Exist in the Database</title><link>https://bojanjosifoski.com/building-24-pages-that-dont-exist-in-the-database/</link><guid isPermaLink="true">https://bojanjosifoski.com/building-24-pages-that-dont-exist-in-the-database/</guid><description>Yes, you read that correctly. Everyone “knows” WordPress stores pages in wp_posts. Everyone also accepts the slow queries, the meta bloat, the accidental deletions, the import/export nightmares. I don’t. For a SaaS dashboard with 24 different admin screens, relying on database pages is basically architectural self-harm. So I stopped doing it. The Trick WordPress Never</description><pubDate>Wed, 19 Nov 2025 00:52:27 GMT</pubDate><category>SampleHQ</category></item><item><title>Planning a Future Routing Architecture That Stays Online Even When Cloudflare Doesn’t</title><link>https://bojanjosifoski.com/planning-a-future-routing-architecture-that-stays-online-even-when-cloudflare-doesnt/</link><guid isPermaLink="true">https://bojanjosifoski.com/planning-a-future-routing-architecture-that-stays-online-even-when-cloudflare-doesnt/</guid><description>The recent Cloudflare outage highlighted a structural weakness that affects many platforms: When DNS and traffic proxying are handled by the same provider, the entire system inherits that provider’s outages. Cloudflare remains one of the most reliable networks globally, and this is not a criticism of their infrastructure. Instead, it’s a reminder that resilience isn’t</description><pubDate>Tue, 18 Nov 2025 17:02:56 GMT</pubDate><category>SampleHQ</category></item><item><title>You know that ugly WordPress error screen? Yeah… you can replace it.</title><link>https://bojanjosifoski.com/you-know-that-ugly-wordpress-error-screen-yeah-you-can-replace-it/</link><guid isPermaLink="true">https://bojanjosifoski.com/you-know-that-ugly-wordpress-error-screen-yeah-you-can-replace-it/</guid><description>If you’ve ever built anything serious on WordPress &amp;#8211; a SaaS, a dashboard, a customer portal &amp;#8211; you’ve definitely seen that screen: White background. Basic serif text. “Error: Something went wrong.” Looks like Windows XP had a panic attack. It’s the fastest way to make a modern product feel 15 years old. Most people assume</description><pubDate>Tue, 18 Nov 2025 16:29:57 GMT</pubDate><category>SampleHQ</category></item><item><title>The Real Story: How SampleHQ Automates Salesforce Metadata from WordPress</title><link>https://bojanjosifoski.com/the-real-story-how-samplehq-automates-salesforce-metadata-from-wordpress/</link><guid isPermaLink="true">https://bojanjosifoski.com/the-real-story-how-samplehq-automates-salesforce-metadata-from-wordpress/</guid><description>Most Salesforce integrations brag about “syncing contacts” or “pushing deals.” Cute. Basic. The easy part. The hard part-the part nobody publicly writes about-is this: Deploying Visualforce pages Injecting Quick Actions Editing Page Layout XML Handling Enterprise vs Professional vs Platform limitations Doing all of the above without touching the Salesforce UI And doing it from</description><pubDate>Tue, 18 Nov 2025 11:29:05 GMT</pubDate><category>SampleHQ</category></item><item><title>Mastering Salesforce CLI: The Integration Superpower Behind SampleHQ</title><link>https://bojanjosifoski.com/mastering-salesforce-cli-the-integration-superpower-behind-samplehq/</link><guid isPermaLink="true">https://bojanjosifoski.com/mastering-salesforce-cli-the-integration-superpower-behind-samplehq/</guid><description>When you’re building a modern SaaS platform that integrates deeply with Salesforce, there’s one tool that quietly becomes the backbone of your entire development workflow: Salesforce CLI. Most people think of Salesforce as a complex UI, pages of setup screens, and endless permission checkboxes. But the CLI changes everything. It gives you raw access to</description><pubDate>Mon, 17 Nov 2025 13:53:13 GMT</pubDate><category>SampleHQ</category></item><item><title>Building a Better HubSpot Integration with MCP, Test Accounts, and App Cards</title><link>https://bojanjosifoski.com/building-a-better-hubspot-integration-with-mcp-test-accounts-and-app-cards/</link><guid isPermaLink="true">https://bojanjosifoski.com/building-a-better-hubspot-integration-with-mcp-test-accounts-and-app-cards/</guid><description>When people think “HubSpot integration,” they usually picture a few API calls, some brittle webhooks, and a staging portal that never quite behaves like production. That used to be me, too. But with HubSpot’s new developer stack &amp;#8211; local MCP server, configurable test accounts, and React-based app cards &amp;#8211; you can build and test integrations</description><pubDate>Sat, 15 Nov 2025 13:43:57 GMT</pubDate><category>SampleHQ</category></item><item><title>How I Built a Payment-to-Site Creation Pipeline That Creates WordPress Sites in Seconds (Without Stripe or PayPal)</title><link>https://bojanjosifoski.com/how-i-built-a-payment-to-site-creation-pipeline-that-creates-wordpress-sites-in-seconds-without-stripe-or-paypal/</link><guid isPermaLink="true">https://bojanjosifoski.com/how-i-built-a-payment-to-site-creation-pipeline-that-creates-wordpress-sites-in-seconds-without-stripe-or-paypal/</guid><description>The system behind SampleHQ &amp;#8211; and how founders in “unsupported” countries can build the same thing. Most articles about SaaS billing assume you live in the U.S., U.K., or West EU and can just “plug in Stripe.” But what if you live in a region where Stripe and PayPal don’t exist? North Macedonia? Serbia? Albania?</description><pubDate>Sat, 15 Nov 2025 13:24:26 GMT</pubDate><category>SampleHQ</category></item><item><title>When Analytics Start Writing Comedy Scripts</title><link>https://bojanjosifoski.com/when-analytics-start-writing-comedy-scripts/</link><guid isPermaLink="true">https://bojanjosifoski.com/when-analytics-start-writing-comedy-scripts/</guid><description>Every now and then, analytics tools surprise me &amp;#8211; not with numbers, but with personality. I was reviewing some Microsoft Clarity session data and discovered that their new AI-generated visit summaries read like stand-up comedy for developers. Forget dry heatmaps and bounce rates &amp;#8211; this thing roasts visitors. Here’s one of my favorites: • “This</description><pubDate>Sun, 09 Nov 2025 21:16:29 GMT</pubDate><category>Uncategorized</category></item><item><title>The WordPress Notification System That Shouldn’t Work (But Does)</title><link>https://bojanjosifoski.com/the-wordpress-notification-system-that-shouldnt-work-but-does/</link><guid isPermaLink="true">https://bojanjosifoski.com/the-wordpress-notification-system-that-shouldnt-work-but-does/</guid><description>Most people think WordPress’s post system is only for blog posts or pages. But I used it to build a real-time in-app notification system &amp;#8211; and it works better than you’d expect. Here’s how. The Core Idea: Use Posts as Notifications Instead of creating a new database table, I registered a hidden custom post type</description><pubDate>Sun, 09 Nov 2025 11:56:44 GMT</pubDate><category>SampleHQ</category></item><item><title>The Gmail Email Normalization Hack That Fixed My OAuth System</title><link>https://bojanjosifoski.com/the-gmail-email-normalization-hack-that-fixed-my-oauth-system/</link><guid isPermaLink="true">https://bojanjosifoski.com/the-gmail-email-normalization-hack-that-fixed-my-oauth-system/</guid><description>It started as a random login mismatch that made no sense. Same user. Same Google account. Different results. Two sign-ins with the same Gmail somehow created two different accounts in WordPress Multisite. OAuth wasn’t broken &amp;#8211; my email matching logic was. The Hidden Gmail Quirk Gmail quietly ignores dots and plus signs in the local</description><pubDate>Sun, 09 Nov 2025 11:46:02 GMT</pubDate><category>SampleHQ</category></item><item><title>The Git Kinsta Pipeline: How I Built a Safe, Selective Deployment System</title><link>https://bojanjosifoski.com/the-git-kinsta-pipeline-how-i-built-a-safe-selective-deployment-system/</link><guid isPermaLink="true">https://bojanjosifoski.com/the-git-kinsta-pipeline-how-i-built-a-safe-selective-deployment-system/</guid><description>The Problem: Deploying WordPress Multisite Without Breaking Production Multisite deployments are easy to mess up. One bad sync and you overwrite uploads, nuke a plugin, or serve stale cache to thousands of users. I wanted a pipeline that only deploys what I own, always takes a backup, supports dry runs, clears cache, and never runs</description><pubDate>Sun, 09 Nov 2025 11:19:19 GMT</pubDate><category>SampleHQ</category></item><item><title>Email Template Management at Scale: How I Built a Network-Wide System</title><link>https://bojanjosifoski.com/email-template-management-at-scale-how-i-built-a-network-wide-system/</link><guid isPermaLink="true">https://bojanjosifoski.com/email-template-management-at-scale-how-i-built-a-network-wide-system/</guid><description>The Problem: 50+ Hardcoded Emails Across 100+ Sites Hardcoding email templates across a WordPress Multisite is a trap. You tweak a subject line and now you are copy pasting into 100 places. No preview. No version control. Inconsistent branding. Hours burned for a single update. I wanted one source of truth. Change it once. Roll</description><pubDate>Sun, 09 Nov 2025 11:10:27 GMT</pubDate><category>SampleHQ</category></item><item><title>Building a Bulk Import System That Handles 10,000+ Rows Without Crashing</title><link>https://bojanjosifoski.com/building-a-bulk-import-system-that-handles-10000-rows-without-crashing/</link><guid isPermaLink="true">https://bojanjosifoski.com/building-a-bulk-import-system-that-handles-10000-rows-without-crashing/</guid><description>The Night I Realized PHP Can’t Save You It was 2:00 AM. I was testing a bulk import feature that should’ve just worked. Then I hit “Import” on a CSV with 5,000 rows. Blank screen. Fatal error: Allowed memory size exhausted. I had just crashed my own app. And all I wanted to do was</description><pubDate>Sun, 09 Nov 2025 11:05:17 GMT</pubDate><category>SampleHQ</category></item><item><title>Passwordless &amp;#038; SSO in a WordPress Multisite SaaS (How I Built It for SampleHQ)</title><link>https://bojanjosifoski.com/passwordless-sso-in-a-wordpress-multisite-saas-how-i-built-it-for-samplehq/</link><guid isPermaLink="true">https://bojanjosifoski.com/passwordless-sso-in-a-wordpress-multisite-saas-how-i-built-it-for-samplehq/</guid><description>I wanted authentication in SampleHQ to be boring—in a good way. No password resets, no “I can’t log in” tickets, and no copy-pasted secrets spread across tenants. The result is a two-lane system: Passwordless Magic Links (default, zero-friction) SSO via OpenID Connect (OIDC) with PKCE (optional per tenant) Under the hood it’s WordPress Multisite, but</description><pubDate>Fri, 31 Oct 2025 23:45:48 GMT</pubDate><category>Uncategorized</category></item><item><title>Integrating CRMs into SampleHQ: Making WordPress Multisite Talk to HubSpot and Salesforce</title><link>https://bojanjosifoski.com/integrating-crms-into-samplehq-making-wordpress-multisite-talk-to-hubspot-and-salesforce/</link><guid isPermaLink="true">https://bojanjosifoski.com/integrating-crms-into-samplehq-making-wordpress-multisite-talk-to-hubspot-and-salesforce/</guid><description>When I started building SampleHQ, I knew the platform had to do more than manage sample requests. For packaging and label companies, samples are part of the sales cycle &amp;#8211; not separate from it. That meant every request needed to sync with their CRM, so managers could finally see which samples lead to real deals.</description><pubDate>Fri, 31 Oct 2025 23:41:00 GMT</pubDate><category>SampleHQ</category></item><item><title>Creating under noise and pressure</title><link>https://bojanjosifoski.com/designing-the-ideal-sample-ordering-experience-2/</link><guid isPermaLink="true">https://bojanjosifoski.com/designing-the-ideal-sample-ordering-experience-2/</guid><description>I built SampleHQ while everything around me was loud. Not in volume &amp;#8211; in distraction. Emails, opinions, deadlines, noise from people who didn’t understand what I was trying to build.It wasn’t an ideal time to start anything. But sometimes the worst timing gives you the clearest direction. The app didn’t come from inspiration. It came</description><pubDate>Fri, 31 Oct 2025 23:24:20 GMT</pubDate><category>SampleHQ</category></item><item><title>Designing the Ideal Sample Ordering Experience</title><link>https://bojanjosifoski.com/designing-the-ideal-sample-ordering-experience/</link><guid isPermaLink="true">https://bojanjosifoski.com/designing-the-ideal-sample-ordering-experience/</guid><description>Designing the Ideal Sample Ordering Experience In every packaging or label company, sample requests are part of daily life. They help sales teams win deals and give clients a tangible feel for quality.But in most companies, the process behind those samples is messy &amp;#8211; scattered emails, missing details, and no clear way to track what’s</description><pubDate>Fri, 31 Oct 2025 23:16:20 GMT</pubDate><category>Uncategorized</category></item><item><title>How I Turned WordPress into a Multi-Tenant SaaS Platform</title><link>https://bojanjosifoski.com/how-i-turned-wordpress-into-a-multi-tenant-saas-platform/</link><guid isPermaLink="true">https://bojanjosifoski.com/how-i-turned-wordpress-into-a-multi-tenant-saas-platform/</guid><description>How I Turned WordPress into a Multi-Tenant SaaS Platform When people think of WordPress, they picture blogs, marketing sites, or online stores &amp;#8211; not full SaaS platforms.But for SampleHQ, I wanted to prove that WordPress could do far more. With the right architecture, it can power a scalable, secure, multi-tenant SaaS product that feels every</description><pubDate>Fri, 31 Oct 2025 22:59:31 GMT</pubDate><category>SampleHQ</category></item><item><title>Building SampleHQ: A SaaS Platform for the Real World</title><link>https://bojanjosifoski.com/building-samplehq-a-saas-platform-for-the-real-world/</link><guid isPermaLink="true">https://bojanjosifoski.com/building-samplehq-a-saas-platform-for-the-real-world/</guid><description>For years, I’ve worked closely with packaging and label manufacturers, and one problem has always stood out &amp;#8211; how disorganized sample requests can be. Sales reps rely on scattered emails and spreadsheets, fulfillment teams lose track of what’s approved or shipped, and managers struggle to see the full picture.It’s not a glamorous problem, but it’s</description><pubDate>Fri, 31 Oct 2025 22:48:47 GMT</pubDate><category>SampleHQ</category></item></channel></rss>