[ data analyst & ai/ml engineer, in the making ]

ShivashantManohar

I find patterns in data.

Final-year CS (AI & ML) at VIT-AP. I build things end to end, then test them against a baseline designed to beat them.

See the work GitHub

[ how i work ]

Most of what I know came from building things end to end, then trying to prove they don’t work. When the answer is no, that becomes the headline, not a footnote.

Selected work

[ three projects · each checked against something built to beat it ]

  1. 01The First SongReinforcement learning, audioJust started
  2. 02Cover Song RetrievalMachine learning, retrievalComplete
  3. 03CoilData analysis, backtestingLive, negative result

birds calling, 1630 → agents calling, 2026

Concert of BirdsFrans Snyders, c. 1630 · oil on canvas
Spectrograms of two short synthesised calls, from The First Song's build guide.
Two synthesised callsThe First Song, 2026 · mel spectrogram

[ 01 · currently working on, just started ]

The First Song

When agents share one channel, do they divide it up, or learn to decode the mix?

Reinforcement-learning agents learning to communicate through sound. A sender answers with a few notes; a listener that hears only noisy audio has to act on it. Nothing rewards sounding musical. The Chorus puts two, then three, then four pairs on one channel against matched private channels, and “no change” is a valid outcome.

chorus · resultsjust started

no runs yet

tests written before runs2 → 3 → 4 pairs

one song, many players → one song, two recordings

The MusiciansCaravaggio, c. 1595 · oil on canvas
Chroma of two recordings of the same song with lines joining the frames that dynamic time warping matched.
One song, two recordingsCover Song Retrieval · chroma, aligned by DTW

[ 02 · complete, below published systems ]

Cover Song Retrieval

Can a machine recognise a song it has never heard?

A small encoder shortlists 30 of 15,000 candidates; subsequence DTW aligns each one frame by frame. The first full-benchmark run lost to classical alignment by 4.5×. Error analysis found why, and three more runs closed the gap to 1.11×. Still below published systems, and the write-up says so.

Case study Build notes Live

gap to best system · lower is better4 runs

4.5×run 1
2.2×run 2
2.0×run 3
1.11×run 4
parity

13,000 queries · 142 tests38 ms / query

weighing coins, 1514 → weighing a pattern, 2026

The Moneylender and His WifeQuentin Massys, 1514 · oil on panel
Coil's banner: a stock chart with pullbacks of 24, 13, 6 and 3 percent under a pivot line.
The pattern Coil looks forCoil · volatility contraction, NSE

[ 03 · live, negative result ]

Coil

Does a famous chart pattern beat buying on a random day?

A screener for Mark Minervini’s Volatility Contraction Pattern across about 2,300 NSE stocks, beside a ten-year backtest built to disprove it: every signal rebuilt from only what was known on that date, then compared with random entries at the same risk. The random entries won, and the app says so on its front page.

Case study Live app

ten-year backtest · 8 positionssame risk

CAGR

pattern11.0%
random22.3%

worst drawdown

pattern74%
random55%

2,300 stocks · 402 testsrandom won

Also built

[ smaller builds, written from scratch ]

[ skills · pick one to see where i used it ]

Tools and ideas, joined by where I used them.

/python Used across every project here.

patterns, 1923 → patterns in data, 2026

Composition VIIIWassily Kandinsky, 1923 · oil on canvas

[ about ]

A classical musician becoming an engineer.

Final-year CS (AI & ML) at VIT-AP, working toward data analyst and AI/ML engineering roles. I write the model, the pipeline and the evaluation myself, then check the numbers until they hold up or fall apart.

The projects here are not finished products. Each one taught me something measurable, including two that said no.

Ping me..