Skip to content
View IRSPlays's full-sized avatar

Highlights

  • Pro

Block or report IRSPlays

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
IRSPlays/README.md
Cypher the pixel-art fox, with a typing banner for Haziq (IRSPlays)

Systems Architect · AI/IoT Engineer · Founder of Asirive Singapore · "Failing with Honour."

Website Asirive GitHub HackerOne


Cypher idling and blinking
Cypher
mascot, co-engineer,
resident fox

About me

I'm Haziq. I bridge high-level multimodal AI with low-level edge hardware. I build accessible, high-performance systems: assistive wearables, an in-house edge language model, a decentralized triage engine, on-device vision apps, and competition infrastructure.

I document failures openly, including a "renovation graveyard" of post-mortems on designs that didn't work. Bugs are necessary renovations for character.

I won the TKKYIA 2026 Merit Award with a team of three from Admiralty Secondary, where I led the systems side.


Asirive: ambient intelligence and hardware

I founded Asirive to build ambient software and assistive hardware. Two products are the core of it, and the team page lists the people behind it.

Asirive Cortex

Cortex is spoken navigation for blind and partially sighted cane users, co-designed with the Singapore Association for the Visually Handicapped (SAVH). It is built around one idea: the white cane already handles the ground, so Cortex stays quiet about that and only speaks up about what a cane can't catch.

Cortex V3: glasses with dual cameras, connected by one USB-C cable to the Raspberry Pi 5 pocket unit
Cortex V3: dual-camera glasses and the Raspberry Pi 5 pocket unit, joined by a single USB-C cable
A team member wearing the Cortex V3 glasses
Worn: a lighter, open-ear build
A field test with an SAVH participant using Cortex with a white cane
Field testing with an SAVH participant, white cane in hand

How it evolved, one round of user feedback at a time

Version Build What we learned
V1 ESP32-CAM streaming frames to a laptop Slow, but it proved the concept
V2 Raspberry Pi Compute Module 5 with an AI accelerator, on-device models The shoulder strap was uncomfortable
V3 Raspberry Pi 5 + Hailo-8L, glasses-mounted dual camera, pocket unit on one USB-C cable The build that won the TKKYIA 2026 Merit Award
V4 (in progress) Refactored software, local navigation on my own model, a companion app, rebuilt glasses

Design decisions that matter

  • Cane-aware safety: it only warns about overhead hazards and fast-moving objects, never ground clutter the cane already finds
  • Reflexes stay local: hazard detection (YOLO on the Hailo accelerator) runs on-device in under 100 ms, with no network
  • Two voices: conversation and critical safety warnings use different TTS voices, switchable within 100 ms, so you can tell them apart by ear
  • The cloud only when it helps: Gemini Live for conversation, plus routing and bus arrival times, with memory synced in the background
  • Tested with the people who use it: a year of SAVH field sessions (2025 to 2026)

Repo · Product page

Asirive Aether

Aether is an in-house edge LLM (REV 0.1, in development, formerly SNAP-C1), trained from scratch on a single consumer GPU.

  • About 187M parameters with a custom architecture mixing PolyMamba2 (state-space) and CC-FSA (frequency attention), plus Mixture-of-Depths routing
  • Trained and run on one AMD RX 7600 (8 GB) using ROCm/HIP on Windows 11
  • About 26.30 BF16 TFLOPS sustained, roughly 3,900 to 4,200 training tokens per second
  • 6.55B-token training target, 116 passing tests

Repo · Product page


Cyph and VectorM: a fox with a body

Cypher talking Cypher idling Cypher listening

Cyph, the Furry Engineer started as a terminal pet for a robot arm and grew into a small system: a personal co-engineer with a body. It lives on my desktop and my phone, plans my day with me, remembers me, talks, and moves a real 6-joint arm (VectorM, below).

Cyph desktop app home page: pixel face, today's plan, arm joints, chat
The desktop app. Screens here are the real UI running on sample data, not my own calendar or chats.

The system

  • 24/7 server on a home machine: the brain, planner and memory, over pinned TLS with per-device revocable tokens
  • Desktop and Android apps: one React UI wrapped with Tauri 2, with Rust owning the network
  • Native Android widgets and notifications that keep working when the app is closed
  • Telegram bot for when I'm away from both
  • Local-first brain: a Qwen model for chat and arm commands, with harder questions routed to Gemini under a daily cap

What he does

  • Planner: day, week, month and agenda views, typed quick-add, recurring items, conflict detection
  • Long-term memory: capped Markdown files, curated in the background and reviewed nightly, with secrets filtered out
  • Voice: Silero VAD, streaming speech-to-text, TTS, barge-in and a "Hey Cyph" wake word
  • Speaks first, sparingly: morning brief, heads-ups before things start, quiet hours
  • Moves the arm by words or by a job: "pick up the red pen" streams the camera to Gemini Robotics-ER and runs its tool calls on the body
Phone app tour: chat, plan, month, agenda, add item
The phone app
The Arm page: camera, joints, expressions, telemetry and e-stop
The Arm page (mock camera and arm agent)
Cyph's strip widget on my real home screen
Widget on my real home screen
A Cyph reminder notification
A reminder card, with his face as the avatar
flowchart LR
    You([You]) --> Desk["Desktop app"] & Phone["Phone app<br/>widgets, notifications"] & TG["Telegram"]
    Desk & Phone & TG --> Core["Cyph Core<br/>FastAPI, pinned TLS<br/>chat, plan, memory"]
    Core <--> Gem["Gemini"]
    Core --- Mem[("Memory + planner DB")]
    Agent["Arm agent (PC)"] -- "outbound websocket" --> Core
    Agent --> Arm{{"VectorM arm"}}
Loading

Privacy is a design rule: memory, transcripts and keys stay on my machines, Telegram is owner-only, and widgets never show chat text on the lock screen. Study mode, phone voice, QR pairing and push notifications are not built yet, and the repo says so plainly.

Cypher's mood reel
Cypher cycling through moods: rest, happy, excited, curious, love, smug, sleepy, yawn, startle, laugh, think, dance

VectorM: the arm firmware

VectorM is the body: bare-metal firmware for a 6-DOF robot arm. I replaced the stock firmware on its STM32 controller so the PC can do the thinking (kinematics, planning, vision) while the chip delivers precise, glitch-free servo motion over a CRC-checked serial protocol. It works on its own too: anything that speaks the protocol can move the arm.

MCU and code STM32F103C8T6, plain C with no HAL and no RTOS, 6.7 KB of flash
PWM 2 MHz timer tick, 0.5 us per step, about 0.068 degrees per step, hardware-timed 50.00 Hz
Motion 1 kHz engine, minimum-jerk (smootherstep) profile, so no overshoot or jitter; retargeting mid-move starts from the live position
Glitch-free pulses timer-preloaded, so updates latch at the cycle boundary
Protocol binary framing, CRC-16/CCITT, sequence numbers, ACK/NAK on every command, 32-point stream queue for waypoint playback
Calibration per-servo pulse range, trim and direction, saved to flash
Host tools Python ArmClient, a serial-bootloader flasher with read-back verify, pin scanning for board bring-up, and 26 animal-like moods for the arm (what Cyph uses)
from arm_client import ArmClient

with ArmClient("COM15") as arm:
    arm.move_joints([135, 135, 135, 135, 135, 135], time_ms=1500)
    arm.stream_trajectory(waypoints, dt_ms=20)    # path playback
    arm.torque(False)                             # go limp to pose it by hand

VectorM repo · Cyph repo


More things I've built

Project What it is Stack
Competition Management Platform Infrastructure for NRPC 2026: 500+ teams, strict scoring, poster submissions, live leaderboards React TypeScript Node.js SQLite
SWAG Day FCS Custom stage AV and broadcast system with zero audio files: procedural Web Audio, WebRTC audience cams, controller/stage sync Next.js TypeScript Supabase
Project Echo Decentralized triage with zero identity tracking and automated root-cause analysis Next.js TypeScript Python
SG60 Heritage Lens iOS app that recognizes Singapore landmarks, food and icons through the camera SwiftUI Core ML
KopiTalk Family board game with an AI game master TypeScript React FastAPI
WebBlox Browser-based Roblox-style game creation and play TypeScript Three.js
Portfolio OS My site as a mini desktop OS: windows, 3D scene, terminal. Live React Vite Three.js
FnafCam Five Nights-style horror game Next.js TypeScript
Asirive Copartner (deprecated) An ambient OS-level AI "colleague" built for the Build with Gemini XPRIZE Python Rust/Tauri Gemini
Fursuit Cortex (R&D) Early biomechatronics: animatronic tails, jaws and cooling for Cypher's suit CAD Embedded

Tech arsenal

AI / ML PyTorch ROCm OpenCV Gemini YOLO MCP quantized edge models
Hardware Raspberry Pi Hailo Elegoo Neptune 4 Pro parametric CAD logic analysis I2C / SPI / UART
Firmware and systems C++ Python Linux device drivers
Software TypeScript Rust Next.js React Three.js SwiftUI Supabase SQLite WebRTC Web Audio
Tooling Claude Code OpenCode and other autonomous terminal agents

Highlights

  • TKKYIA 2026 Merit Award (Tan Kah Kee Young Inventors' Award): the highest award in the Student Category that year, shared with a team of three; I led systems
  • A year of SAVH field sessions (2025 to 2026) co-designing and user-testing Cortex with the people who use it
  • Build with Gemini XPRIZE 2026: Asirive Copartner entered before the competition retired
  • HackerOne researcher: irsplays

GitHub stats

GitHub stats Top languages
Streak stats

Get in touch

Email hello@hazcreates.dev
Portfolio hazcreates.dev
Asirive asirive.com · Cortex · Aether · Team
GitHub @IRSPlays · Asirive org
Socials TikTok @hazq.aep · YouTube @TheIRSGuy_editz

Cypher blinking goodbye
"I view bugs not as failures, but as necessary renovations for character."

Pinned Loading

  1. Asirive/Asirive-Cortex Asirive/Asirive-Cortex Public

    Asirive Cortex: A $186 hybrid edge-server wearable for navigation independence. Combines local Hailo-8L physical hazard perception (offline) with Gemini Live cognitive routing (cloud) on a Raspberr…

    Python 3

  2. Cyph Cyph Public

    Cyph, the furry co-engineer: a pixel-art AI companion for desktop and Android that plans your day, remembers you, chats on Telegram, and drives a real 6-DoF VectorM robot arm.

    Python 1

  3. Competition-Management-Platform Competition-Management-Platform Public

    A complete competition management system for robotics tournaments build for NRPC 2026 - featuring strict score calculation, poster submissions, and real-time leaderboards.

    TypeScript 3

  4. Portfolio Portfolio Public

    An Mac OS and Windows 11 like portfolio but on the web!

    TypeScript 1

  5. Asirive/Aether Asirive/Aether Public

    Asirive Aether - An experimental 187M-parameter language model trained from scratch on one consumer AMD GPU

    Python 1

  6. VectorM VectorM Public

    C