5 ms·
Show HN: Figr.app – a multi-user, notepad style calculator (desktop app)
Hi all, just posting an update to my previous Show HN, where I announced a side-project I worked on which was a (web version) of a multi-user, notepad style calculator:
https://news.ycombinator.com/item?id=31817997 https://news.ycombinator.com/item?id=31817997
After a couple of user requests (and having a good think about it) I decided to migrate the web UI to create a Mac and Windows desktop app. After using it a little bit, I feel this is a much better experience than the webapp, and reduces a lot of the friction if I wanted to run a few small calculations.
You can find the download links below:
https://www.figr.app/download https://www.figr.app/download
For context, Figr was a side project I worked on to get back into coding after being in management for the last few years. It's kind of a cross between popular notepad style calculators (like Soulver, Numi, etc), but also has multi-user editing (like Google Docs). I've got some example templates below which hopefully show what it can do, and hopefully is relevant to the community:
- https://www.figr.app/s/RUNWAY https://www.figr.app/s/RUNWAY - An example to work out your burn rate / runway
- https://www.figr.app/s/LTVCAC https://www.figr.app/s/LTVCAC - An LTV/CAC calculator
- https://www.figr.app/s/CONTRACTOR https://www.figr.app/s/CONTRACTOR - Hourly rate calculator for contractors
Opened to feedback, or technical questions if others are in the process of moving, or thinking about moving their webapps to desktop apps, as it's been quite a journey!
Thanks!
- Mathmanjetson 4y ago
- sc970 4y agoSeems like by default every new sheet I create it shares with 3 people from @figr.app and I am unable to remove them.
- gardenhedge 4y agoHow will Figr make money?
- SimplGy 4y agoRespectfully, might need to rename it if you’re going for broad adoption. Just imagine speaking the name of your product to a family member who asks what you’re working on, or the cashier at the grocery store asks what your startup is. I know you don’t know me and it’s none of my business. I just thought better to rebrand sooner than later. Maybe ask someone you trust wrt marketing kinds of questions?
- russianGuy83829 4y agoHow hard would it be to create a Linux version?
- jonas-w 4y agoGood question, wanted to give it a shot but i only have linux...
- sabellito 4y agoThe one I built is uglier, has fewer features, is single-user, but has a Linux download via electron or redbean! https://github.com/filipesabella/CalcPad/ https://github.com/filipesabella/CalcPad/
- jklp 4y agoI was waiting for this question :) I think it should be quite straight forward but it's more the deployment and maintenance I'm conscious of. Mac and Windows (to an extent) both have app stores which can handle hosting, auto-updates, etc, though for Linux I'd have to build a bit of that myself. That also complicates platform specific dev / testing / deployment, and as this is a side project I'm conscious of time. But if there's demand and things go well, I could be persuaded to release on another platform!
- tuxychandru 4y agoIf the primary concern is the lack of a common packaging format/app store, please consider publishing to https://flathub.org/ https://flathub.org/. It should solve these for you across all distributions. Testing should also be simpler as most of your dependencies will bundled and testing in one distribution should suffice.
- unhammer 4y agoAlternatively https://appimage.org/ https://appimage.org/ As a user, I much prefer AppImage – snap/flatpack feel like adding another app store to my system, while AppImage is just download and run.
- awb 4y agoThanks for sharing! It looks slick. Can you address the elephant in the room: why use Figr instead of Excel?
- IndigoIncognito 4y agoEase of use + A nice UI + A dedicated application
- jklp 4y agoThanks! I'm not the best designer (my background is dev) though am happy people seem to like it! Why Excel? I feel there's a gap between a "desktop calculator" (like the default calculator in most OSes) and Excel. E.g. Desktop calculators I can say, "calculate tax for a single item", but sometimes I need to calculate tax or multiple sums in a list. You can probably break out Excel at this point - though I feel there's a bit of inertia in this. I.e. Thinking of how to structure the sheet, where to put values / formulas / etc. I feel with a notepad calculator, it's a bit closer to how my brain thinks and I can get simple calcs out quicker. I may be biased too, but I find it easier to read my results the next time I load the sheet in Figr vs Excel. Btw I'm not saying this is an Excel replacement - there's always going to be a place for that, though I think this is a nice middle ground.
- for_i_in_range 4y agoAnother thing: although I love excel, excel is slower. The startup is less snappy.
- gurupanguji 4y agoThis reminds me of Soulver https://soulver.app/ https://soulver.app/
- kalenpw 4y ago> It's kind of a cross between popular notepad style calculators (like Soulver, Numi, etc), but also has multi-user editing (like Google Docs). From the OP
- armchairhacker 4y agoI wish there were more apps like this which let you just type text and make/do things. Just make everything a sort of real-time coding. It's often much faster to do stuff with text and keyboard than any fancy GUI. Other examples: sequencediagram.net, SwiftUI and React to some extent, vim directory managers (e.g. some let you rename files just by editing text and delete them just by deleting lines) The only issue is, I've worked on building these, and it's a lot harder than it looks. You can either do immediate mode, which requires fast parsing and rendering and supporting all sorts of illegal values; or you can try to do retained mode, but there are insane #s of edge cases and the effort to compute diff usually makes it slower anyways. Furthermore if you want a really fancy text view, you need to build it yourself, which is a huge project on its own.
- escot 4y agoIf you'd like a flowchart editor that's keyboard-first you can try what I've made here: https://www.knotend.com https://www.knotend.com.
- trafnar 4y agoMy app https://www.tasktxt.com https://www.tasktxt.com is a text based todo list with timers. Similar in spirit.
- xixixao 4y agoLooks awesome, congratz!
- jklp 4y agoAgree about the "just type in text" paradigm though I feel they suffer from the "empty state" problem. You can see I tried to mitigate with the "blank sheet" placeholder text, and on web there're templates available. Unfortunately it appears only a fraction of users use the templates, and of course users never read the placeholder text! I haven't heard of immediate / retained mode before - interesting concept! Figr is more straight forward and evaluates a line as "0" if there's an error (the opposite of "be conservative in what you send, be liberal in what you accept"!) so they are problems where entire calculations are "wiped out" if there's an error on a line, but I think that's the trade of to having accurate results. As for a custom text view completely agree! I did do that initially though switched over to draftjs later and (despite it's lack of good guides) has been a huge time saver!
- webmobdev 4y agoIs it available for download somewhere other than the OS "app stores"?
- jklp 4y agoAhh yeah not at the moment. I intentionally only released on app stores as I didn't want to complicate my deployment, as well as host binaries / handle auto-updates. Signing is also a real pain and (in the case of Windows) quite expensive, and I'm unsure of the demand at the moment to warrant that. Just out of curiosity, what's the aversion to app stores? I know for paid apps there's a large commission to Apple / Microsoft (I try to download direct when I can) though for free apps I'm a bit more forgiving.
- webmobdev 4y agoPrivacy mainly. And as a software developer, such app stores are insulting to us because it is used to extort money from us for the "privilege" of developing software for their platform, when they should be the one appreciative of the fact that every new software from us increases the value of their platform. As a user too, I find this very unethical of them as it unnecessarily increases the cost of buying softwares (why should I pay Apple or Microsoft or Google an extra 20 to 50% for buying a software made by you?). I have no qualms in saying that we software developers are fools for letting them take advantage of us and our clients / users.
- wellpast 4y agoThis is great, I love local-first [1] software. Are you using OT or CRDTs for real-time editing? Are you using any specific cross-desktop platform? (Electron?) [1] https://www.inkandswitch.com/local-first/ https://www.inkandswitch.com/local-first/
- jklp 4y ago> This is great, I love local-first [1] software. Thanks! This was an intentional design decision on the desktop too so I'm glad someone noticed! > Are you using OT or CRDTs for real-time editing? You know this is embarrassing - it's the first time I've heard of those terms and from a quick google I really needed this a few months ago! A lot of the problems described I actually had to battle with and if you try hard enough, you can get the calcs to break state between the users. I'll definitely dive deeper into this, thanks! > Are you using any specific cross-desktop platform? (Electron?) Yeah sure - the app was initially written in React.js for web, and I just did a few modifications to get it deployed via Electron. Tbh the migration was quite straight forward (there were a few design tweaks and UI elements I had to make) but surprisingly the most difficult part was creating the binaries and submitting them to the app stores! There was also some issue with CORS (due to Electron using local .html file) but managed to find some code to rewrite the headers which fixed it!
- wahnfrieden 4y agofor CRDT solution, check tiptap + hocuspocus / yjs
- jklp 4y agoThanks will do!
- derekhsu 4y agoInteresting idea and I like it. However, I just tried it and found it does not support Chinese. Would you like to add it as a new feature?
- jklp 4y agoAh yeah I've had requests to support other characters though unfortunately quite a few of the calculations are passed through to mathjs, which has trouble supporting non latin characters. It's on the list though but unfortunately due to how integral mathjs is to the app it might not be an easy change to make!
- twarge 4y agoThis seems to be a shadow of Calca. https://calca.io https://calca.io
- etchasketch 4y agoI would be very happy if it was, calca stopped being developed probably 5 or 6 years ago.
- renewiltord 4y agoCool app. Thank you!
- MikeYasnev007 4y agoHopefully I am not counter or calculator)
- jeffreportmill1 4y agoHow do you save figr docs to the cloud?
- jaredreich 4y agoVery cool! Built something similar recently called Calcutext: https://calcutext.com/ https://calcutext.com/ https://github.com/jaredreich/calcutext https://github.com/jaredreich/calcutext
- bombtrack 4y agoI love apps like this. I currently use Numi daily for running financial-related tracking and scenarios. It has a few annoying UI quirks, so I'm super open for alternatives (especially with cloud syncing). I played around with porting my Numi sheets over, and the only thing that's tripped me up so far is using underscores as numerical separators, eg: 1_000_000 for 1000000. All my Numi values are written this way, so that's my only feature request. I guess I could just use commas in this context. Great work! Edit: And dark mode :)
- jklp 4y agoI love Numi - it's a very beautifully designed app! Didn't realise you could use underscores as separators, will make sure to add it in!
- KierPrev 4y agoHi! For science, you should allow showing output for small calculations. (Think of the order of e-34, like the Planck's constant.) Thanks for the work! Waiting for a Linux version :) (Flathub autoupdates, if you were thinking of appimages)
- easygenes 4y agoOoh. I have used Soulver on iOS for nearly a decade now. Sadly, the developer has pulled it from the App Store for a long time, so I can’t point others to it. For me, Soulver has the ideal UI for a phone screen. The one thing I really feel it is missing is a cross-platform sync. I used the iCloud integration and Mac app, but if I could access my worksheets from Linux and Windows just as easily I would be totally happy. Figr, ignoring the lack of mobile apps, doesn’t really scratch this itch either though, as I want to self host my sync.
- easygenes 4y agoThinking about this a bit more, if I wanted to scratch my own itch… there’s a nice VS Code plug-in called Qalc [1] which I could probably build an iOS interface around and use Syncthing/Möbius Sync… 1: https://github.com/nortakales/vs-code-qalc
- lardissone 4y agoHave you tried Calca? https://calca.io/ https://calca.io/ It works really great on mobile too (even their website is not updated it works fine on latest OSs).
- fulafel 4y agoClick saver: Windows & Mac only
- Philipp0205 4y agoThis is a downer...
- gman83 4y agoWhat language did you use to build this? What about the UI? Also, I tried to login to the application with Google and got "Authorization Error -- Error 403: access_denied -- The developer hasn’t given you access to this app. It’s currently being tested and it hasn’t been verified by Google. If you think you should have access, contact the developer"
- krstffr 4y agoHi, looks super cool! Just some quick feedback from the first things I tried in the app (which did not work). It has to do with currency conversion: https://user-images.githubusercontent.com/93975/191202587-9be58d1e-9717-4141-880e-6e1239c36c3a.png https://user-images.githubusercontent.com/93975/191202587-9b...
- jklp 4y agoAhh interesting thanks for letting me know - I'll look to get that fixed in the next version!
- Dave3of5 4y agoLooks interesting, what makes this different from using a Google Sheet ?
- medv 4y agoSame as a Chrome Extension: https://numbr.dev https://numbr.dev
- fatih-erikli 4y agoI use Python program for that It works pretty fine Example $ python >>> weeklyprice=4000 >>> dailyprice=weeklyprice/7 >>> februaryprice=dailyprice\*28 >>> februaryprice 15988
- iamgopal 4y agoyears ago, I did something OP did, with embedding python, and whole page have tree type hierarchy with parent can access child pages and child have read only access to parent values. python is awesome.
- deleted 4y ago[deleted]
- larrywright 4y agoA Jupyter notebook would work in much the same way, and has the advantage of being able to mingle Markdown in with the code. Neither is as approachable for a non-programmer as the OP, however.
- 20after4 4y agohttps://observablehq.com/ https://observablehq.com/ is another option, similar to jupyter but perhaps more approachable for people who like JavaScript over Python. I'm still looking for the perfect text-based solution.
- nordicio 4y agoLooks great! If you are looking for an iOS/iPadOS app my own Kalkyl 3 includes support for shared documents with real-time collaboration. You don’t input text (but there’s of course keyboard support), instead you input tokens so that e.g sin is one token just like the digits. WYSIWYG editing with raised exponents, root-overbars. Arbitrarily complex unit conversions (e.g USD/ft^2 to EUR/m^2 is a single conversion) and dimensional analysis. The app is free, but the document features are for pay (with a free trial): https://apps.apple.com/se/app/kalkyl/id519933025?l=en https://apps.apple.com/se/app/kalkyl/id519933025?l=en
- smusamashah 4y agoThere are a few more calculators in the similar spirit shared on HN before. - https://bbodi.github.io/notecalc3/notecalc https://bbodi.github.io/notecalc3/notecalc - https://dedo.io/ https://dedo.io/ - https://notepadcalculator.com/ https://notepadcalculator.com/
- swissswiss 4y ago- https://number.dev https://number.dev
- rkangel 4y agoIt's actually https://numbr.dev https://numbr.dev
- deleted 4y ago[deleted]
- 88840-8855 4y agoIt looks great. So far I have been using Numi and I can see a few advantages and disadvantages in both apps. Numi: + lightweight + very fast start - tabs are a paid feature Figr: + variables + tabs - slow start compared to Numi - cannot customize the icon bar What both apps dont have and what I am looking for: A super lightweight excel-like tables app to do basic calculations with formulas behind the cells. Do you know anything like that, guys?
- sc970 4y agoNice!! Loving it so far, would be nice to hide the side sheets pane and also allow multiple instances!
- ernestipark 4y agoI've wanted to build something like this for a long time because I tend to use normal notes for a lot of basic calculations (e.g. personal finances, budgeting, etc) that don't require a spreadsheet, so this is really cool. But I probably wouldn't use this because there's a lot of intertia to just continue using my existing notes apps (Mac Notes mostly) because of the ease of syncing and integration into rest of the ecosystem. I wish this could be just a plugin to stuff I already have so its not another app I have to use.
- geesejuggler 4y agoCool! Looks promising! Some UI/UX remarks... - I would expect to find the 'new sheet' option near the sheet list (on top or on the bottom perhaps?). - Creating a new sheet does not give an empty sheet (instead it presents the same info as in the preloaded example). - How do you deal with different notations for numbers? Can I switch somewhere from #,###.## to #.###,##? - Operators and currency is now displayed in gray, just like the comments. This hurts legibility more than it helps focus. - When you can detect unit indicators, maybe allow users to click on them to change the unit to another (compatible variant). For example change kilometers to yards. - Header and sub-header styles are quite similar, makes them hard to discern.
- geesejuggler 4y ago- When editing the sheet name in the left panel, I could drag the sheet's location into it's text field. - Would it be possible to edit the sheet title when clicking on the title itself (in the right panel)? Maybe show a pencil indicating this possibility. - Local time format is not reflected in the sheet's modification time. What will happen if I share the sheet, will it reflect the latest modification time for all users or my latest modification / view? What I am trying to say is: is there a way for me to see if there are changes I have not seen? - A little bit of hierarchy or tagging might help those with lots of sheets in the future. - Exporting and printing options? :)
- jklp 4y agoThese are great suggestions! Some of them are on the road map but lots of good additions too. > What I am trying to say is: is there a way for me to see if there are changes I have not seen Currently I have a red "dot" on the cloud icon in the navbar when it's lost server sync - but there are certain cases where it doesn't show. I do need to spend more time on the multi-user aspect, though it's quite a large piece of work and unfortunately not a lot of users seem to use it. I also think a hierarchy / folder structure would be super useful. Using it regularly I have an unwieldy large number of sheets and it's difficult to find older ones / search!
- ksec 4y agoThere is a few things I wanted but mostly missing in these type of calculators. More Units. K for Thousands, M for Million, B for Billion and T for Trillion. Some Calculators either dont offer these, or they do but with different Letters representation because M, B and T are used for something else. IMO this seems backwards because those are the most common unit in analysis. Other Units including PB for Petabytes, TB. GB, MB, KB, as well as Mbps to Gbps unit conversion. us, ms, ns, for Latency calculation. Getting Market Cap, P/E data etc from Yahoo Finance.
- jklp 4y agoAhh you have no idea how much trouble I have with unit clashes, not to mention stock price / currencies (btw stocks aren't in at the moment). It's on the roadmap though and good to see others have the same idea!
- ksec 4y agoWorth mentioning is Stock / prices with Date or Current. For example I want to do a comparison between certain period of time, so Market Cap are specific to those Date. In another example I want to keep an eye on Big Tech's current market Cap, and the list would update every day. Giving me an overview of current situation.
- deleted 4y ago[deleted]
- craig 4y agoLooks really neat. Anyone know of a similar neovim/vim plugin?
- pgt 4y agoGood job! I spent a while working on a more flexible & real-time version of Frink. Needs to exist. https://frinklang.org/ https://frinklang.org/
- g-camargo 4y agoThis is really cool. We're building something similar at Decipad (https://www.decipad.com https://www.decipad.com) would love to hear what you think.
- vinaypai 4y agoCongrats on building and launching your app. However, in my opinion, you need different examples to show the strengths of this app. A lot of the examples on your page look kinda clunky and error-prone to me, and better solved with a spreadsheet. Take the "personal finance" one. The "total expenses" row lists out all the expenses adding them out one at a time. In a spreadsheet you'd just type =sum(A1:A5). Imagine it wasn't just 5 but 20 items. Now your sum gets pretty unweildy. How confident can you be from looking at that sum that you haven't missed one of the expense items? In a spreadsheet you know pretty clearly that =sum(A1:A20) has all those rows. Better still, if you insert a row to add another item, it'll update the sum for you. The "Investment returns" sheet is another example. What if I wanted to extend that to 30 years? In a spreadsheet I'd just copy the last row and past it in the the next 10 cells and I'm done. Here's I have to paste it 10 times, and then manually update each row and hope I didn't make a typo anywhere. What if I didn't want my savings to be constant but assume that I'm going to increase savings a year over time? The unit conversion is somewhat neat though, so maybe examples that use that a bit more?
- jklp 4y agoThanks great feedback and completely agree about the clunkiness around sums! As a mitigation I did add row highlighting (if you hover over a var it'll highlight the row it was defined at), but the underlying problem of dynamic sums is still there. I was working on a TOTAL() function (which someone also mentioned in this thread), but conceptually I also think some of the calcs are better in a tabular format, so have been toying around with designs with tables etc.
- lovetocode 4y agothis is super cool good work!
- davidork 4y agoso, speedcrunch, but on the web. got it.
- felipelalli 4y agoASK HN: Is there a similar mode to Emacs? I didn't find it.
- metadat 4y agoIs there a mobile version in the plan? It'd be cool to have a notepad style TI-89 on steroids.