A.K.S.

000 / 006 — MASTHEAD

RESUME ↗
AKSHAY KRISHNA SIRIGANA PORTFOLIO — ISSUE 01  ·  McMASTER BASc CS CO-OP

Software engineer working across robotics, NLP, and the web — building AI products end-to-end.

HAMILTON, ONTARIO OPEN TO CO-OP & INTERNSHIPS RESUME ↗

McMASTER '29  ·  CO-FOUNDER, ANNONTRIX ↗  ·  10 PROJECTS SHIPPED  ·  PYTHON / REACT / FASTAPI  ·  FIDE-RATED CHESS PLAYER

001 — THE LEDE01 / 06

Curious by default.

I'm a Computer Science co-op student at McMaster University who likes building the whole thing — the model, the backend, the interface, and the deploy script. Most of what I make starts with a real person's problem: a freelancer rewriting the same proposal for the tenth time, a student memorizing ninety-four physics formulae, two people planning life across a ten-and-a-half-hour timezone gap.

A thread runs through my work: software should respect the person using it. That's why my projects keep turning out local-first, bring-your-own-key, and dependency-free — a voice assistant that never sends audio to a cloud, an extension whose API key never leaves your device, a matching engine that explains its recommendations in plain language instead of exposing raw scores.

Right now I'm exploring software engineering, robotics, and natural-language processing — and looking for a co-op team that ships.

002 — SELECTED WORK02 / 06

Things I've shipped.

10 PROJECTS / 10 SHOWN

  1. Peppa — Local Voice AssistantFEATURED 2026 · PYTHON / MLX / OLLAMA

    FIG. 01 — FIVE MODELS, ONE MACHINE, ZERO CLOUD

    A Jarvis-style voice assistant that runs entirely on a laptop — no cloud, no API keys, no audio leaving the room.

    PROBLEM
    Voice assistants ship your voice, questions, and files to someone else's servers. I wanted Jarvis-grade help with nothing leaving the machine.
    APPROACH
    Five on-device models (14B chat, 32B reasoning, coder, vision, embeddings) behind a router with five thinking modes — the deepest one plans, investigates with tools, then has a second model red-team the draft before it's spoken. Speech streams sentence-by-sentence while the answer is still generating, with barge-in interruption. For arithmetic it refuses to guess in-weights and instead writes and runs Python in a sandbox.
    STACK
    Python 3.12 · Ollama (Qwen2.5) · MLX-Whisper · on-device TTS voice cloning · PySide6 · local RAG · sandboxed code execution
    OUTCOME
    Sub-2-second voice-to-voice latency, 46 tool skills, and a deterministic reflex layer that keeps it answering even with the LLM runtime fully offline.

    16,400+ LINES242 TESTS46 SKILLS5 LOCAL MODELS

  2. Argus — Government Intelligence PlatformFEATURED 2026 · NEXT.JS / FASTAPI / GEMINI

    FIG. 02 — SIGNALS → CAPABILITIES → OUTREACH

    Know what governments need before they post the RFP.

    PROBLEM
    Startups discover government procurement opportunities after the RFP drops — too late to prepare or shape the bid.
    APPROACH
    Monitor procurement signals in real time, match them to startup capability profiles using Gemini 2.5 Flash plus semantic embeddings, and generate personalized outreach — all visualized on an interactive Three.js globe of live global signals.
    STACK
    Next.js · React · Three.js · Tailwind · Framer Motion · FastAPI · Python · Gemini 2.5 Flash · semantic embeddings
    OUTCOME
    85%+ match accuracy with sub-3-second responses. Built at Mac-a-thon 2026 with a cross-university team of four (McMaster, TMU, UofT).

    >85% ACCURACY<3s RESPONSELIVE SIGNALSTEAM OF 4

  3. MentorMatch — Explainable Matching Engine 2026 · REACT / SUPABASE / SQL

    FIG. 03 — SCORING THAT EXPLAINS ITSELF

    A mentor-recommendation engine that lives inside Postgres and gives students reasons, never raw scores.

    PROBLEM
    Students on a mentorship platform picked mentors from a flat directory; naive match scores are either opaque or uncomfortable to show.
    APPROACH
    A weighted compatibility engine as a security-definer plpgsql RPC — normalized 0–100 scoring across admin-tunable dimensions with cached score rows. Privacy by design: no student can read the scores table; the API returns only ranked mentors with plain-language reasons. Then a zero-behavior-change modular refactor of the production portal, verified against the pre-refactor codebase, and a WCAG-AA design-token redesign.
    STACK
    React 18 · Vite · Supabase (Postgres, RLS, plpgsql) · Deno Edge Functions · Cloudflare R2 · Vercel
    OUTCOME
    644 lines of SQL across 4 migrations; a 92-file refactor (+6,599 / −3,029 lines) with byte-level behavior parity. My end of a two-person product team.

    644 LINES SQL92-FILE REFACTORWCAG AATEAM OF 2

  4. ProposalPilot — BYOK Proposal Drafter 2026 · CHROME MV3 / VANILLA JS

    FIG. 04 — JOB POST IN, PROPOSAL OUT

    A Chrome side-panel extension that turns any job post into a tailored freelance proposal — on your own API key.

    PROBLEM
    Freelancers rewrite near-identical proposals all day, and most AI helpers route their clients' job posts through a third-party server.
    APPROACH
    Bring-your-own-key architecture: the browser talks directly to OpenAI, Anthropic, or Gemini — no backend at all. Reads the job post from the page (selection first, then an article-heuristic DOM walk), drafts in the freelancer's voice, and inserts the result into the reply box using the native value setter with synthetic events so React-controlled textareas accept it.
    STACK
    Chrome Extensions MV3 · Side Panel API · optional host permissions · vanilla ES modules · Node test harness
    OUTCOME
    ~950 lines including tests, zero runtime dependencies, and a pure-function AI layer unit-tested in Node across all three providers.

    3 PROVIDERS0 BACKEND0 DEPENDENCIES~950 LINES

  5. Dimension Dash — Physics as a Game 2026 · VANILLA JS / WEB AUDIO

    FIG. 05 — 94 FORMULAE, 6 MODES, 1 SCHEDULER

    A spaced-repetition study game that teaches all 94 dimensional formulae from Class 11 physics.

    PROBLEM
    Dimensional formulae are a classic exam trap — 94 near-identical expressions that students usually brute-force by rote.
    APPROACH
    A custom SM-2/Leitner spaced-repetition scheduler drives six exam-aligned game modes — including a Build Lab where formulae are assembled from exponent bricks. Confusion sets are computed at runtime by grouping quantities with identical dimensions, and anchor formulae are force-surfaced first so the rest can be derived, not memorized.
    STACK
    Vanilla JS/HTML/CSS · Web Audio synthesis · versioned localStorage · zero dependencies
    OUTCOME
    ~3,000 dependency-free lines with a 94-cell mastery heatmap, JSON export/import, pre-paint theming, and reduced-motion support.

    94 FORMULAE6 GAME MODES0 DEPENDENCIES~3,000 LINES

  6. Duet — Offline-First Planner PWA 2026 · VANILLA JS / NODE STDLIB

    FIG. 06 — TWO TIMEZONES, ONE STATE

    A collaborative planner for two people in timezones 10.5 hours apart — built from scratch with zero packages.

    PROBLEM
    Shared calendars assume the same timezone, need accounts in someone's cloud, and fall over offline.
    APPROACH
    A last-write-wins merge-by-id sync algorithm implemented identically on client and server, so devices can edit offline and reconcile deterministically on reconnect. Live sync over Server-Sent Events; per-user timezone math with the Intl API, including day-boundary handling; a mutual free-time finder that intersects both schedules; and an optional AI assistant served by a local LLM.
    STACK
    Vanilla JS · Node standard library only (319-line backend) · SSE · Service Workers · Intl API · Ollama
    OUTCOME
    ~6,000 hand-written lines, zero npm packages, five calendar views, atomic write-then-rename persistence.

    0 NPM PACKAGES~6,000 LINES5 VIEWS319-LINE BACKEND

  7. Tejimola — The Blossom from Clay 2026 · UNITY / C#

    FIG. 07 — FOUR ACTS, ONE FOLKTALE

    A 90-minute narrative adventure bringing an Assamese folktale to life.

    PROBLEM
    Regional folktales rarely make it into games; I wanted to celebrate Assamese heritage with mechanics that serve the story.
    APPROACH
    Four acts with four distinct mechanics — exploration, stealth, rhythm, and a boss battle — across a 2.5D world. Event-driven systems throughout: adaptive audio, JSON-driven branching dialogue, and a dspTime-based rhythm engine.
    STACK
    Unity · C# · event-driven architecture · AI-assisted development workflow
    OUTCOME
    A complete, playable 90-minute experience across four acts.

    90 MINUTES4 ACTS2.5D WORLDRHYTHM ENGINE

  8. NeonDrift — Arcade Runner 2026 · HTML5 CANVAS / VANILLA JS

    FIG. 08 — SIXTY FRAMES, ZERO DEPENDENCIES

    A high-octane browser arcade runner in pure Canvas — built at DeltaHacks XI.

    PROBLEM
    Make a browser game feel arcade-tight using nothing but the platform.
    APPROACH
    Hand-rolled physics loop and renderer on HTML5 Canvas with dynamic difficulty scaling, combo-chain scoring, and powerups — shield, magnet, slow-motion. Keyboard, touch, and drag controls for desktop and mobile.
    STACK
    HTML5 Canvas · vanilla JavaScript · PWA architecture
    OUTCOME
    A consistent 60 FPS render target, cross-platform controls, and offline play.

    60 FPS0 DEPENDENCIESPWACROSS-PLATFORM

  9. Petal — Cycle Tracker for Android 2026 · KOTLIN / JETPACK COMPOSE

    FIG. 09 — NATIVE, PRIVATE, ON-DEVICE

    An Android-native period and cycle tracker built with modern app architecture.

    PROBLEM
    Cycle tracking is deeply personal data — it deserves a native, local-first home rather than an ad-funded app.
    APPROACH
    Kotlin and Jetpack Compose UI over a repository architecture: Room database with DAOs for cycles and daily fertility logs, Health Connect integration, pattern-flag insights, and an education library — 144 Kotlin files in a clean data/domain/presentation split.
    STACK
    Kotlin · Jetpack Compose · Room · Health Connect · Retrofit
    OUTCOME
    A working native app with offline-first storage and Health Connect sync.

    144 KOTLIN FILESROOM + DAOsHEALTH CONNECT

  10. Music Player — Streaming Audio App 2026 · REACT NATIVE / TYPESCRIPT

    FIG. 10 — QUEUE SURVIVES THE RESTART

    A full-featured streaming music player with background audio and a persistent queue.

    PROBLEM
    Build a real music app — not a demo: search, background playback, and state that doesn’t reset every launch.
    APPROACH
    Expo dev-client app with debounced infinite-scroll search, full playback via expo-av with background support, a mini-player synced with the full player across screens, shuffle and repeat modes, and queue persistence in MMKV for synchronous O(1) reads.
    STACK
    React Native (Expo) · TypeScript · Zustand · expo-av · MMKV · React Navigation
    OUTCOME
    A standalone Android build with background audio and a queue that survives app restarts.

    BACKGROUND AUDIOMMKV PERSISTENCETYPESCRIPT

003 — CAPABILITIES03 / 06

Tools of the trade.

COUNTS ARE LIVE — SELECT A SKILL TO SEE IT IN THE INDEX ABOVE.

LANGUAGES

  • JAVA
  • C

FRAMEWORKS & RUNTIMES

AI & SYSTEMS

  • LINUX & SELF-HOSTING
  • ARDUINO
  • GOOGLE CLOUD
004 — THE RECORD04 / 06

The record so far.

  1. 2026–NOW

    Annontrix — Co-founder

    A software studio in Hamilton, Ontario: custom software, websites, and mobile apps for businesses, and portfolio websites for high-school and university students. annontrix.vercel.app ↗

    COMPANY
  2. 2025–2029

    McMaster University — BASc Computer Science (Co-op)

    Hamilton, Ontario. Coursework across Python, computational thinking, software development, C & Linux, linear algebra, and discrete math.

    EDUCATION
  3. JUN–JUL 2026

    MentorMatch — Product Engineering (two-person team)

    Designed and shipped the mentor-matching subsystem end-to-end on a live mentorship platform, then led a verified zero-behavior-change refactor and a WCAG-AA redesign of the portal and marketing site.

    PRODUCT
  4. MAY 2022

    SysIdea Lab, IIT Gandhinagar — Robotics Research Intern

    Prototyped robotic components with 3D CAD, laser cutting, and 3D printing; assisted experimentation, debugging, and performance analysis at the hardware–software boundary.

    RESEARCH
  5. 2024

    House Captain — Student Council, JNS

    Led the house to the Sports, Cultural, and overall House trophies in a single year — the first time in a decade.

    LEADERSHIP
005 — OFF HOURS05 / 06

Away from the keyboard.

FIG. 11 — THE ITALIAN GAME, THREE MOVES IN

♞ CHESS

FIDE-rated player. This board is live: make a move as White and it lands on my desk — I reply to every game. House rules: no castling, no en passant, capture the king to win.

🏸 BADMINTON

Fast rallies, faster footwork — the other kind of reaction time.

♪ MUSIC

Always playing something — usually while debugging.

OPEN TO SOFTWARE · ROBOTICS · NLP CO-OP ROLES

006 — CONTACT06 / 06

Let's talk.

I'm actively looking for co-op and internship opportunities in software engineering, robotics, and NLP. If your team ships, I'd love to hear from you.

— Akshay