sugiro.ai
EN BR
Open navigation
EN BR
home
ai projects bitcoin calculator capital gains calculator card tracker dots animation tool glossary builder hash cost calculator prompt builder QR code generator rock drive backup short URL tech stacks
generative design about me contact
Tech Stacks Capital Gains Calculator
Tech Stack Review

BTC Calculator

A dependency-light Bitcoin calculator that converts between BTC, SATS, and multiple fiat currencies with Binance market data. It is built with plain HTML, CSS, and modular JavaScript, including an inline keypad, bilingual UI, dark mode, and mobile-specific interaction handling.

Live at: https://mybtc.sugiro.ai/

BTC Calculator project screenshot

Overview

Type Static calculator app
Language HTML + CSS + JavaScript
Architecture Modular vanilla JS
Data Binance ticker + kline data
Currencies BTC, SATS, USD, BRL, EUR, GBP
i18n English + Portuguese
Build step None
Runtime Browser + external API

Main Stack

What powers this Bitcoin conversion tool and what makes it feel like a compact product rather than a basic static page.

Markup

Plain HTML interface

The UI is defined in one HTML page, including the header controls, active amount fields, inline keypad, currency menus, info panel, SATS reference modal markup, and dynamic display areas for BTC, SATS, and fiat conversions.

Styling

Custom CSS

The visual system is custom-built with a yellow/black brand palette, circular Material Symbols controls, responsive amount displays, inline keypad styling, and a separate dark-mode palette.

JavaScript structure

Core + app split

The project separates lower-level conversion logic from UI orchestration. That keeps pricing, formatting, translation, interaction, and display logic more maintainable than a one-file script.

Live data

Binance market data

The app uses Binance ticker and kline endpoints for live conversion prices and historical return calculations, so it is still static in structure but depends on an external market data source for full functionality.

User experience

Multi-language and mobile features

The calculator supports English and Portuguese, includes Android touch and haptic handling, active-field selection, an inline keypad, a selectable return-period menu, dark mode logic, and richer help interactions than a minimal utility page.

BTC amounts are also displayed with thin-space grouping across the eight decimal places (e.g. 1.23 456 789), making sat-level values easier to read at a glance.

Runtime model

No bundler or framework

The project has no package manifest or frontend framework. It stays dependency-light by relying on browser JavaScript, local assets, and a small set of manually organized script files.

How It Runs

The calculator combines static assets with runtime market data inside the browser.

1

The browser loads the static app shell

index.html loads the core interface, icon assets, inline keypad, menu structures, info panel, and JavaScript entry files.

2

Core logic initializes conversion behavior

js/core.js handles currency logic, display formatting, translation data, and calculator behavior shared across the app.

3

App logic wires the UI

js/app.js coordinates animations, info panels, dark mode, Android input and haptics, field selection, currency and period menus, and the interactive flow around the displays.

4

Live market data updates the dashboard

The app fetches current BTCUSDT pricing, fiat conversion pairs, and historical BTCUSDT klines from Binance, then uses that data to compute BTC/SATS and fiat equivalents plus return-period displays.

5

User state stays in the browser

Interactions such as language choice and dark mode preference are handled locally, keeping the app lightweight while still feeling dynamic.

Architecture Map

The project is static, but it is organized more like a small hand-built application than a single-file toy page.

Key files
index.htmlMain UI, inline keypad, menus, info panel markup, asset loading, and script entry points.
css/styles.cssAll styling, layout, responsiveness, and visual modes.
js/core.jsCore conversion logic, translation dictionary, formatting behavior, period configuration, and Binance API module.
js/app.jsUI interaction, panel behavior, active-field editing, period and currency menus, dark mode, and mobile-specific logic.
assets/Brand and interface assets like icons and imagery.
archive/Previous or experimental versions kept for reference.
Architecture Analysis
index.html
css/styles.css
js/core.js
js/app.js
assets/
archive/

This is a good example of a project that is still “plain HTML/CSS/JS,” but has enough interaction depth that it behaves like a small product rather than a basic static page.

Data and Storage

The app blends Binance price data with browser-only preferences and interaction state.

External data

Market pricing comes from Binance

The calculator uses the Binance ticker endpoint for current BTCUSDT and fiat-pair pricing.

BRL uses a direct USDTBRL pair, while EUR and GBP invert EURUSDT and GBPUSDT rates.

The price view includes change tracking across 1D, 1W, 1M, 3M, 6M, 1Y, 2Y, 5Y, and YTD windows.

This makes the project more dynamic than an offline-only static calculator.

Local interaction state

Preferences stay in the browser

Language choice is handled locally in the running page.

Dark mode state is persisted in localStorage.

Android-specific, haptic, active-field, menu, and keypad behavior are handled client-side.

No account, backend persistence, or database is required.

Run Commands

The app can be opened directly or served with any tiny static server.

Local usage
open index.html

# or
python -m http.server

The README recommends serving it with a small local server, but the project itself has no package install step or build process.

Environment setup

What the project expects

No package manager setup.

No framework runtime.

No environment variables.

Network access is needed for Binance live and historical pricing.

Bottom Line

BTC Calculator is a browser-first static app built with HTML, CSS, and modular vanilla JavaScript, but it goes beyond a simple static utility by incorporating live market data from Binance, multilingual UI, dark mode, an inline keypad, and mobile-specific interaction handling.

2026 Lula Rocha. Almost all rights reserved.