{"id":319544,"date":"2020-08-20T06:48:37","date_gmt":"2020-08-20T13:48:37","guid":{"rendered":"https:\/\/css-tricks.com\/?p=319544"},"modified":"2020-08-20T06:48:38","modified_gmt":"2020-08-20T13:48:38","slug":"never-build-a-csv-importer-again","status":"publish","type":"post","link":"https:\/\/css-tricks.com\/never-build-a-csv-importer-again\/","title":{"rendered":"Never Build a CSV Importer Again"},"content":{"rendered":"\n

CSV import as a process is broken. Messy customer data, edge cases, encoding formats, error messages, non-technical users: importing data into applications is a huge pain! Ingesting data has been long neglected as a software product experience, leading to customer frustration and wasted engineering cycles rebuilding what those users already expect to have. It\u2019s a major distraction for product teams focused on building core differentiating features.<\/p>\n\n\n\n

We\u2019re going to look at the problems with turning messy spreadsheets into structured product data, how it\u2019s typically addressed, and how Flatfile Portal solves the technical and user experience challenges inherent in CSV import.<\/p>\n\n\n\n\n\n\n\n

If you\u2019re a software developer and have built a CSV parser before, you know how frustrating it is to dedicate valuable engineering sprints to just one component of the customer onboarding. Building an entire CSV importer means addressing user experience and technical edge cases that result from involving humans in a highly technical ETL process. Trying to bake in more advanced functionality such as data normalization, column-matching, or even refining the interface itself results in developers building an entirely new product before the first one is even finished!<\/p>\n\n\n\n

Investing engineering sprints to maintain an outdated data importer, or worse, building a CSV importer from scratch is now a pain of the past. Today, we\u2019d like to show Flatfile Portal, which allows developer and product teams the ability to revamp their entire data import flows not in weeks or months, but in minutes. Did we mention you\u2019d save thousands of dollars in development costs?<\/p>\n\n\n\n

\n
Get Started \u2192<\/a><\/div>\n<\/div>\n\n\n

Common Problems with CSV Import Experiences<\/h3>\n\n\n

Importing CSV data is often one of the first interactions users have with a software application, especially \u201cempty box\u201d products. Unfortunately, there are too many ways that this data import experience can cause customer frustration, or worse, churn.<\/p>\n\n\n\n

For users, an inefficient importer experience will cause them to question the value of the product itself.<\/p>\n\n\n\n

\u201cIf the app can\u2019t import my data easily now, what’s going to happen once my data is finally uploaded?\u201d<\/em>
<\/p>\n\n\n\n

\"\"<\/figure>\n\n\n\n

Your customers shouldn\u2019t have to battle with these kinds of CSV import errors (Source: Flatfile<\/a>)Digsy.ai <\/a>shared their experience with handling data imports for their real-estate CRM product prior to integrating Flatfile Portal. Not only was the team strained on resources from building and maintaining a proprietary data importer, but Digsy\u2019s engineers also spent ten or more hours per new user<\/strong> cleaning up and formatting incoming customer data. Occasionally, these users would churn, rendering all that work fruitless.<\/p>\n\n\n\n

Thankfully, there’s an out-the-box CSV importer that can do all this on its own, and with just a few lines of code.<\/strong><\/p>\n\n\n

Introducing: The elegant import button for web apps<\/h3>\n\n\n

We call it Flatfile Portal<\/a>, and it was born out of frustration from continuously re-building CSV importers, parsers, and uploaders. Flatfile provides data normalization, CSV auto-column matching, and a modernized UI component with a few lines of JavaScript. Customers implement Flatfile in as little as a day: a massive improvement over 3-4 engineering sprints with continuous maintenance tacked on.<\/p>\n\n\n\n

\"\"<\/figure>\n\n\n\n

An animation of an import completed with Flatfile Portal. (Source: Flatfile<\/a>)<\/p>\n\n\n\n

Let\u2019s look at issues associated with traditional CSV import experiences and how Flatfile Portal addresses them.<\/p>\n\n\n

Issue 1: Unclear Guidance<\/h3>\n\n\n

Users tend to struggle with CSV imports, and usually have questions before the CSV is even uploaded. Here are questions users may ask during an import:<\/p>\n\n\n\n