How I Built an FTIR Analysis Platform with Claude (and What I Learned About AI-Assisted Development)
DEV.to Article: How I Built an FTIR Analysis Platform with Claude Title: How I Built an FTIR Analysis Platform with Claude (and What I Learned About AI-Assisted Development) Tags: python, chemistry, opensource, ai Published: true (can publish immediately on DEV) The Backstory I'm a materials science graduate, not a software developer. I know FTIR spectroscopy — identifying polymers, interpreting functional group peaks, matching unknown samples against reference libraries. But when I needed to search FTIR spectra programmatically, I hit a wall: the existing tools were either expensive enterprise packages or Excel macros from the early 2000s. So I decided to build my own. And I used Claude (Anthropic's AI assistant) as my coding partner. This is the story of how a domain expert with basic Python skills built a production FTIR search platform — 135,000 spectra, MCP server, API, community features — with AI writing about 70% of the code. Step 1: The Core Algorithm FTIR spectrum matching sounds complex, but the core is simple geometry: given a set of peak positions from an unknown sample, find the library spectra with the most matching peaks within a tolerance window (typically ±5 to ±15 cm⁻¹). What Claude helped with: Writing the initial peak-matching loop Setting up the Django project structure Designing the database schema for the spectral library What I handled: Understanding which tolerance values actually work (different wavenumber regions need different tolerances) Validating match results against known materials Rejecting the first three algorithm designs that looked correct on paper but failed on real data Lesson: AI can write the code faster than you can, but it can't tell you if the chemistry is right. Domain expertise is the bottleneck, not code. Step 2: Parsing FTIR Instrument Files This was the hardest technical challenge. FTIR instruments output data in at least 6 different formats: Format Origin Difficulty SPA Thermo Nicolet Medium — binary, proprietary S