<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Ali Haider</title>
    <description>The latest articles on DEV Community by Ali Haider (@ali_haider_35a7d1f2b6ddf9).</description>
    <link>https://dev.to/ali_haider_35a7d1f2b6ddf9</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4214244%2F3079ae9a-d712-4fc0-8efd-6b200083080b.jpg</url>
      <title>DEV Community: Ali Haider</title>
      <link>https://dev.to/ali_haider_35a7d1f2b6ddf9</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ali_haider_35a7d1f2b6ddf9"/>
    <language>en</language>
    <item>
      <title>I Built 32 Free Statistics Calculators for Thesis Students: How I Verified the Maths</title>
      <dc:creator>Ali Haider</dc:creator>
      <pubDate>Thu, 29 Oct 2026 04:37:56 +0000</pubDate>
      <link>https://dev.to/ali_haider_35a7d1f2b6ddf9/i-built-32-free-statistics-calculators-for-thesis-students-how-i-verified-the-maths-1iel</link>
      <guid>https://dev.to/ali_haider_35a7d1f2b6ddf9/i-built-32-free-statistics-calculators-for-thesis-students-how-i-verified-the-maths-1iel</guid>
      <description>&lt;p&gt;Every semester, thousands of students reach the same wall in their thesis: the statistics chapter. They need a sample size, a reliability check for their questionnaire, the right test, and a results paragraph in APA style, and the usual options are an SPSS licence, a steep R learning curve, or online calculators that print a number without explaining it.&lt;/p&gt;

&lt;p&gt;So I built &lt;a href="https://solvegrid.online" rel="noopener noreferrer"&gt;SolveGrid&lt;/a&gt;: a set of free, browser-based statistics calculators that cover the whole research workflow, from planning the sample to writing up the result. Here is how it is put together and, more importantly, how I made sure the numbers are right.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it covers
&lt;/h2&gt;

&lt;p&gt;The site follows the order a student actually works in:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Plan the study&lt;/strong&gt;: a &lt;a href="https://solvegrid.online/statistical-test-chooser" rel="noopener noreferrer"&gt;statistical test chooser&lt;/a&gt;, Slovin and Cochran &lt;a href="https://solvegrid.online/sample-size-calculator" rel="noopener noreferrer"&gt;sample size&lt;/a&gt;, and an a priori &lt;a href="https://solvegrid.online/power-analysis-calculator" rel="noopener noreferrer"&gt;power analysis&lt;/a&gt; for t-tests, ANOVA, correlation and chi-square.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check the questionnaire&lt;/strong&gt;: Cronbach's alpha, Likert weighted means, Cohen's kappa and ICC.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Run the test&lt;/strong&gt;: &lt;a href="https://solvegrid.online/t-test-calculator" rel="noopener noreferrer"&gt;t-tests&lt;/a&gt;, one-way ANOVA with Tukey HSD, chi-square, correlation, multiple regression, and the non-parametric family (Mann-Whitney, Wilcoxon, Kruskal-Wallis, Friedman, McNemar), plus Shapiro-Wilk for normality.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Report it&lt;/strong&gt;: every calculator writes an APA-style sentence, and there are guides such as &lt;a href="https://solvegrid.online/guides/how-to-report-regression-apa" rel="noopener noreferrer"&gt;how to report regression in APA style&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The stack
&lt;/h2&gt;

&lt;p&gt;It is a Next.js App Router site where every calculator page is statically pre-rendered. The calculators themselves are small client components; all of the statistics live in one plain TypeScript module of pure functions, so they can be tested outside React. Nothing is sent to a server: the data a student pastes in never leaves the browser.&lt;/p&gt;

&lt;h2&gt;
  
  
  The hard parts
&lt;/h2&gt;

&lt;p&gt;Most of the formulas are textbook, but a few distributions needed real numerical work:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Exact p-values for t, F and chi-square&lt;/strong&gt; use the regularised incomplete beta and gamma functions (continued fractions and series expansions).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tukey HSD&lt;/strong&gt; needs the studentized range distribution. I compute its CDF with a double numerical integral (Simpson's rule over the range of normals, then over the chi distribution of the denominator), and invert it by bisection for the critical value.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Power analysis&lt;/strong&gt; needs noncentral t, F and chi-square distributions. The noncentral F and chi-square use Poisson mixtures of central distributions; the noncentral t uses a single integral over the chi distribution.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Shapiro-Wilk&lt;/strong&gt; uses Royston's 1995 approximation, and the Mann-Whitney and Wilcoxon tests switch to exact distributions for small samples without ties.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How I verified it
&lt;/h2&gt;

&lt;p&gt;Every function was checked against SciPy before it shipped. For each test I wrote a small script that runs the same sample data through my TypeScript and through &lt;code&gt;scipy.stats&lt;/code&gt;, and compares the statistic, degrees of freedom, p-value and confidence interval. Examples that had to match:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Welch's t-test: t = 4.0548, df = 18.30, p = .00072&lt;/li&gt;
&lt;li&gt;One-way ANOVA with Tukey: F(2, 21) = 38.85, all three pairwise p-values and intervals&lt;/li&gt;
&lt;li&gt;Multiple regression: coefficients, standard errors, VIF, Durbin-Watson and Cook's distance&lt;/li&gt;
&lt;li&gt;Power analysis: 64 per group for d = 0.5 at alpha = .05 and 80% power, the same as G*Power&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Where I use an approximation (for example the Fisher z method for correlation power, which can differ from G*Power's exact method by one participant), the page says so.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned
&lt;/h2&gt;

&lt;p&gt;Building statistics tools is mostly an exercise in being honest about edge cases: ties, tiny samples, perfect collinearity, a column with no variance. Each one needed a clear error message rather than a silent NaN.&lt;/p&gt;

&lt;p&gt;If you teach research methods, supervise theses, or are writing one yourself, I would love feedback. The site is free, needs no sign-up, and is at &lt;a href="https://solvegrid.online" rel="noopener noreferrer"&gt;solvegrid.online&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>statistics</category>
      <category>nextjs</category>
      <category>typescript</category>
      <category>webdev</category>
    </item>
  </channel>
</rss>
