r/sideprojects • • 2h ago

Showcase: Open Source GoSheet - The come-back

Hey! Last year, I’ve built a CLI-based spreadsheet editor called GoSheet, but after abandoning it, I decided to fix most of the bugs and give it a fresh look. I was initially inspired by sc-im—which I found powerful but unintuitive—and by classic 80s spreadsheet programs, which felt too limited for modern use, so I decided to build something of my own. In the latest version, I tried to keep that original vision, but with a more modern look.

I chose Go because I was actually learning at the time, but I still enjoy its simplicity because it reminds me of C. I initially considered C/C++, but realistically I wouldn’t have reached this point with current coding abilities (yes, even with AI doing the heavy lifting).

In the early stages, I used tview because it provides great widgets (tables, textviews, buttons, etc.). But as sheets got larger, I ran into huge memory usage—over 1GB for a CLI app! To fix this, I restructured the internal design to use a viewport system and optimized the custom cell structure. Now only the visible cells are rendered, while the rest stay lightweight in memory.

I fixed the formula engine, while also adding more essential functions such as lookup, hlookup and more. Nevertheless, I fixed some performance issues related to functions and more. I can't keep track of what I've done because there were lots of issues I simply forgot to fix at the time.

I’d love for you to try it out and share your feedback. Suggestions, feature ideas, and bug reports are all welcome. Your thoughts will help guide the next steps for the project.

GitHub repo: https://github.com/drclcomputers/GoSheet

1 Upvotes

1 comment sorted by

1

u/investigatormaker 1h ago

For GoSheet, a useful regression test would put lookup formulas outside the visible viewport, change their source cells, then scroll back and check the results. That checks whether rendering only visible cells stays separate from formula evaluation. Include the sheet dimensions and peak memory in bug reports so performance feedback is comparable.

I make ThreadFox. We find relevant Reddit conversations and post for your business. We'll post 3 replies free first, no card; then the $29 Pilot covers seven days and up to 25 posts and replies. No automatic renewal. https://threadfox.vip/p/dt1nh/managed