DEV Community

Cover image for AutoTable: My One-Click Spreadsheet Cleaner Built with Google Gemini
Izeno
Izeno

Posted on • Edited on

AutoTable: My One-Click Spreadsheet Cleaner Built with Google Gemini

Built with Google Gemini: Writing Challenge

This is a submission for the Built with Google Gemini: Writing Challenge

What I Built with Google Gemini

I built AutoTable, a high-efficiency spreadsheet sanitization engine designed for knowledge workers who spend too much time "massaging" data. Whether it's survey results, payroll exports, or administrative logs, AutoTable allows users to drop a messy CSV or Excel file and get a validated, standardized version back in seconds.

The Problem

Data cleaning is the most tedious part of any data workflow. Inconsistent headers (e.g., "First_Name" vs "fname"), mixed data types, hidden Unicode artifacts, and duplicate rows often require complex Excel macros or custom scripts. Most office workers don't have time for that—they just want their data to work.

The Solution: An Intelligent Pipeline

AutoTable implements a multi-stage, idempotent transformation pipeline:

  • Header Normalization: Standardizes columns into uniform snake_case.
  • Deterministic Type Detection: Coerces strings into canonical Numbers, Booleans, or Dates.
  • Privacy Core: A "Privacy-First" architecture where files are ephemeral and automatically purged via TTL (Time-To-Live).

Gemini's Role: The Lead Engineer

Google Gemini (via the Antigravity agent) acted as my Lead Engineer. It didn't just write boilerplate; it architected the entire file processing flow. It implemented the core cleaner.ts logic—specifically the tricky fuzzy deduplication and smart column merging heuristics—and ensured the project followed a robust Next.js App Router structure.


Demo

Live Demo: auto-table.com

Landing Page

Landing Page

The Cleaning Dashboard

The Cleaning Dashboard

Pro Features Breakdown

Pro Features Breakdown


What I Learned

Technical Depth

  • Agentic Workflows: I learned how to treat an AI agent like a true pair programmer. Instead of asking for snippets, I gave Gemini high-level architectural goals (e.g., "Implement a secure TTL policy using Supabase RLS") and focused on verifying the logic and edge cases.
  • State-Heavy Next.js: Managing binary file uploads, real-time cleaning previews, and multi-step forms required a deep understanding of React Hook Form and Zod for schema validation.
  • Privacy at Scale: Implementing a "Privacy-First" SaaS taught me about ephemeral storage strategies and how to leverage Postgres RLS to ensure a user never sees another user's processed data.

Soft Skills & Process

  • Reflection over Execution: The project taught me that the bottleneck isn't typing code—it's clear communication of requirements. Gemini is incredibly fast, but it requires precise "specs" to avoid hallucinations in complex logic like CSV delimiter detection.

Google Gemini Feedback

The Good: Unmatched Reasoning

Gemini’s ability to "think" through the entire file structure was a massive surprise. When I asked it to implement a changelog generator that tracks every modified cell, it hit on a diff-mapping algorithm that was both efficient and accurate on its first try. It felt like having a senior developer who never gets tired.

The Bad: UI "Soullessness"

While the structural CSS was solid, Gemini initially produced very "generic" looking layouts. I had to push it significantly to achieve the "Premium/Vibrant" aesthetic I wanted. It excels at logic, but still needs a human eye to guide it toward a "wow" factor in visual design.

The Ugly: Webhook Purgatory

The integration with the PayPal API for Pro-tier subscriptions was where we hit the most friction. Mapping the complex, asynchronous states of webhooks to my local database required several iterations because Gemini would occasionally default to older API patterns that didn't match the latest PayPal SDK. It took a few "candid" debugging sessions to get the subscription lifecycle perfect.

Summary

Building with Gemini is like driving a supercar: it’s incredibly powerful, but you have to keep your hands on the wheel during the tight corners (like third-party integrations). It transformed a 2-week project into a 3-day sprint.


Tags: #gemini #googleai #nextjs #saas #productivity #spreadsheet #mlh

Top comments (4)

Collapse
 
harsh2644 profile image
Harsh

This is such a practical use of Gemini! The problem you've solved is real — anyone who's worked with CSV exports from different tools knows the pain of inconsistent headers and mixed data types. I'm curious: how does AutoTable handle edge cases where the same column has wildly different formats in different rows? Does Gemini infer the intended format or does it ask the user to decide?

Collapse
 
voxdroid profile image
Izeno

That’s a great question! AutoTable tackles inconsistent row formats using a "multi-stage, deterministic transformation pipeline" that Gemini helped architect. Instead of forcing an entire column into a single data type, the engine evaluates cells individually to perform per-cell type coercion, for example, standardizing various 10-digit formats into a canonical phone number while preserving ambiguous strings. To prioritize speed and user privacy, it relies on these smart heuristics to clean what it can and defaults to preserving the original data if a format is too "wild," ensuring no data is lost in the process!

Collapse
 
fraaail profile image
Keayon Ivan Romero

Your application is great and I always use it for cleaning large datasets. Hope for more improvements in the future!

Collapse
 
voxdroid profile image
Izeno

Thank you so much for the support! I’m thrilled to hear AutoTable is helping you manage large datasets more efficiently. I’m currently working with Google Gemini to refine our "Lead Engineer" architecture even further, with plans to add smarter fuzzy matching and more advanced schema detection soon, so keep an eye out for updates!