About the product
A SaaS platform for B2B sales teams. It helps sales reps write LinkedIn messages that read as if they were written for a specific person, not a template with a name dropped in. It also helps earlier in the funnel: defining the ideal customer and pointing out who is worth contacting at all.
What I did
I was the lead backend developer in a small team. I was responsible for the AI side of the product from the first version to production: solution design, implementation, testing, quality of the generated content and deployments.
- Generating personalised messages and refining them in a conversation with the user.
- A mechanism that lets the tool learn from the messages users approve.
- A target audience analysis module: ideal customer profile, market segments and lead scoring.
- Automated tests and quality evaluation of AI-generated text.
Problems I solved
- Template-like messages. Messages are based on the recipient, their company and the seller’s offer, so each one is different.
- LinkedIn limits. Messages always fit the character limit of their message type, regardless of user settings.
- Response time and cost. I simplified the way messages are generated, so they come out faster and cheaper without losing quality.
- Growing without downtime. When a second client application started using the product, I introduced the changes so that the existing one kept working exactly as before.
- Quality you can measure. Changes to how the AI behaves go through automated tests and quality checks before they reach production.
What I learned
- A simpler AI solution is often the better one: fewer steps mean faster answers, lower cost and fewer places where things can go wrong.
- Hard business requirements, such as length limits, must be enforced in code, not just requested from the model.
- The quality of AI-generated text has to be measured like any other part of the system.
- When several applications depend on a product, backward compatibility is a requirement, not a nice-to-have.