Jag ville mäta kroppsfett och slutade med att bygga över hundra räknarverktyg
Den ursprungliga planen var skämmligt enkel. Efter tre månaders konsekvent träning på gym rörde sig inte vågen mycket, men spegeln berättade en helt annan historia. Kläderna passade annorlunda. Energinivåerna var högre. Folk gjorde kommentarer. Den uppenbar frågan var om kroppssammansättningen förändrades även om totalvikten förblev ungefär densamma, och det uppenbar svaret krävde att veta kroppsfettandel snarare än bara kroppsvikt. En snabb sökning efter "body fat calculator" returnerade ett dussintal webbplatser täckta med annonser med små indataformulär inklistrade mellan bannerannonser och popup-nyhetsbrev. De fungerade tekniskt sett, men upplevelsen var eländig. Ange några mätningar, klicka på beräkna, vänta på att sidan laddar om genom tre lager av annonsscript, och se slutligen ett nummer utan sammanhang om vad det betydde eller hur det jämfördes med hälsosamma intervall för någon av den åldern och aktivitetsnivån.
Tankegången som följde var den typ som utvecklare omedelbar igenkänner och civila återfinns förvirrande. "Den här räknaren är hemsk. Hur svårt kan det vara att bygga en bättre?" Svaret på den frågan är alltid detsamma: att bygga den första versionen är lätt, och sedan tar scope creep över med den tysta beslutsamheten av murgröna som klättrar en vägg. Kroppsfetträknaren var färdig på en eftermiddag. Den använde Navy-metoden, tog fyra mätningar (hals, midja, höfter, höjd) och visade resultatet med sammanhang om hälsosamma intervall. Rent gränssnitt, ingen annonser, snabb. Färdig. Förutom att det inte var färdigt, för nästa tanke var "ja, om någon kontrollerar kroppsfett vill de förmodligen också ha sitt BMI." Så en BMI-räknare lades till. Och sedan en BMR-räknare, för att veta basalmetaboliten är väsentligt för alla som hanterar kaloriintag. Och sedan en daglig kaloribehovsräknare. Och sedan en makroräknare. Och sedan en vattenintakerräknare. Var och en tog en dag eller två och var och en kändes som en naturlig förlängning av den föregående. Omfånget kröp, men det krep i en riktning som gjorde mening.
Pivoten från hälsa till finans hände en onsdagkväll när man granskat bolånealternativ. Bankens webbplats erbjöd en bolånekalkylator som var ännu värre än kroppsfettkalkylatorerna från den ursprungliga sökningen. Det krävdes att man skapade ett konto innan resultaten visades. Ett faktiskt konto, med ett bekräftelsesteg per e-post, för förmånen att multiplicera en huvudman med en räntesats och dividera med tolv. Det befintliga räknarramverket var redan där, redan hanterar indatavalidering och resultatvisning. Att lägga till en bolånekalkylator tog mindre tid än bankens registreringsprocess skulle ha.
Den oundvikliga expansionen in i allt som involverar siffror
När barriären mellan hälsa och finans väl bröts öppnades slusportarna på ett sätt som både var spännande och något oroande. Räntorna på räntorna räknare kom härnäst, för att planering av personlig ekonomi beror på att förstå hur pengar växer över tiden och de flesta befintliga verktyg gör konceptet svårare att förstå än det behöver vara. Sedan lånaamortiseringsräknare, för att alla som jämför boendalternativ också behöver se det fullständiga återbetalningsschemat med ränteuppdelning per månad. Sedan ROI-räknare, för att investeringsbeslut kräver snabba ovetenskapliga uppskattningar innan den detaljerade analysen börjar. Sedan valutakonvertering, sedan drinkspetsräknare, sedan sparande målprojektioner, sedan pensionsplaneringsuppskattningar. Var och en räknare delade samma underliggande arkitektur: ta strukturerade insatser, tillämpa en välkänd formel, och presentera resultatet med tillräckligt sammanhang för att vara omedelbar användbar.
Mattekategorin uppstod när en vän som undervisar på gymnasiet frågade om plattformen kunde innehålla en procenträknare för elever som kämpar med konceptet. Den enda begäran skapade en serie grundläggande matematiksverktyg: procenträknare (vad är X% av Y, X är vad procent av Y, procentuell ökning och minskning), bråk till decimalomvandlare, kvadratroträknare, område och volymräknare för vanliga former, och enhetsomvandlare som täcker längd, vikt, temperatur och hastighet. Ingen av dessa är tekniskt komplex. En procentberäkning är trivial kod. Men att slå in den triviala koden i ett rent gränssnitt med tydliga etiketter, användbara förklaringar och omedelbara resultat utan sidladdningar skapar ett verktyg som är genuint mer användbart än att göra matemat för hand eller söka efter det på en glös webbplats.
Kryptovinsträknare kom under en period när flera kryptovalutapositioner behövde utvärderas. Frågan "om jag köpte 0,5 ETH för $2 400 och det är nu $3 100, vad är min vinst efter en 0,1% handelsavgift?" är enkelt aritmetik, men att göra det upprepade gånger över flera mynt med varierande köppriser, kvantiteter och gebyrstrukturer blir tråkigt fort. Kryptovinsträknaren hanterar köppris, försäljningspris, kvantitet och avgifter i ett enda formulär och visar absolut vinst, procentuell avkastning och nettovinst efter avgifter. Det ansluter inte till någon börs och drar inte live-priser. Det är rent ett beräkningsverktyg, vilket är allt det behöver vara. Live-priset är på börsens webbplats. Beräkningen är på calculator.yeb.to.
Hur en räknare blev en arkitektur
Den tekniska historien bakom tillväxten från en räknare till över hundra är en historia om arkitektursbeslut som gjordes tidigt som visade sig vara överraskande skalbar. Den första kroppsfetträknaren byggdes som en fristående sida med hårdkodad HTML-formulärfält och en JavaScript-funktion som körde Navy-metodformeln. Vid den femte räknaren var mönstret uppenbart: varje räknare tar en uppsättning namngivna ingångar (höjd, vikt, hastighet, huvudman, vad som helst), tillämpar en formel och visar ett eller flera namngivna utgångar (kroppsfettandel, månatlig betalning, sammansatt totalt). Den delade strukturen innebar att en generisk räknarekomponent kunde hantera renderingen, valideringen och visningslogiken, medan varje enskild räknare endast behövde definiera sina ingångar, sin formel och sina utdataetikett.
Denna abstraktion är vad som gjorde explosionen från tjugo räknare till hundra kännas hanterbar snarare än överväldigande. Att lägga till en ny räknare kräver inte att bygga en ny sida från grunden. Det krävs att definiera ingångarna (namn, typ, enhet, valideringsregler), skriva beräkningsfunktionen och ange hur resultaten ska visas. Ramverket hanterar allt annat: responsiv layout, indatavalidering, felmeddelanden, resultatformatering och till och med förklarande text som hjälper användare att förstå vad siffrorna betyder. Hela plattformen är i huvudsak en motor med hundra konfigurationsfiler, vilket är varför den kan växa på obestämd tid utan att kodbasen blir ohanterlbar.
Räknare-API:n exponerar denna samma motor programmatiskt. Externa program kan skicka indatavärden och få beräknade resultat utan något gränssnitt. Detta är användbart för appar som behöver beräkningsfunktioner inbäddade i sina egna arbetsflöden. En träningsapp som vill visa BMI tillsammans med träningsstatistik kan anropa API:t snarare än att implementera BMI-formeln igen. Ett ekonomiskt planeringsverktyg som behöver sammansatt ränteprojektion kan anropa API:t snarare än att behålla sin egen sammansättningslogik. Formlerna är välkända och inte proprietära, men att implementera dem korrekt (hantera kantfall, avrundning på lämpligt sätt, redogör för skottår i datumbaserade beräkningar) är den typ av arbete som varje utvecklare gör något annorlunda och ofta något fel.
Varför en enhetlig plattform är mer meningsfull än spridda verktyg
Alternativet till en enhetlig räknaplattform är vad de flesta människor upplever idag: en separat webbplats för varje typ av beräkning. Ett bokmärke för bolånekalkylator. En annan för BMI-räknaren. En tredje för kryptovinstverktyget. Varje webbplats har sitt eget designspråk, sina egna annonsplaceringar, sitt eget cookie-medgivandesprogram och sitt eget sätt att presentera resultat. Den kognitiva overheaden för att byta mellan dessa frånkopplade verktyg är verklig, även om den är liten nog för att gå obemärkt förbi tills någon upplever alternativet.
Att ha allt under ett tak på calculator.yeb.to eliminerar det overhead. Gränssnittet är konsekvent över varje räknare. Ingångarna fungerar på samma sätt. Resultaten är formaterade på samma sätt. Det förklarande sammanhanget följer samma struktur. En användare som har använt BMI-räknaren vet exakt hur man använder bolånekalkylator, för att interaktionsmönstret är identiskt. Denna konsistens kan verka som en designsnäckhet, men den har en mätbar inverkan på användarvänlighet. Användare tillbringar mindre tid att ta reda på hur verktyget fungerar och mer tid att få det svar de kom för.
Det finns också en upptäcktsfördel som spridda verktyg inte kan replikera. Någon som besöker plattformen för att beräkna sin BMR kan märka vattenintakerräknaren på samma sida och inse att de aldrig faktiskt beräknade hur mycket vatten de borde dricka. Någon som kontrollerar en bolånebetalning kan upptäcka räknaren för sammansatt ränta och börja köra pensionsprojektioner. Närheten till relaterade verktyg skapar en naturlig utforskningsväg som isolerade webbplatser inte kan ge, för en isolerad webbplats optimerad för en beräkning har ingen anledning att driva upp orelaterade räknare. Den enhetliga plattformen kan och gör det, och användningsdata visar att en betydande procentsats av användare interagerar med två eller flera räknare per besök.
Siffrorna bakom siffrorna
Att bygga över hundra räknare har producerat några genuint intressanta observationer om vad människor beräknar och när. Hälsoräknare stiger i januari, när nya årsupplösningar mängden stiger på BMI och kaloriräknare med entusiasmen av nya gymmedlemskap. Bolånekalkylator stiger närhelst centralbanker meddela ändringar i räntesatsen, ibland inom timmar efter meddelandet. Kryptovinsträknare korrelerar nästan helt med Bitcoin prissättning volatilitet, som ökar under tjurmarknader och blir tyst under björnmarknader. Skatteräknare toppar under veckorna innan deklarationsfristerna. Till och med den grundläggande procenträknaren har ett säsongsarbetsmönster, med studentanvändning som toppar under tentaperioderna.
Den mest populära räknaren på plattformen, med en betydande marginal, är inte en av de sofistikerade hälso- eller finansverktyget. Det är den enkla procenträknaren. "Vad är 15% av 230?" Människor söker efter den sortens fråga miljontals gånger per dag världen över, och svaret är bara aritmetik som någons telefons inbyggda kalkylator kunde hantera. Men människor tänker inte på det sättet. De tänker på det som ett procentproblem, och de vill ha ett verktyg märkt "procenträknare" som tar sina specifika insatser och ger dem det specifika svaret. Lektionen är att värdet på en räknare inte ligger i komplexiteten i dess formel. Det ligger i klarhet i sitt gränssnitt och hastigheten på sitt svar.
Från tillbakablick på resan från den första kroppsfettberäkningen till en plattform med över hundra verktyg, den mest överraskande insikten är att ingen enskild räknare var svår att bygga. Svårigheten låg i att inse att efterfrågan var universell och att det befintliga utbudet var fragmenterat, annonsfyllt och fientligt mot användarupplevelsen. Varje räknare är trivial isolerad. Tillsammans bildar de något som är genuint användbart exakt för att det är omfattande, konsekvent och snabb. Kroppsfetfrågan som startade det hela får fortfarande svar på samma verktyg, och gym framstegen det hjälpte till att spåra har varit betydligt mer konsekvent än den ursprungliga planen för att bygga "bara en räknare."
Vanliga frågor
Vilka typer av räknare finns på plattformen?
Plattformen innehåller över hundra räknare över fyra huvudkategorier: hälsa (BMI, kroppsfett, BMR, kaloriebehov, vattenintag, makroräknare), finans (bolån, sammansatt ränta, lånsamortisering, ROI, sparande, pensionering), matematik (procent, bråk, område, volym, enhetskonvertering) och krypto (vinsträknare, gruvrächnare). Nya räknare läggs till regelbundet baserat på användarnas krav.
Är kroppsfetträknaren korrekt utan professionell utrustning?
Kroppsfetträknaren använder U.S. Navy-metoden, som kräver mätningar av hals, midja, höfter och höjd. Denna metod har validerats i kliniska studier och producerar vanligtvis resultaten inom 3 till 4 procentpoäng av DEXA-skanningsdata. Även om det inte är lika precist som laboratoriemetoder, ger det en tillförlitlig uppskattning för att spåra ändringar över tiden, vilket är det mest gemensamt användningsfallet för människor som övervakar träningsframsteg.
Kan räknarna nås via ett API?
Ja. Räknare-API:n gör det möjligt för externa program att skicka indatavärden och få beräknade resultat programmatiskt. Detta är användbart för utvecklare som bygger träningsappar, ekonomiska planeringsverktyg eller någon program som behöver inbäddade beräkningsfunktioner utan att implementera om de underliggande formlerna.
Är räknarna gratis att använda?
Webbaserade räknare på calculator.yeb.to är gratis att använda utan registrering eller prenumeration. Räknare-API:n för programmatisk åtkomst använder en kreditbaserad prismodell där beräkningar debiteras per begäran, vilket gör den ekonomisk för både lätt och tung användningsmönster.
Hur hanterar räntan på räntorna räknaren olika sammansättningsfrekvenser?
Räntan på räntorna räknaren stöder daglig, månatlig, kvartalsvis, halvårsvis och årlig sammansättningsfrekvenser. Användare anger huvudmannen, årlig räntesats, sammansättningsfrekvens och investeringstid. Räknaren visar det slutgiltiga beloppet, total ränta tjänad och en årlig uppdelning av hur investeringen växer över tiden.
Varför inte bara använda ett kalkylblad för dessa beräkningar?
Kalkylblad kan utföra alla dessa beräkningar, men de kräver att formlerna är inställda på rätt sätt, vilket i sig är en felkälla. En dedikerad räknare med förinbyggda, validerade formler eliminerar risken för formel misstag och ger kontextuell information om vad resultaten betyder. För engångberäkningar tar det längre tid att öppna ett kalkylblad och bygga en formel än att skriva värden in i ett ändamålsverktyg som returnerar svaret omedelbar.