The organic-growth process behind N-Connection's travel site
A second engagement running the same organic-growth process — this time for N-Connection, an IATA-accredited travel agency in Colombo — a from-scratch Next.js site covering corporate travel and luxury cruises, built from a formal spec and now under active SEO monitoring.
Freelance Full-Stack Engineer & Organic Growth Consultant — site build plus ongoing SEO engagement
Site: Dec 2024–present · Organic-growth engagement: ongoing since early 2026
N-Connection is an IATA-accredited travel agency serving two distinct audiences: corporate clients needing business travel management, and leisure travelers booking luxury cruises. The site was built from a formal requirements spec through to launch in December 2024. Separately, and more recently, an organic-growth engagement began to build actual search visibility on top of it.
The challengeCorporate travel buyers and cruise leisure travelers are different searchers entirely — different intent, different vocabulary, different decision process — so one generic site structure was never going to rank well for both. On top of that, outside the original development-only scope, the client later flagged a real problem: a previous vendor relationship handling certain account access had gone unmaintained, and irregular activity had been observed. That needed an outside technical audit, not just new features.
Approach
Built from a formal SRS, not an ad-hoc brief: two clearly separated service verticals — corporate-travel and cruise-masters — each with its own SEO-friendly landing structure, instead of one generic "services" page trying to rank for both audiences at once.
Built a programmatic, data-driven destination-page structure for cruise-masters so each cruise destination gets its own indexable, intent-matched page rather than being buried in one long catalogue.
Inherited the engineering-standards baseline from my own reusable template (ISO/IEC 25010 quality model, WCAG 2.2 AA, OWASP Top 10, Core Web Vitals budgets) rather than starting each client engagement from a blank standards slate.
When the client raised a problem outside the original development-only agreement — a previous vendor relationship managing account access had gone unmaintained, with irregular activity observed — went beyond scope to investigate: audited and rotated access, removed stale team access, and enabled billing alerts so it couldn't recur silently. Not billed work; the kind of thing that turns a one-off build into an ongoing relationship.
Instrumented Search Console before optimizing, same as every organic-growth engagement — measuring real query and ranking data from day one of the growth phase rather than guessing.
What shipped
Two dedicated service verticals — corporate-travel and cruise-masters — each structured for how that specific audience actually searches.
Seventeen programmatic cruise-destination pages, each indexable and intent-matched instead of one long catalogue page.
Standard supporting pages (who-we-are, privacy-policy, terms) with a generated sitemap and robots configuration weighted by page importance.
An account-security audit and cleanup outside the original scope, resolving a vendor-management problem the client raised directly.
Ongoing Search Console monitoring as the current phase of the organic-growth engagement.
Scale of ownership
1.5+ yrs
Site relationshipNext.js 15
Built onto2
Service verticals17
Cruise destination pagesOngoing
Organic-growth engagementTwo service lines meant two different searchers, which is why the site never tried to force corporate travelers and cruise leisure travelers through the same landing page. The account-security follow-up — outside the original development scope — is the real proof of what an ongoing client relationship is worth: the client came back not because of a support contract, but because the work already done had earned enough trust to ask. Running the same organic-growth process on a second, completely different business — construction in one case, travel in this one — is the actual point: it's a repeatable system, not a one-off trick that only worked once.
Have a codebase or product with similar problems?
Tell me what you're working on and where you're stuck. I'll determine whether I can help.
Discuss a Project