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.
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: dual-camera glasses and the Raspberry Pi 5 pocket unit, joined by a single USB-C cable |
![]() Worn: a lighter, open-ear build |
![]() 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)
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
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).
|
The system
|
What he does
|
![]() The phone app |
![]() The Arm page (mock camera and arm agent) |
![]() Widget on my real home screen |
![]() 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"}}
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.
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| 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 |
- 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
| hello@hazcreates.dev | |
| Portfolio | hazcreates.dev |
| Asirive | asirive.com · Cortex · Aether · Team |
| GitHub | @IRSPlays · Asirive org |
| Socials | TikTok @hazq.aep · YouTube @TheIRSGuy_editz |













