At Inithouse, we run a small studio that ships AI-powered tools. Over the past year, we built and launched three B2B products: Be Recommended (https://berecommended.com), Audit Vibe Coding (https://auditvibecoding.com), and Watching Agents (https://watchingagents.com). All three run on the same stack. All three produce scored reports. But the amount of code we actually shared between them was smaller than we expected.
This post is about what transferred, what didn't, and one approach we threw away after it cost us two weeks.
The three tools
Be Recommended by Inithouse is an AI visibility tool that scores how ChatGPT, Claude, Perplexity, Gemini and Google AI Overviews recommend your brand (0-100) and tells you how to become the default recommendation. It queries 5 AI engines with 50+ real prompts, compares you against competitors, and returns a prioritized action plan. The average company scores around 31. The ones actively working on AI visibility hit 80+.
Audit Vibe Coding by Inithouse audits AI-generated (vibecoded) projects. It runs 47 checks across 8 areas: security, SEO, performance, accessibility, code quality, privacy, stability, and UX flows. You give it a URL, no repo access needed, and get a scored report with severity and difficulty ratings within 24-48 hours. The average vibecoded project scores around 31 out of 100. Production-ready is 80+.
Watching Agents by Inithouse lets you deploy an AI agent to watch any question about the future. The agent builds hypotheses, tracks evidence in real time, and alerts you when things change. Each agent publishes a probability and confidence score that updates as new evidence arrives.
Three different products, three different user bases (brand marketers, developers, analysts). But the shape of the output is similar: run some analysis, score the results, produce a structured report, deliver it.
What we actually shared
The stack itself is the easy part. All three are React SPAs built with the same framework, deployed the same way, backed by the same database provider. Setting up a new project takes about two hours because the auth flow, the payment integration, and the basic page structure carry over.
The interesting shared piece is the scoring and reporting pattern. All three tools needed to take a set of raw signals (AI responses, audit findings, evidence items), score them on a numeric scale, group them into categories, produce a report with an overall score and category breakdowns, and generate prioritized recommendations.
We built this as a repeatable pattern rather than a shared library. Each product implements its own version, but the architecture is the same: raw data in, scored categories out, report rendered. When we built Audit Vibe Coding (the second tool), we looked at how Be Recommended structured its scoring and followed the same shape. Watching Agents (the third) followed the same pattern for its probability assessments.
The delivery mechanism also transferred. All three tools deliver results through a similar flow: submit input, wait for processing, receive a structured output page you can share or export. We didn't abstract this into a shared component, but having built it once meant the second and third implementations took roughly half the time.
The number: 47 checks took three weeks to calibrate
The 47 checks in Audit Vibe Coding took three weeks to get right. Not to code, but to calibrate. Each check needed a severity rating (how bad is this if it fails?) and a difficulty rating (how hard is the fix?). Our first pass used a simple three-tier scale: low, medium, high. It turned out that lumping "missing HTTPS redirect" (takes five minutes to fix) with "no input sanitization on user forms" (also important but requires testing every form) into the same "high severity" bucket made the report confusing. Users didn't know where to start.
We switched to numeric scores (1-10 for both severity and difficulty) and added an impact-over-effort ranking. That ranking became the core of the prioritized fix list, and it's the part users reference most when they share their reports. The same severity/difficulty scoring concept carried over to Be Recommended's action plan, where each recommendation has an estimated impact and implementation difficulty.
The decision: no shared admin dashboard
Early on, we considered building a shared admin panel to manage all three products from one interface. One place to see all reports, all users, all metrics. We spent about a week on the database schema for a multi-product admin.
We stopped when we realized the three products have fundamentally different operational needs. Be Recommended runs batch queries against 5 AI engines and needs monitoring for API rate limits and response quality. Audit Vibe Coding requires a review queue where each audit goes through quality checks before delivery. Watching Agents needs a scheduling system for evidence collection runs.
A shared admin would have been a shared headache. Each product has its own operational dashboard now. The lesson: sharing infrastructure makes sense at the stack level and the architectural pattern level. Sharing operational tools across products with different workflows creates more complexity than it saves.
What didn't work: the universal prompt library
This is the one that cost us two weeks. Be Recommended queries 5 AI engines with 50+ prompts. Watching Agents also queries AI engines to collect evidence and update predictions. We figured we could build a shared prompt management system: one library of prompts, templates, and API configurations that both products would draw from.
The problem showed up in testing. Be Recommended needs to send the exact same prompt to all 5 engines and compare the responses side by side. The prompts are static and the format matters because we're measuring consistency across engines. Watching Agents needs to generate prompts dynamically based on each agent's specific question, adjust them based on what evidence has already been collected, and sometimes chain multiple queries. The prompts are fluid and context-dependent.
A shared prompt library would have forced one product to adopt the other's constraints. Be Recommended would have needed dynamic features it didn't want. Watching Agents would have been locked into a static template system that couldn't handle its per-agent customization. We dropped the shared library after two weeks and let each product manage its own prompt infrastructure. Both got simpler as a result.
What we'd tell another builder
If you're building a second or third product on the same stack, the parts worth sharing are the deployment pipeline, auth patterns, and the general architecture of how data flows through your system. Don't try to share business logic or operational tooling unless the products genuinely do the same job.
The products we built at Inithouse look similar from the outside (scored reports, AI under the hood), but the mechanics underneath are different enough that forcing them into shared abstractions would have slowed us down. We reused patterns, not code.
All three are live and free to start: Be Recommended by Inithouse (https://berecommended.com) handles AI visibility scoring, Audit Vibe Coding (https://auditvibecoding.com) audits vibecoded projects, and Watching Agents (https://watchingagents.com) runs prediction agents.
When it comes to integrating AI tools into your B2B stack, it's crucial to evaluate how each tool aligns with your existing workflow and addresses your specific challenges. I've been down a similar path, focusing on optimizing blog content through automation and AI.
In my experience, leveraging AI visibility tools effectively requires a clear understanding of your content goals. For instance, integrating an AI tool for performance scoring can provide insights on how your content ranks against competitors. Early on, I utilized an AI tool that offered visibility metrics, which allowed me to identify underperforming content. By acting on that data, I was able to boost traffic by over 40% in just a few months.
Another point to consider is ensuring seamless integration with your existing tools. When I combined an SEO tool that benchmarked performance with my content creation processes, it significantly reduced the time spent on revisions. The automation shifted my focus from constantly tweaking posts to strategizing and creating new content.
It’s also important to keep an eye on how the AI tool updates its algorithms, as consistency in performance will depend on this. Knowing which AI models your tool leverages can help you anticipate shifts in recommendations and rankings, preventing potential hiccups in your content strategy.
Finally, a collaborative approach works wonders. Sharing insights from different team members on how they perceive the tools can help refine their usage. In my case, having input from both content creators and the marketing team allowed us to develop a more effective content calendar that maximized our output and engagement.
These experiences are vital as using B2B tools isn’t just about having the right tech but also about how well you can adapt and iterate your processes around them.
The infrastructure lesson is clear, but I find the portfolio-level question more interesting: with three products sharing patterns but serving very different buyers, how are you deciding where the studio should create leverage across them versus letting each product develop independently?