Repository navigation
Expand file tree
/
Copy pathindex.html
More file actions
347 lines (311 loc) · 18.5 KB
/
Copy pathindex.html
File metadata and controls
347 lines (311 loc) · 18.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<title>Sparsh Sharma — student, builder, Melbourne</title>
<meta name="description" content="I'm Sparsh — an engineering & business student at RMIT in Melbourne who loves Muay Thai, music, art, and making careful things with code. A personal note on who I am and how I hope my work can help.">
<meta name="author" content="Sparsh Sharma">
<link rel="canonical" href="https://spalsh-spec.github.io/">
<link rel="icon" type="image/svg+xml" href="/favicon.svg">
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="alternate" type="application/rss+xml" title="Sparsh Sharma — blog" href="/feed.xml">
<meta name="theme-color" content="#f3eee5">
<meta property="og:type" content="website">
<meta property="og:url" content="https://spalsh-spec.github.io/">
<meta property="og:title" content="Sparsh Sharma — student, builder, Melbourne">
<meta property="og:description" content="Engineering & business student at RMIT. Muay Thai, music, art, and careful code. A note on who I am and how I hope my work can help.">
<meta property="og:image" content="https://spalsh-spec.github.io/og-image.png">
<meta property="og:locale" content="en_AU">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="Sparsh Sharma — student, builder, Melbourne">
<meta name="twitter:description" content="Engineering & business student at RMIT. Muay Thai, music, art, and careful code.">
<meta name="twitter:image" content="https://spalsh-spec.github.io/og-image.png">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Noto+Serif+Devanagari:wght@400;500&display=swap" rel="stylesheet">
<style>
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:17px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;
-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
:root{
--paper:#f3eee5; --paper-deep:#ebe4d6;
--ink:#1c1611; --ink-soft:#3d342a; --ink-faint:#7a6f63;
--rule:#cbbfa8; --accent:#9c4a1a; --accent-deep:#5e2a0e; --gold:#9d8147;
}
body{background:var(--paper);color:var(--ink);
font-family:"EB Garamond","Garamond","Adobe Garamond Pro",Georgia,"Times New Roman",serif;
line-height:1.55;overflow-x:hidden;
padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.sans{font-family:"Helvetica Neue","Helvetica","Arial",sans-serif}
.deva{font-family:"Noto Serif Devanagari","Sanskrit Text","Adobe Devanagari",serif}
a{color:var(--accent);text-decoration:none}
.container{max-width:46rem;margin:0 auto;padding:0 2rem}
section{padding:5rem 0;border-bottom:1px solid var(--rule)}
section:last-of-type{border-bottom:none}
.eyebrow{font-family:"Helvetica Neue",sans-serif;font-size:.7rem;letter-spacing:.28em;
text-transform:uppercase;color:var(--accent);margin-bottom:1.4rem;font-weight:600}
nav.top{position:absolute;top:0;left:0;right:0;padding:2rem;
display:flex;justify-content:space-between;align-items:center;z-index:10}
nav.top .mark{font-size:1rem;letter-spacing:.05em;color:var(--ink)}
nav.top .mark b{color:var(--accent);font-weight:500;font-style:italic}
nav.top a.gh{font-family:"Helvetica Neue",sans-serif;font-size:.7rem;letter-spacing:.2em;
text-transform:uppercase;color:var(--ink-soft)}
nav.top a.gh:hover{color:var(--accent)}
.hero{min-height:88vh;display:flex;flex-direction:column;justify-content:center;
position:relative;border-bottom:1px solid var(--rule);padding:7rem 0 5rem}
.hero .container{max-width:46rem}
.hero-mark{font-size:.95rem;letter-spacing:.34em;color:var(--ink-faint);
margin-bottom:2rem;text-transform:uppercase}
.hero h1{font-size:clamp(2.4rem,7vw,4.6rem);font-weight:400;letter-spacing:-.01em;
line-height:1.08;margin-bottom:1.6rem}
.hero h1 em{font-style:italic;color:var(--accent);font-weight:400}
.hero .deva-stamp{font-size:1.4rem;color:var(--gold);margin:.4rem 0 1.4rem;letter-spacing:.05em}
.hero .tagline{font-size:clamp(1.05rem,1.4vw,1.25rem);color:var(--ink-soft);
font-style:italic;max-width:34rem}
h2{font-size:clamp(1.7rem,4vw,2.5rem);font-weight:400;letter-spacing:-.005em;
line-height:1.2;margin-bottom:1.4rem;color:var(--ink)}
h2 em{font-style:italic;color:var(--accent)}
p{font-size:1.12rem;line-height:1.72;color:var(--ink-soft);margin-bottom:1.3rem;max-width:42rem}
p.lead{font-size:1.3rem;line-height:1.55;color:var(--ink);font-style:italic;margin-bottom:2rem}
p strong{color:var(--ink);font-weight:600}
p a{border-bottom:1px solid var(--accent);padding-bottom:1px}
.loves{list-style:none;margin:1.8rem 0 0;border-top:1px solid var(--rule)}
.loves li{padding:1.3rem 0;border-bottom:1px solid var(--rule);
display:grid;grid-template-columns:9rem 1fr;gap:1.4rem;align-items:baseline}
.loves .k{font-family:"Helvetica Neue",sans-serif;font-size:.72rem;letter-spacing:.16em;
text-transform:uppercase;color:var(--accent);font-weight:600;padding-top:.15rem}
.loves .v{font-size:1.06rem;color:var(--ink-soft);line-height:1.6}
.pull{border-left:2px solid var(--accent);padding-left:1.8rem;margin:2.4rem 0 0;
font-size:1.3rem;font-style:italic;color:var(--ink);line-height:1.5;max-width:40rem}
.works{margin-top:1.8rem;border-top:1px solid var(--rule)}
.work{padding:1.6rem 0;border-bottom:1px solid var(--rule)}
.work h3{font-size:1.2rem;font-weight:500;color:var(--ink);margin-bottom:.3rem}
.work p{font-size:1rem;margin:0 0 .5rem;max-width:38rem}
.work a.link{font-size:.95rem;color:var(--accent);border-bottom:1px solid var(--accent);padding-bottom:1px}
.more{margin-top:1.6rem;font-size:1rem}
.more a{border-bottom:1px solid var(--accent);padding-bottom:1px}
.writing{list-style:none;margin-top:1.6rem;border-top:1px solid var(--rule)}
.writing li{padding:1.3rem 0;border-bottom:1px solid var(--rule)}
.writing a{color:var(--ink);font-size:1.12rem;font-style:italic;
border-bottom:1px solid var(--rule);padding-bottom:1px}
.writing a:hover{color:var(--accent);border-bottom-color:var(--accent)}
.writing .when{display:block;font-family:"Helvetica Neue",sans-serif;font-size:.66rem;
letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin-top:.5rem}
.contact{text-align:center}
.contact h2{margin-bottom:1.8rem}
.contact .cta{display:inline-block;font-family:"Helvetica Neue",sans-serif;font-size:.78rem;
letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--paper);
background:var(--accent);padding:1.05rem 2.4rem;border-radius:2px}
.contact .cta:hover{background:var(--accent-deep)}
.contact .also{margin:1.6rem auto 0;font-family:"Helvetica Neue",sans-serif;font-size:.8rem;color:var(--ink-faint)}
.contact .also a{color:var(--ink-soft);border-bottom:1px solid var(--rule);padding-bottom:1px}
.contact .also a:hover{color:var(--accent);border-bottom-color:var(--accent)}
footer{background:var(--ink);color:var(--paper);padding:4rem 0 2.6rem}
footer .container{max-width:46rem}
footer .mark{font-size:1.15rem;letter-spacing:.05em;margin-bottom:1.6rem}
footer .mark b{color:var(--accent);font-style:italic;font-weight:500}
footer .links{display:flex;flex-wrap:wrap;gap:1.6rem;margin-bottom:2rem}
footer a{color:var(--paper);font-size:.95rem;opacity:.85}
footer a:hover{opacity:1;color:var(--accent)}
footer .legal{border-top:1px solid rgba(255,255,255,.15);padding-top:1.8rem;
font-family:"Helvetica Neue",sans-serif;font-size:.68rem;letter-spacing:.1em;opacity:.55}
footer .legal .deva{color:var(--accent);opacity:.95;font-size:.85rem;letter-spacing:.1em}
@media (max-width:640px){
html{font-size:16px}
.container{padding:0 1.4rem}
section{padding:3.6rem 0}
nav.top{padding:1.2rem 1.4rem}
.hero{min-height:auto;padding:7rem 0 4rem}
.hero h1{font-size:2.1rem;line-height:1.12}
.hero .deva-stamp{font-size:1.15rem}
.hero .tagline{font-size:1.05rem}
h2{font-size:1.55rem}
p{font-size:1.04rem}
p.lead{font-size:1.14rem}
.loves li{grid-template-columns:1fr;gap:.3rem}
.loves .k{padding-top:0}
.pull{font-size:1.12rem;padding-left:1.1rem}
*{max-width:100%}
}
</style>
</head>
<body>
<nav class="top">
<span class="mark">Sparsh <b>Sharma</b></span>
<a class="gh" href="https://github.com/spalsh-spec">GitHub ↗</a>
</nav>
<!-- ─── Hero ─────────────────────────────────────────────── -->
<header class="hero">
<div class="container">
<p class="hero-mark">Melbourne · Student · Builder</p>
<h1>Hi, I'm Sparsh. I like making careful things — and I want them to <em>help.</em></h1>
<div class="deva-stamp">सत्यमेव जयते</div>
<p class="tagline">
Engineering & business student at RMIT. Muay Thai, music, art, and code.
Trying to build things that are honest enough to be trusted.
</p>
</div>
</header>
<!-- ─── Who I am ─────────────────────────────────────────── -->
<section id="about">
<div class="container">
<p class="eyebrow">Hello</p>
<h2>A short, honest <em>introduction.</em></h2>
<p class="lead">
I'm a maker at heart — happiest when I'm learning something hard and turning it
into something real that someone can actually use.
</p>
<p>
I'm studying <strong>BH111 at RMIT</strong> — a double degree in Electronic & Computer
Systems Engineering (Honours) and Business. I chose both on purpose: I love understanding
how a thing works all the way down to the hardware, and I care just as much about how it
reaches people and earns their trust. The engineering teaches me to be precise; the business
side keeps me honest about whether the work is actually useful to anyone.
</p>
<p>
Outside the screen, a few things keep me steady:
</p>
<ul class="loves">
<li><span class="k">Muay Thai</span><span class="v">The discipline I lean on most. It's taught me to stay calm under pressure, take a hit, and get back up — which turns out to be most of engineering too.</span></li>
<li><span class="k">Music & Art</span><span class="v">Where my ideas get room to breathe. I think the best technical work has a bit of craft and taste in it, not just correctness.</span></li>
<li><span class="k">Learning</span><span class="v">I genuinely can't stop. Maths, retrieval systems, ancient texts, how a small business actually runs — if it's hard and real, I want to understand it.</span></li>
<li><span class="k">Making things</span><span class="v">Code is my favourite material. I like shipping small, careful tools that solve a real problem for a real person.</span></li>
</ul>
<p style="margin-top:1.6rem">
For what it's worth: I captained a cricket club to a championship, I'm a certified open-water
diver, and I spent a couple of years in customer-facing work that taught me people come before
product. I try to bring that same care into everything I build.
</p>
</div>
</section>
<!-- ─── How my work can help ─────────────────────────────── -->
<section id="why">
<div class="container">
<p class="eyebrow">Why I build</p>
<h2>I want my work to leave the world a little more <em>trustworthy.</em></h2>
<p class="lead">
Right now, AI is being trusted faster than it's being tested. That worries me — so it's
where I've pointed my work.
</p>
<p>
Most of what I do comes down to one quiet idea: <strong>don't claim what you can't prove.</strong>
My main project, <a href="https://github.com/spalsh-spec/falsify-eval">falsify-eval</a>, is a small
open-source tool that catches AI systems which look right but aren't — and I gave it away under
an open licence on purpose, so it can become a shared standard rather than something I sell.
Good methodology helps more people when it's free.
</p>
<p>
The same care goes into the products. <a href="https://siteiq-iota.vercel.app">SiteIQ</a> exists
to take the spreadsheet-and-lost-message chaos out of running a small operations business — the
kind of unglamorous tool that genuinely gives a small team their evenings back.
</p>
<p>
And the work isn't only for people who can pay for it. Through
<a href="https://spalsh-spec.github.io/bhardwaj-and-sons/">Bhardwaj & Sons</a> — the family
house I build under — I'm committing a standing share of everything I do to putting AI tools in
the hands of non-profits and underserved communities, starting in India and Australia. The names
and the audited figures get published. Nothing said that can't be verified — that's the whole point.
</p>
<div class="pull">
"When my own results fail, I publish that too. The retraction is what earns the rest of the numbers their weight."
</div>
</div>
</section>
<!-- ─── What I'm building ────────────────────────────────── -->
<section id="building">
<div class="container">
<p class="eyebrow">What I'm building</p>
<h2>A few things I've shipped.</h2>
<div class="works">
<div class="work">
<h3>falsify-eval</h3>
<p>An open-source falsification harness that catches retrieval and ranking systems which look right but aren't. v0.1.6, on PyPI, Apache 2.0.</p>
<a class="link" href="https://github.com/spalsh-spec/falsify-eval">View on GitHub →</a>
</div>
<div class="work">
<h3>Vāk-Kaṇaja & the research line</h3>
<p>A sovereign Sanskrit retrieval engine — 3-channel fusion (FAISS + BM25 + prosodic) grounded in Pāṇini's grammar, with >2× nDCG@5 over the baseline on Sanskrit benchmarks.</p>
<a class="link" href="https://github.com/spalsh-spec/vak-kanaja">View on GitHub →</a>
</div>
<div class="work">
<h3>Akasha Pantheon</h3>
<p>An empirical study on structured-output adherence across model scales — and the prompting framework it produced. Small models follow schema precisely but hallucinate; larger models cite real papers but bend the format. Data published.</p>
<a class="link" href="https://github.com/spalsh-spec/akasha-pantheon">View on GitHub →</a>
</div>
<div class="work">
<h3>Niche Intelligence</h3>
<p>A creator-intelligence tool that scores YouTube content via fuzzy logic, mines patterns behind the winners, then actively tries to falsify each pattern before trusting it. Surviving signals become ready-to-shoot content briefs.</p>
<a class="link" href="https://github.com/spalsh-spec/niche-intelligence">View on GitHub →</a>
</div>
<div class="work">
<h3>swaraj-poly-agent</h3>
<p>An autonomous Polymarket prediction trader using Hurst exponent regime detection and corrected half-Kelly bet sizing. Runs every 15 min, has daily-loss circuit-breakers, and ships a self-refreshing P&L dashboard. Default is dry-run.</p>
<a class="link" href="https://github.com/spalsh-spec/swaraj-poly-agent">View on GitHub →</a>
</div>
<div class="work">
<h3>SiteIQ</h3>
<p>Run a commercial cleaning business from one screen — sites, contractors, clean records and risk alerts, all in sync. Live on Vercel with a real Supabase backend.</p>
<a class="link" href="https://siteiq-iota.vercel.app">Open the app →</a>
</div>
</div>
<p class="more">
I also collaborate with <strong>RMIT's Mathematics Department</strong> (under Prof. Lewi Stone),
building learning resources and rebuilding the department's site so good teaching is easier to reach.
<a href="https://spalsh-spec.github.io/proof/">Full proof of work →</a>
</p>
</div>
</section>
<!-- ─── Writing ──────────────────────────────────────────── -->
<section id="writing">
<div class="container">
<p class="eyebrow">Writing</p>
<h2>Notes from the bench.</h2>
<ul class="writing">
<li>
<a href="/blog/corpus-drift-trap.html">The corpus drift trap: why your RAG's nDCG is probably lying to you</a>
<span class="when">1 May 2026</span>
</li>
<li>
<a href="/blog/wiring-up-dead-code.html">Wiring up dead code: how I found +1.9% nDCG sitting unused in my own repo</a>
<span class="when">1 May 2026</span>
</li>
<li>
<a href="/blog/dossier-to-validated-lift.html">From dossier prediction to validated lift: 8 of 10 items shipped</a>
<span class="when">1 May 2026</span>
</li>
</ul>
<p class="more"><a href="/blog/">All posts →</a> · <a href="/feed.xml">RSS</a></p>
</div>
</section>
<!-- ─── Contact ──────────────────────────────────────────── -->
<section id="contact" class="contact">
<div class="container">
<h2>Say hello.</h2>
<a class="cta" href="mailto:sparshsharma219@gmail.com">Get in touch →</a>
<p class="also">
I'm always up for a conversation about honest AI, low-resource languages, Muay Thai, or building
something good. <a href="https://github.com/spalsh-spec">GitHub</a> · <a href="mailto:sparshsharma219@gmail.com">sparshsharma219@gmail.com</a>
</p>
</div>
</section>
<!-- ─── Footer ───────────────────────────────────────────── -->
<footer>
<div class="container">
<div class="mark">Sparsh <b>Sharma</b></div>
<div class="links">
<a href="/proof/">Proof of Work</a>
<a href="/blog/">Writing</a>
<a href="https://spalsh-spec.github.io/bhardwaj-and-sons/">Bhardwaj & Sons</a>
<a href="https://github.com/spalsh-spec">GitHub</a>
<a href="mailto:sparshsharma219@gmail.com">Email</a>
</div>
<div class="legal">
<span class="deva">नेति · नेति</span> · © <span id="yr">2026</span> Sparsh Sharma · Melbourne, Australia
</div>
</div>
</footer>
<script>document.getElementById('yr').textContent=new Date().getFullYear();</script>
</body>
</html>