#WIP - Calculator Pond
Online calculator utilities focused on accessibility and optimization.

#Goals
These are what I aim to achieve, but will probably be pretty far off for the
time being.
→ User experience
- Accessible — too many online uilities with glitchy interfaces and too-small
click targets.
- Snappy — with the help of JavaScript, but just enough, no more
- Works without JavaScript — Equal functionality though with speed tradeoffs
requiring an extra reload.
- Works on text mode clients
- Just the functionality — no ads or unrelated distractions
- Simple interface — perhaps opinionated; not quite brutalist, but satisfactory
— modern looks without stacking bloat and excessive web design
- Speed
→ Developer experience
- Zero dependencies
- Readable codebase
- Go backend (using
net/http
) with plain old HTML+CSS+JS frontend. No need for
fancy frameworks or fresh new bleeding-edge technology
- Modular and extensible
#Development
Only a fairly recent version of Go, a reasonably sound programmer's brain, and a
usable text editor is required.
Optioanlly use air for hot-reloading.
#Plans
#Modules
- [x] Postfix (stack) calculator
- [x] Infix to postfix expression converter (TODO: Fix parentheses)
- [ ] Don't force spaces as tokens (better tokenizer than strings.Fields LOL)
- [ ] HCF and LCM
- [ ] Factorisation
- Categories
- [ ] Number base
- [ ] Fractions
- [ ] Modular arithmetic
- [ ] Statistics
- [ ] Date and time
- [ ] Vector and matrix
- [ ] Scientific notation
- [ ] Complex numbers
#Optimization
- [ ] Input fit width
- [ ] Customise CSS — accents, font sizing, form elements
- [ ] Mobile testing
- [ ] noscript
- [ ] Accessibility tests
#Backend
- [ ] Unit tests
- [ ] Linting
- [ ] Minify CSS (requires 3rd party dependency?) and insert inline
#Misc