Discussion about this post

User's avatar
KimSia Sim's avatar

Hey Beekey,

Really interesting breakdown of your integration challenges. The fourth option does seem promising, but I think there are three key questions that could help crystallize the decision:

1. What's your gut feel on returning to a SaaS model? And if you did, would it look radically different from Eight One Books today? This could be a game-changer for the decision - if a SaaS pivot isn't likely or would need a complete redesign anyway, you could drop all that multi-firm and subscription complexity. That would make the "copy into one codebase" route (option 2) much more appealing.

2. What's your engineering bandwidth looking like, both for the integration and long-term maintenance? Two codebases (options 3 and 4) mean double the deployment coordination and maintenance overhead. If you're running lean on engineering resources, option 2 might be your friend despite its other trade-offs.

3. How intertwined are your Eight One Books frontend components with the backend? This could make or break option 4 - if they're tightly coupled, the refactoring effort might be substantial. Knowing this could quickly rule option 4 in or out.

Would love to hear your thoughts on these! They might help narrow down which path makes the most sense for your situation.

-- EDIT--

I can see why you're gravitating toward option 4 - it's a defensive choice that keeps both backend systems running while only integrating at the frontend component level.

Easy rollbacks, piece-by-piece integration, and existing systems stay intact.

Here's a thought - what about an even more conservative Option 5?

Instead of integrating codebases, what if you built a thin "view layer" application that just aggregates data from both systems? Think of it as a lightweight dashboard that:

- Makes API calls to both existing systems

- Shows combined analytics in one place

- Keeps both original systems completely untouched

- Requires minimal new code

- Could start as a simple static site

It's the "don't fix what isn't broken" approach taken to the extreme. You'd only be adding a thin presentation layer on top, with zero risk to your existing systems. Even simpler than dealing with git submodules and unused code.

Would be curious to hear your thoughts on this ultra-conservative approach!

Expand full comment
3 more comments...

No posts