Sunil

Saragadam
Sunil

Automation test engineer. I test Wi-Fi 7, Wi-Fi 6, 5G and handsets by day, and build software people actually use.

Every device I test ends up as a script.

I write the automation that runs Wi-Fi and cellular test beds unattended, on every major OS. Python and pytest for the test logic, Playwright for device web UIs, Ansible to set up the lab, and AI agents that drive the whole thing from a sentence.

WindowsmacOSLinuxAndroidiOS
  • Python
  • pytest
  • Playwright
  • Ansible
  • MCP agents
  • LLM tooling
# Wi-Fi 7 multi-link throughput, every band pair@pytest.mark.parametrize("links", [("5g", "6g"), ("2g", "6g")])def test_mlo_throughput(testbed, links):    ap  = testbed.ap("wifi7-ap")    ap.configure(mlo=True, links=links, width=320)    sta = testbed.station("sta-1", phy="be")     sta.connect(ap.ssid, timeout=30)    result = run_traffic(sta, ap, seconds=60)     assert result.links_active == len(links)    assert result.down_mbps > 2400
2 passed in 128.4s

Things I built

Eight projects, from a watch-party app to a phone that hosts websites. Each one is running below. Open any of them for the full story.

Real-time web app

WatchWithMe

Watch anything together, in sync.

  • Play, pause, seek, speed and subtitles stay in sync for everyone in the room.
  • Video calls over WebRTC, live chat, reactions and six built-in games.
  • Pulls HLS streams out of embedded players with a headless browser.
Next.js clientSocket.io syncPeerJS callsPlaywright extractorHLS proxy

Next.js 16, React 19, TypeScript, Socket.io, PeerJS, Playwright, hls.js, WebTorrent

Night Drive
Hosted by Sunil, 4 watching
Asha jumped to 01:12:30. Everyone is synced.
00:41:07
1.0x
SSunil00:41:07
AAsha00:41:07
RRavi00:41:07
MMeera00:41:07
Raviwait, rewind that
Ashagot it
Meeratic-tac-toe after this?

SaaS platform

Creator's Studio

Publish, schedule and automate across YouTube, Instagram and Facebook.

  • AI replies to comments and DMs, with rate limits that keep accounts inside platform rules.
  • OAuth tokens are encrypted at rest in a multi-tenant vault.
  • An MCP server lets AI agents drive the whole studio.
Next.js dashboardFastAPIWebhook rulesRedis + RQGemini replies

FastAPI, Pydantic v2, SQLAlchemy 2, PostgreSQL, Redis + RQ, Next.js, Gemini, Remotion, Docker

This week10 scheduled
Mon
Studio tour
Reel: setup
Tue
Live Q&A
Wed
Carousel
Shorts x3
Thu
Tutorial
Fri
Story poll
Recap
Sat
Premiere
Sun
Behind it
Auto-replyWhen a comment asks about price, reply with AI and send the link by DM.
Replies today112 / 200
how much is the preset pack?

Android hosting platform

PocketVercel

An Android phone that deploys your GitHub repos to a public URL.

  • Runs Node.js inside the app process. No Termux.
  • Builds Next.js on ARM64 with the WASM compiler.
  • Runs Flask, FastAPI and Django in a PRoot Alpine sandbox, each tunnelled to its own path.
GitHub repoEmbedded NodeBuilderPRoot sandboxWebSocket tunnel

Node.js, Express, Capacitor 6, isomorphic-git, React, Vite, PRoot Alpine

PocketVercelBuilding
blog-next
github.com/sunil/blog-next
$ git clone --depth 1 blog-next
Installing 412 packages
$ next build --webpack
Using WASM SWC on arm64
Rewriting assets for /app/blog-next
Compiled in 48.2s
Serving on :3001
Tunnel open
Live at https://your-domain/app/blog-next/
GitHub repoNode in the appWebSocket tunnelPublic URL

Quant trading system

ProjectEdge

Swing trading on the Nifty 50, with paper money only.

  • XGBoost breakout model, trained walk-forward with no lookahead.
  • News headlines scored for sentiment by an LLM.
  • Out-of-sample backtest: Sharpe 1.61, max drawdown 4.1%, after Indian trading costs.
Dhan APISQLiteIndicatorsXGBoost + LLM sentimentPaper trader

Python, pandas, XGBoost, scikit-learn, Mistral, SQLite, Flask

RELIANCE1hPaper trading
Return, 6 months+8.43%
Sharpe ratio1.61
Max drawdown−4.10%
Win rate55.2%

Healthcare marketplace

Medico

Book a nurse, physiotherapist or doctor to your home.

  • Three apps on one backend: patient, provider and admin.
  • Live dispatch to the nearest provider with Redis geo and PostGIS.
  • Health records encrypted with AES-256-GCM. Admins sign in with TOTP.
Patient appFastify APIRedis geo dispatchPostGISProvider app

Node 22, Fastify 5, Prisma 6, PostGIS, BullMQ, Kotlin, Jetpack Compose, Next.js 15

Home physiotherapyPatient app, Gajuwaka
Booking received
Nearest provider found, 1.8 km
Provider accepted
On the way, 14 min
RK
R. Kumar
Licensed physiotherapist

Desktop AI assistant

Noxius

A see-through desktop assistant for interviews and technical calls.

  • Transcribes meeting audio live, from the mic or from system sound.
  • Reads text off any part of the screen with OCR.
  • Asks Gemini or any OpenAI-compatible model, and hides to a notch with one key.
System audioStreaming speech-to-textScreen OCRModel routerOverlay UI

C#, .NET 9, WPF, Google Speech-to-Text, Tesseract 5, SQLite, DPAPI

Noxius listening
PPriya, Interviewer
YYou
DDev, Panel
KKiran, Panel
Live transcript, system audio
Priya: How would you stop a flaky Playwright test from failing CI?

API gateway

Gemini Web2API

Gemini's web app, served as an OpenAI-compatible API.

  • Speaks three formats: OpenAI chat, the Responses API and Google's native API.
  • Tool calling and streaming on a model with no official free API.
  • Ships with nox, a terminal coding agent, plus a Cloudflare Workers build.
OpenAI clientFormat translatorGemini web sessionSSE stream

Python, httpx, Rich, prompt-toolkit, Cloudflare Workers, Chrome extension, Docker

Your app, unchangedPOST /v1/chat/completions
{
  "model": "gemini-2.5-pro",
  "stream": true,
  "tools": [{ "name": "run_tests" }],
  "messages": [{
    "role": "user",
    "content": "Why did build 412 fail?"
  }]
}
Streamed back as OpenAI SSE

AI test agent

Lab Agent

A custom CLI agent that runs network tests from plain English.

  • Its own MCP server gives the model 116 test scripts and 370 REST commands.
  • Runs remotely over SSH, mapping Windows paths onto the Linux lab host.
  • Switches to another model when one hits a rate limit.
Plain EnglishAgent loopMCP serverSSH to lab hostTest scripts

Python, MCP SDK, google-genai, Click, Rich, httpx

❯
find_script("throughput, two clients")
matched 3 of 116 scripts. Using wifi_throughput.py
ssh lab-host run wifi_throughput.py --clients 2 --band 5g --duration 60
mapped C:\tests\out to /home/lab/out
read_results(/home/lab/out/run-0412.csv)
clientdownupsta-1912 Mbps604 Mbpssta-2887 Mbps598 Mbps

What I test

My day job is making sure wireless devices do what their spec sheets say, on every band they claim.

6 GHz

Wi-Fi 7

Multi-link operation across bands, 320 MHz channels, 4096-QAM and preamble puncturing.

5 and 6 GHz

Wi-Fi 6 and 6E

OFDMA, MU-MIMO, target wake time and BSS colouring, plus station and router compatibility.

3.5 GHz n78

Cellular FWA

5G fixed wireless access CPEs: attach, throughput and stability over long runs.

Every band

Handsets

Phones as real clients: roaming, interop and performance against the access points under test.

Experience

I'm a wireless system engineer at Candela Technologies in Visakhapatnam. I automate testing across every major OS, test Wi-Fi and cellular devices, and build AI agents that run the lab. Outside work I build products end to end.

  1. May 2025 to nowWireless System EngineerCandela Technologies
    • Wi-Fi 7, Wi-Fi 6 and 6E feature and performance testing.
    • 5G fixed wireless access CPEs and handset testing.
    • Test automation across Windows, macOS, Linux, Android and iOS with Python, Playwright and Ansible.
    • AI agents that drive the test lab from plain English.
  2. EducationBTech, Information TechnologyMVGR College of Engineering

Writing

  • Feb 2026I turned a ₹200 Wi-Fi adapter into a portable sniffer
  • Jan 2026Markdown: one format, endless possibilities
  • Jan 2026Station router compatibility testing