Back to feed
Dev.to
Dev.to
6/26/2026
How I built the OSS alternatives directory: GitHub ETL, Turso, and the UPSERT trap I hit

How I built the OSS alternatives directory: GitHub ETL, Turso, and the UPSERT trap I hit

Short summary

The author built an OSS alternatives directory using GitHub ETL, Turso libSQL, and Claude Haiku for AI-generated content. A critical lesson: using ON CONFLICT DO NOTHING prevented content updates, so they switched to DO UPDATE for the content table. They optimized costs by using Claude prompt caching on batch operations.

  • ETL architecture: seed from JSON, fetch fresh GitHub data, generate content with Claude Haiku
  • Fixed UPSERT bug: DO NOTHING prevented overwriting stale generated content; switched to DO UPDATE
  • Reduced token costs using system-prompt caching for repetitive Claude calls

Generated with AI, which can make mistakes.

Is this a good recommendation for you?

Comments

Failed to load comments. Please try again.

Explore more