Connecting systems is the job; keeping them connected is the work
Any developer can call an API once. The trouble starts a month later, when a token expires on a Sunday, a feed starts sending the same event twice, or a supplier changes a field name without telling anyone. Integrations are where platforms quietly go wrong, so we build them to be watched.
Integrations we run today
- Payments: Stripe Billing and Checkout, including webhooks that are verified before anything is trusted.
- Email and SMS: Postmark for transactional email, TextMagic for texts, with bounce handling and fallbacks.
- Event listings: Data Thistle and Skiddle feeds for Visit Dundee, with duplicates across feeds merged into one event.
- Transport: Xplore Dundee bus timetables (772 stops and 24 routes when imported) and National Rail live departures.
- Places and public data: OpenStreetMap, the Food Standards Agency register, Companies House and Open-Meteo weather.
- Sports data: fixtures, results, squads and standings for PLZ and MyFootballFacts.
- Video: the YouTube channel, playlists and analytics for PLZ's show.
- Routing: a self-hosted road-routing server that plans Doorstep Glass Recycling's rounds.
How we make them reliable
Every scheduled job is recorded. On PLZ, 22 scheduled jobs are logged and checked for freshness, and an alert goes out when data stops arriving. Before that change, most job failures recorded nothing more useful than an exit code.
We do not trust the feed blindly. Feeds have gaps. PLZ's sports data never marks a player as having left a club, so the platform keeps its own list of departures and overrides the feed. Visit Dundee's event feeds overlap, so the platform merges duplicates rather than listing the same gig twice.
Credentials renew themselves where they can, and where they cannot, we know when they expire before they do.
Your platform keeps working when a supplier is slow. Where we can, pages show what they already have and fill in the rest afterwards. Visit Dundee directory pages serve the cached copy while a fresh one is built in the background.
When the best integration is your own
Sometimes the service you are paying for is the part worth replacing. Doorstep Glass Recycling used a third-party route optimiser. We built route planning into the platform on a self-hosted routing server. Measured against the old service's own orderings across 88 historical runs, the new routes came out 5.5% shorter in miles and 4.0% shorter in driving time.