I'm forever creating dashboards in Excel, and while I get a lot of satisfaction from it, that's part of the problem. I end up going down a rabbit hole, adding more charts, and then wondering whether I left anything out. There's no handbook for creating a dashboard in Excel, as every dataset is different. So I decided to let Gemini do the decision-making for me.
I started with two CSV files containing a small library dataset: 40 authors and 180 books. I used CSV files rather than XLSX files because, in my experience, AI chatbots tend to handle datasets better when I strip out all the Excel-specific baggage. The files were linked by the AuthorID column, but I deliberately didn't explain this to Gemini—I wanted it to discover the relationship between them on its own.
I kept my actual instruction surprisingly short. Instead of specifying a layout or telling it which charts to use, I simply gave it the data and asked it to analyze what it had been given before deciding what would make the standalone offline app useful.
I did make sure it included the ability to add and manage authors and books, export the data, reset it, and keep my changes between sessions. Those were important because I wanted to test whether the finished app could actually replace the sort of ongoing spreadsheet workflow I had in mind, rather than simply produce a nice-looking demo. But that was essentially it. I was interested in seeing whether it could make sensible design decisions from the data itself, rather than simply following a detailed specification I'd written.
I've tested AI for various different projects in the past, and Gemini has often come out on top. For example, I found that Gemini was better than ChatGPT at turning my data into a dashboard in Excel. I've also compared how Gemini and Claude coped with turning a spreadsheet into an offline app, and Gemini's output felt more practical and usable. So I wanted to see whether Gemini could go one step further: take two separate CSVs, understand the relationships between them, and generate a standalone interactive app.
The result was much more restrained than some of the dashboards I've built myself—but that's a good thing.
Gemini built a clean overview with four summary cards that show key information from the library, including the number of authors and books, the number of pages read, and the average rating. Underneath, it used four straightforward bar charts showing books by genre, reading status, top authors by average rating, and authors by country.
What impressed me most was what Gemini didn't do. It could have filled the screen with pie charts, percentages, and other visualizations simply because the data was available. Instead, it made a judgment about how much information belonged on the main screen and left the rest alone.
It also gave the app a proper navigation structure. I could move between the overview, Book Explorer, and Author Directory, then drill into individual authors or books when I wanted more detail. Author information, for example, wasn't dumped onto the main dashboard. I had to click through to see an author's details and bibliography.
In Excel, I'd have to make those decisions myself, then build the worksheets, navigation, links, filters, and supporting elements to make everything work together. Gemini simply made the choices for me.
Once I liked the look of it, I wanted to see whether the app was actually usable.
I opened the Book Explorer first, where I could search by title or author, filter by genre and reading status, and sort the results by title, rating, publication year, or page count. These controls worked together, too, so I could, for example, filter the library by a particular genre and reading status and then search within those results.
Next, I made some changes to the data in the app to see how it reacted. First, I added an unread book to an existing author. The book count updated to 181 instantly, the new title appeared in the catalog, the author relationship was correct, and the author's bibliography reflected this change.
I then added a read book for the same author and gave it a rating of 5. Gemini handled the rating logic correctly: the rating field only became active when I selected Read, while books marked Reading or Want to read could be added with the rating left blank.
Next, I added a completely new author and then created a book for that author. The counts in the top-right corner updated, the new book was correctly associated with the new author, and the author's book count and other derived information updated accordingly.


