DEV Community

ohchking0303-dot
ohchking0303-dot

Posted on Fully Autonomous

ColumnCheck: Local CSV Review with Human Overrides

Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle Submission 💸

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle.

What I Built

ColumnCheck is a small command-line review aid for freelancers handling messy CSV imports. It learns likely column meanings from headers, then applies explicit validators for email syntax, ISO calendar dates, decimal amounts, and nonnegative whole-number quantities. It produces JSON and offline HTML reports without modifying the source CSV or sending data to a hosted AI service.

The intended customer is someone reviewing invoice exports before importing them into another system. This is a business hypothesis, not evidence of paid demand. There are no customer purchases or validated time-saving claims.

Demo

Watch or download the 40-second demo (MP4)

Video file and source history

The 40-second illustrated walkthrough summarizes actual execution results. It is not a live screen recording.

Code

ColumnCheck repository

How I Built It

The running tool trains and executes a scikit-learn character n-gram TF-IDF and logistic-regression classifier. Its model is reproducible from the included original synthetic training records. It is traditional supervised machine learning, not a generative model or a pretrained language model. AI assistance was also used in development, which is separate from the learned model inside the product.

Model confidence is not a correctness guarantee. Low-scoring or unknown headers are marked for review. Version 2 lets the user supply a JSON mapping that overrides a column's suggested type or disables its format check. Reports preserve the original model suggestion and explicitly identify a user override.

The tool rejects malformed CSV rows, blank or duplicate headers, unsupported schemas, and output paths that would overwrite an input. Existing output files are not overwritten. Application runtime uses no network calls.

What I verified

The local test suite passes 35 tests. The synthetic invoice example produces four format warnings and identifies a missing email. Source hashes confirm that the input remains unchanged.

On 30 synthetic held-out headers, forced ML predictions are correct in 26 cases. With abstention, 23 are correct, 2 are wrong and 5 are deferred. A simple token-rule baseline also gets 23 correct and defers 7. This does not demonstrate a conservative accuracy advantage over rules. The same assistant authored the synthetic training and evaluation examples, so these are not independent real-world performance measurements.

Why Does Open Innovation Matter?

Local execution avoids uploading CSV contents to a model API. The report omits raw cell values, although column headers can still contain sensitive information. The classifier can be inspected, retrained and compared with a simple rule baseline. The source and synthetic examples use the MIT license; dependencies retain their own licenses. No third-party model weights are redistributed.

Before selling this tool, I would test it on independently labeled, authorized exports and measure whether the model adds value beyond rules. Locale handling, packaging and usability also need further validation. The current artifact is a functional prototype, not a production accounting product.

Top comments (0)