I wish they would keep 4.1 around for a bit longer. One of the downsides of the current reasoning based training regimens is a significant decrease in creativity. And chat trained AIs were already quite "meh" at creative writing to begin with. 4.1 was the last of its breed.
So we'll have to wait until "creativity" is solved.
Side note: I've been wondering lately about a way to bring creativity back to these thinking models. For creative writing tasks you could add the original, pretrained model as a tool call. So the thinking model could ask for its completions and/or query it and get back N variations. The pretrained model's completions will be much more creative and wild, though often incoherent (think back to the GPT-3 days). The thinking model can then review these and use them to synthesize a coherent, useful result. Essentially giving us the best of both worlds. All the benefits of a thinking model, while still giving it access to "contained" creativity.
At my previous startup, CSV import was make-or-break for customer onboarding. We built the first version in three days.
Then reality hit: Windows-1252 encoding, European date formats, embedded newlines, phone numbers in five different formats.
We rebuilt that importer multiples over the next six months. Our onboarding completion rate dropped 40% at the import step because users couldn't fix errors without starting over.
The real problem isn't parsing (PapaParse is excellent). It's everything after: mapping "Customer Email" to your "email" field, validating business rules, and letting users fix errors inline.
Flatfile and OneSchema solve this but won't show pricing publicly. Most open source tools only handle pieces of the workflow.
ImportCSV handles the complete flow: Upload → Parse → Map → Validate → Transform → Preview → Submit. Everything runs client-side by default. Your data never leaves the browser. This is critical for sensitive customer data - you can audit the code, self-host, and guarantee that PII stays on your infrastructure. The frontend is MIT licensed.
Technical approach
We use fuzzy matching + sample data analysis for column mapping. If a column contains @ symbols, it's probably email.
For validation errors, users can fix them inline in a spreadsheet interface - no need to edit the CSV and start over. Virtual scrolling (@tanstack/react-virtual) handles 100,000+ rows smoothly.
The interesting part: when AI is enabled, GPT-4.1 maps columns accurately and enables natural language transforms like "fix all phone numbers" or "split full names into first and last". LLMs are good at understanding messy, semi-structured data.
GitHub: https://github.com/importcsv/importcsv
Playground: https://docs.importcsv.com/playground
Demo (90 sec): https://youtube.com/shorts/Of4D85txm30
What's the worst CSV you've had to import?