/csvhacker

🛠 A tool to quickly view, filter, map, and reduce CSV/TSV files in the browser. Shareable links for easy collaboration with non-engineers.

Primary LanguageJavaScript

csvhacker

Goals

  • static web site
  • drag and drop importing of CSV files
  • fast and efficient viewing of large (~80MB) CSV files
  • cyberchef style UI for filters, all client side
  • xlsx import
  • csvfix utils
  • csv to long format
  • csv diff util
  • save files to drive using JS API

Roadmap

  1. Base project with Tailwind, Next.js
  2. Auto-deploy to csvhacker.statico.io
  3. Load CSV data from URL
  4. Load CSV data from file quickly and responsively
  5. Filter basics: toolbox & drag and drop
  6. Serialize filters to URL
  7. Virtualized and fast table rendering
  8. Drag & drop
  9. Configurable filters - head, tail
  10. Save to CSV
  11. Save to XLSX
  12. Input options
  13. Output options
  14. Test with various data sources
  15. Debounce setUrlState
  16. Filters: find, exclude
  17. Filters: pick (columns)
  18. Filters: edit
  19. Filters: rmnew, trim, upper, lower
  20. Filters: split
  21. Preserve header option
  22. Filters: reduce (and add state variable to custom)
  23. Filters: sort
  24. Filters: date format
  25. Sticky header row
  26. Debounce input processing
  27. URLs don't paste well in Slack
  28. File or URL modal
  29. Tooltips
  30. UI/UX pass
  31. XLSX import
  32. Better grid implementation
  33. Resizable sidebar (and keep state)
  34. Keep column size state in sidebar
  35. Hijack Cmd-F to insert a find filter instead of searching the doc
  36. Make raw data viewing smarter? (monspace mode? show spaces?)
  37. Final pass on README & docs
  38. Upgrade React & everything to get rid of experimental
  39. Google Sheets import/export

To Fix Later

  • Next.js experimental mode
  • Experimental react and react-dom deps
  • Recoil.js UNSTABLE usage
  • Recoil.js effects requires setTimeout() in initializer