Ask HN: How to build online calculator website?

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • Appwrite - The Open Source Firebase alternative introduces iOS support
  • Sonar - Write Clean JavaScript Code. Always.
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • streamlit

    Streamlit — The fastest way to build data apps in Python

    Surprised nobody’s mentioned streamlit yet.

    Maybe I’m misunderstanding your use case, but if you want to create web apps out of your backend work, streamlit may be your ticket for “easy to understand on the back end, hyper-simple front end.”

    At least worth giving it a look.

    https://streamlit.io/

  • Elm

    Compiler for Elm, a functional language for reliable webapps.

    Little bit unconventional, but try writing your front end in Elm, and use the elm-ui library to avoid writing html or javascript.

    It compiles to javascript and will generate a an index.html for you if you want.

    Elm is highly opinionated… maybe you’ll love it, or maybe you’ll hate it, but it’s a good fit for what you want to do.

    https://elm-lang.org/

  • Appwrite

    Appwrite - The Open Source Firebase alternative introduces iOS support . Appwrite is an open source backend server that helps you build native iOS applications much faster with realtime APIs for authentication, databases, files storage, cloud functions and much more!

  • Water.css

    A drop-in collection of CSS styles to make simple websites just a little nicer

    For styling, depending on the look and feel you are shooting for, I would suggest either a classless CSS library like https://watercss.kognise.dev/ or (the one I sponsor) https://missing.style

    Or, if you want something a bit fancier and are willing to put in some work, Bulma is easy to get going with:

    https://bulma.io/

    If you want to sprinkle in some fancy-pants AJAX functionality without going full JS front-end retard, I recommend my own library, htmx:

    https://htmx.org/examples

  • Bulma

    Modern CSS framework based on Flexbox

    For styling, depending on the look and feel you are shooting for, I would suggest either a classless CSS library like https://watercss.kognise.dev/ or (the one I sponsor) https://missing.style

    Or, if you want something a bit fancier and are willing to put in some work, Bulma is easy to get going with:

    https://bulma.io/

    If you want to sprinkle in some fancy-pants AJAX functionality without going full JS front-end retard, I recommend my own library, htmx:

    https://htmx.org/examples

  • numeric

    Numerical analysis in Javascript (by sloisel)

    Here's my personal goto:

    Find some minimal CSS framework. My preference is Skeleton [0] or Bootstrap [1]. The key is just finding something minimal that works without too much fuss. Personally, I rather have a minimal framework provide 'responsiveness' so I don't have to worry about it but I also want it to get out of the way of anything I do.

    Use JQuery [2]. Don't rely on CSS for animations or interactivity. In theory CSS does a lot. In practice it's a nightmare to use and to get it play well with whatever else I'm doing in the page.

    Write in "bare" HTML and "vanilla" JavaScript. Don't use a static site generator and don't use a JavaScript framework.

    Port in JavaScript libraries as needed. Some of the ones I tend to use are numeric.js [3], downlaod.js [4] and audience-minutes [5]. If you're doing spreadsheet things, maybe there's some JS package out there that will help.

    Doing "raw" HTML/"vanilla" JavaScript makes me effectively unhirable but for limited scope side projects where I have full control and want to minimize bit-rot, this is fine.

    The point is to create something that's minimal and focuses on functionality. The CSS is just there to make it not look like a Web 1.0 page but otherwise steps out of the way to focus on the actual usage of the application.

    For context, here are some projects where I've used this philosophy (all open source, feel free to pilfer): Noixer [6], Resonator Voyant Tarot [7], Boston Train Track (now defunct) [8], CalebHarrington.com (an artist friend) [9], What Is This License [10], HSV Hero [11].

    [0] http://getskeleton.com/

    [1] https://getbootstrap.com/

    [2] https://jquery.com/

    [3] https://github.com/sloisel/numeric

    [4] https://github.com/rndme/download

    [5] https://github.com/berthubert/audience-minutes

    [6] https://mechaelephant.com/noixer/

    [7] https://abetusk.github.io/ResonatorVoyantTarot/

    [8] https://github.com/abetusk/bostontraintrack

    [9] https://calebharrington.com/

    [10] https://mechaelephant.com/whatisthislicense/

    [11] https://mechaelephant.com/hsvhero

  • download

    file downloading using client-side javascript

    Here's my personal goto:

    Find some minimal CSS framework. My preference is Skeleton [0] or Bootstrap [1]. The key is just finding something minimal that works without too much fuss. Personally, I rather have a minimal framework provide 'responsiveness' so I don't have to worry about it but I also want it to get out of the way of anything I do.

    Use JQuery [2]. Don't rely on CSS for animations or interactivity. In theory CSS does a lot. In practice it's a nightmare to use and to get it play well with whatever else I'm doing in the page.

    Write in "bare" HTML and "vanilla" JavaScript. Don't use a static site generator and don't use a JavaScript framework.

    Port in JavaScript libraries as needed. Some of the ones I tend to use are numeric.js [3], downlaod.js [4] and audience-minutes [5]. If you're doing spreadsheet things, maybe there's some JS package out there that will help.

    Doing "raw" HTML/"vanilla" JavaScript makes me effectively unhirable but for limited scope side projects where I have full control and want to minimize bit-rot, this is fine.

    The point is to create something that's minimal and focuses on functionality. The CSS is just there to make it not look like a Web 1.0 page but otherwise steps out of the way to focus on the actual usage of the application.

    For context, here are some projects where I've used this philosophy (all open source, feel free to pilfer): Noixer [6], Resonator Voyant Tarot [7], Boston Train Track (now defunct) [8], CalebHarrington.com (an artist friend) [9], What Is This License [10], HSV Hero [11].

    [0] http://getskeleton.com/

    [1] https://getbootstrap.com/

    [2] https://jquery.com/

    [3] https://github.com/sloisel/numeric

    [4] https://github.com/rndme/download

    [5] https://github.com/berthubert/audience-minutes

    [6] https://mechaelephant.com/noixer/

    [7] https://abetusk.github.io/ResonatorVoyantTarot/

    [8] https://github.com/abetusk/bostontraintrack

    [9] https://calebharrington.com/

    [10] https://mechaelephant.com/whatisthislicense/

    [11] https://mechaelephant.com/hsvhero

  • audience-minutes

    generate statistics on the number of audience minutes your site is generating, and if readers make it to the end of your screeds

    Here's my personal goto:

    Find some minimal CSS framework. My preference is Skeleton [0] or Bootstrap [1]. The key is just finding something minimal that works without too much fuss. Personally, I rather have a minimal framework provide 'responsiveness' so I don't have to worry about it but I also want it to get out of the way of anything I do.

    Use JQuery [2]. Don't rely on CSS for animations or interactivity. In theory CSS does a lot. In practice it's a nightmare to use and to get it play well with whatever else I'm doing in the page.

    Write in "bare" HTML and "vanilla" JavaScript. Don't use a static site generator and don't use a JavaScript framework.

    Port in JavaScript libraries as needed. Some of the ones I tend to use are numeric.js [3], downlaod.js [4] and audience-minutes [5]. If you're doing spreadsheet things, maybe there's some JS package out there that will help.

    Doing "raw" HTML/"vanilla" JavaScript makes me effectively unhirable but for limited scope side projects where I have full control and want to minimize bit-rot, this is fine.

    The point is to create something that's minimal and focuses on functionality. The CSS is just there to make it not look like a Web 1.0 page but otherwise steps out of the way to focus on the actual usage of the application.

    For context, here are some projects where I've used this philosophy (all open source, feel free to pilfer): Noixer [6], Resonator Voyant Tarot [7], Boston Train Track (now defunct) [8], CalebHarrington.com (an artist friend) [9], What Is This License [10], HSV Hero [11].

    [0] http://getskeleton.com/

    [1] https://getbootstrap.com/

    [2] https://jquery.com/

    [3] https://github.com/sloisel/numeric

    [4] https://github.com/rndme/download

    [5] https://github.com/berthubert/audience-minutes

    [6] https://mechaelephant.com/noixer/

    [7] https://abetusk.github.io/ResonatorVoyantTarot/

    [8] https://github.com/abetusk/bostontraintrack

    [9] https://calebharrington.com/

    [10] https://mechaelephant.com/whatisthislicense/

    [11] https://mechaelephant.com/hsvhero

  • Sonar

    Write Clean JavaScript Code. Always.. Sonar helps you commit clean code every time. With over 300 unique rules to find JavaScript bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • bostontraintrack

    Simple real time tracking of the Boston Red, Orange and Blue metro lines using Open Street Map (via OpenLayers) and the MBTA's real time metro tracking. (service is now shut down)

    Here's my personal goto:

    Find some minimal CSS framework. My preference is Skeleton [0] or Bootstrap [1]. The key is just finding something minimal that works without too much fuss. Personally, I rather have a minimal framework provide 'responsiveness' so I don't have to worry about it but I also want it to get out of the way of anything I do.

    Use JQuery [2]. Don't rely on CSS for animations or interactivity. In theory CSS does a lot. In practice it's a nightmare to use and to get it play well with whatever else I'm doing in the page.

    Write in "bare" HTML and "vanilla" JavaScript. Don't use a static site generator and don't use a JavaScript framework.

    Port in JavaScript libraries as needed. Some of the ones I tend to use are numeric.js [3], downlaod.js [4] and audience-minutes [5]. If you're doing spreadsheet things, maybe there's some JS package out there that will help.

    Doing "raw" HTML/"vanilla" JavaScript makes me effectively unhirable but for limited scope side projects where I have full control and want to minimize bit-rot, this is fine.

    The point is to create something that's minimal and focuses on functionality. The CSS is just there to make it not look like a Web 1.0 page but otherwise steps out of the way to focus on the actual usage of the application.

    For context, here are some projects where I've used this philosophy (all open source, feel free to pilfer): Noixer [6], Resonator Voyant Tarot [7], Boston Train Track (now defunct) [8], CalebHarrington.com (an artist friend) [9], What Is This License [10], HSV Hero [11].

    [0] http://getskeleton.com/

    [1] https://getbootstrap.com/

    [2] https://jquery.com/

    [3] https://github.com/sloisel/numeric

    [4] https://github.com/rndme/download

    [5] https://github.com/berthubert/audience-minutes

    [6] https://mechaelephant.com/noixer/

    [7] https://abetusk.github.io/ResonatorVoyantTarot/

    [8] https://github.com/abetusk/bostontraintrack

    [9] https://calebharrington.com/

    [10] https://mechaelephant.com/whatisthislicense/

    [11] https://mechaelephant.com/hsvhero

  • jQuery

    jQuery JavaScript Library

    Here's my personal goto:

    Find some minimal CSS framework. My preference is Skeleton [0] or Bootstrap [1]. The key is just finding something minimal that works without too much fuss. Personally, I rather have a minimal framework provide 'responsiveness' so I don't have to worry about it but I also want it to get out of the way of anything I do.

    Use JQuery [2]. Don't rely on CSS for animations or interactivity. In theory CSS does a lot. In practice it's a nightmare to use and to get it play well with whatever else I'm doing in the page.

    Write in "bare" HTML and "vanilla" JavaScript. Don't use a static site generator and don't use a JavaScript framework.

    Port in JavaScript libraries as needed. Some of the ones I tend to use are numeric.js [3], downlaod.js [4] and audience-minutes [5]. If you're doing spreadsheet things, maybe there's some JS package out there that will help.

    Doing "raw" HTML/"vanilla" JavaScript makes me effectively unhirable but for limited scope side projects where I have full control and want to minimize bit-rot, this is fine.

    The point is to create something that's minimal and focuses on functionality. The CSS is just there to make it not look like a Web 1.0 page but otherwise steps out of the way to focus on the actual usage of the application.

    For context, here are some projects where I've used this philosophy (all open source, feel free to pilfer): Noixer [6], Resonator Voyant Tarot [7], Boston Train Track (now defunct) [8], CalebHarrington.com (an artist friend) [9], What Is This License [10], HSV Hero [11].

    [0] http://getskeleton.com/

    [1] https://getbootstrap.com/

    [2] https://jquery.com/

    [3] https://github.com/sloisel/numeric

    [4] https://github.com/rndme/download

    [5] https://github.com/berthubert/audience-minutes

    [6] https://mechaelephant.com/noixer/

    [7] https://abetusk.github.io/ResonatorVoyantTarot/

    [8] https://github.com/abetusk/bostontraintrack

    [9] https://calebharrington.com/

    [10] https://mechaelephant.com/whatisthislicense/

    [11] https://mechaelephant.com/hsvhero

  • Bootstrap

    The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.

    Here's my personal goto:

    Find some minimal CSS framework. My preference is Skeleton [0] or Bootstrap [1]. The key is just finding something minimal that works without too much fuss. Personally, I rather have a minimal framework provide 'responsiveness' so I don't have to worry about it but I also want it to get out of the way of anything I do.

    Use JQuery [2]. Don't rely on CSS for animations or interactivity. In theory CSS does a lot. In practice it's a nightmare to use and to get it play well with whatever else I'm doing in the page.

    Write in "bare" HTML and "vanilla" JavaScript. Don't use a static site generator and don't use a JavaScript framework.

    Port in JavaScript libraries as needed. Some of the ones I tend to use are numeric.js [3], downlaod.js [4] and audience-minutes [5]. If you're doing spreadsheet things, maybe there's some JS package out there that will help.

    Doing "raw" HTML/"vanilla" JavaScript makes me effectively unhirable but for limited scope side projects where I have full control and want to minimize bit-rot, this is fine.

    The point is to create something that's minimal and focuses on functionality. The CSS is just there to make it not look like a Web 1.0 page but otherwise steps out of the way to focus on the actual usage of the application.

    For context, here are some projects where I've used this philosophy (all open source, feel free to pilfer): Noixer [6], Resonator Voyant Tarot [7], Boston Train Track (now defunct) [8], CalebHarrington.com (an artist friend) [9], What Is This License [10], HSV Hero [11].

    [0] http://getskeleton.com/

    [1] https://getbootstrap.com/

    [2] https://jquery.com/

    [3] https://github.com/sloisel/numeric

    [4] https://github.com/rndme/download

    [5] https://github.com/berthubert/audience-minutes

    [6] https://mechaelephant.com/noixer/

    [7] https://abetusk.github.io/ResonatorVoyantTarot/

    [8] https://github.com/abetusk/bostontraintrack

    [9] https://calebharrington.com/

    [10] https://mechaelephant.com/whatisthislicense/

    [11] https://mechaelephant.com/hsvhero

  • ResonatorVoyantTarot

    An experiment in creating generative tarot cards.

    Here's my personal goto:

    Find some minimal CSS framework. My preference is Skeleton [0] or Bootstrap [1]. The key is just finding something minimal that works without too much fuss. Personally, I rather have a minimal framework provide 'responsiveness' so I don't have to worry about it but I also want it to get out of the way of anything I do.

    Use JQuery [2]. Don't rely on CSS for animations or interactivity. In theory CSS does a lot. In practice it's a nightmare to use and to get it play well with whatever else I'm doing in the page.

    Write in "bare" HTML and "vanilla" JavaScript. Don't use a static site generator and don't use a JavaScript framework.

    Port in JavaScript libraries as needed. Some of the ones I tend to use are numeric.js [3], downlaod.js [4] and audience-minutes [5]. If you're doing spreadsheet things, maybe there's some JS package out there that will help.

    Doing "raw" HTML/"vanilla" JavaScript makes me effectively unhirable but for limited scope side projects where I have full control and want to minimize bit-rot, this is fine.

    The point is to create something that's minimal and focuses on functionality. The CSS is just there to make it not look like a Web 1.0 page but otherwise steps out of the way to focus on the actual usage of the application.

    For context, here are some projects where I've used this philosophy (all open source, feel free to pilfer): Noixer [6], Resonator Voyant Tarot [7], Boston Train Track (now defunct) [8], CalebHarrington.com (an artist friend) [9], What Is This License [10], HSV Hero [11].

    [0] http://getskeleton.com/

    [1] https://getbootstrap.com/

    [2] https://jquery.com/

    [3] https://github.com/sloisel/numeric

    [4] https://github.com/rndme/download

    [5] https://github.com/berthubert/audience-minutes

    [6] https://mechaelephant.com/noixer/

    [7] https://abetusk.github.io/ResonatorVoyantTarot/

    [8] https://github.com/abetusk/bostontraintrack

    [9] https://calebharrington.com/

    [10] https://mechaelephant.com/whatisthislicense/

    [11] https://mechaelephant.com/hsvhero

  • htmx

    </> htmx - high power tools for HTML

  • mvp

    MVP.css — Minimalist classless CSS stylesheet for HTML elements

    You could pay a front end dev to use a preexisting template.

    Or, you could Google “classless CSS”, if you’re OK writing some HTML.

    I made a plug and play CSS library here for those that don’t want to write CSS: https://github.com/andybrewer/mvp

  • bulma-templates

    free flexbox templates built with the bulma css framework

    I use a simple serverside framework such as ExpressJS or FlaskJS, which routes URL requests to HTML page responses.

    Served by NGINX on a Linux server. I host with DigitalOcean for $6/month

    I use a CSS Framework template. I like Bulma for its simplicity: https://bulmatemplates.github.io/bulma-templates/

    Summary of things to google:

    - simple Serverside framework for

    - Digital ocean nginx tutorial

    - CSS Framework Template

  • BMI-Calculator

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts