$ whoami

Rahul Kannan

Software Engineering / Embedded Systems

STATUSOpen to SWE + embedded roles
BASEPortland, OR
FOCUSsoftware + embedded + digital design
EDUB.S. Computer Science, Oregon State
# about.md

Computer Science graduate of Oregon State University (Computer Systems option) working across software, embedded systems, and digital design. I build end-to-end — from AI-driven healthcare prototypes and compilers down to FPGA logic in SystemVerilog and firmware on AVR and Arduino boards. Comfortable moving between full-stack development, real-time signal processing, and hardware, and I like projects that touch both the code and the copper.

# coursework.md
SYSTEMS
  • Operating Systems I & II
  • Computer Architecture
  • Parallel Programming
  • Computer Networks
SOFTWARE & DATA
  • Analysis of Algorithms
  • Machine Learning
  • Databases
  • Software Engineering I & II
SECURITY & THEORY
  • Intro to Security
  • Network Security
  • Theory of Computation
  • Discrete Math
$ ls ./projects

Projects

--filter
AI / HEALTHACTIVE

Early Parkinson's Tremor Detection

A screening tool that tracks 21 hand landmarks in real time and extracts tremor frequency via FFT-based signal processing.

  • ›Real-time hand-landmark tracking with MediaPipe
  • ›FFT-based frequency extraction for tremor analysis
  • ›NVIDIA Nemotron LLM generates plain-English explanations for patients
  • ›Streamlit dashboard: live capture, FTM severity grading, downloadable PDF reports
  • ›Optional OAK-D depth camera support for mm-accurate measurement
PythonMediaPipeOpenCVStreamlitReportLabNVIDIA Nemotron
FPGA / RTLCOMPLETE

FPGA Alarm Clock

A 24-hour digital alarm clock with a melody alarm, written in SystemVerilog and running on a DE10-Lite FPGA. Team of three; the final design is based on my implementation.

  • ›Modular RTL: 50 MHz to 1 Hz clock divider, hour/minute/second counters, alarm comparator, display parser, and seven-segment drivers
  • ›Two-flop input synchronizer for switches and buttons
  • ›Square-wave melody generator driving a speaker from note frequency and duration arrays
  • ›Integrated in a Quartus top-level schematic, pin-assigned, and validated on the board
SystemVerilogQuartus PrimeModelSimDE10-Lite FPGA
EMBEDDED / MOBILE

RoboRacer Bluetooth Link

Bluetooth link for a Garmin-sponsored pacing robot, built for an OSU senior capstone (CS team of four). I built both ends: board firmware on an Arduino Portenta H7 and a React Native test app.

  • ›Verified app-to-board communication in testing; tested the app on Android
  • ›Attempted to merge the Bluetooth module into the team's main app and helped install it on an iPad with Xcode
  • ›Full robot testing was limited after a power fault in the ECE team's hardware shorted the robot before the deadline
React NativeTypeScriptArduino Portenta H7Bluetooth
COMPILERS

Python-to-LLVM Compiler

A compiler for a Python subset, built across a three-part course sequence: scanner, parser, and LLVM backend.

  • ›Flex scanner with indentation tracking (INDENT/DEDENT tokens)
  • ›Bison parser that translates Python to C, with error reporting
  • ›LLVM IR generation in C for assignments, arithmetic, if/else, nested while loops, and break
  • ›Native object-code emission through an LLVM target machine
  • ›Source is in a private course repository
CFlexBisonLLVM
EMBEDDED

AVR Assembly Labs

A sequence of microcontroller labs written in AVR assembly on ATmega boards for a robot platform.

  • ›External interrupts (INT0/1/3) with LCD counters for robot bump sensors
  • ›Timer/Counter1 fast PWM motor speed control across 16 levels
  • ›16-bit add/subtract and 24-bit multiply subroutines
  • ›Two-board Rock-Paper-Scissors over USART1 with a 1.5 s timer delay (team of two)
AVR AssemblyATmega32U4ATmega128Atmel Studio
SYSTEMSIN PROGRESS

Nand2Tetris — CPU Architecture

Working through the hardware-to-software computing curriculum, building a simplified CPU from logic gates upward.

  • ›Completed: logic gates, multiplexers, adders, ALU, flip-flops, registers, RAM, and program counter (projects 1 to 3)
  • ›In progress: CPU and computer for the Hack instruction set, and a Python assembler
Nand2Tetris HDLHack AssemblyPython
AI / GAME

Code Dragon

An interview-prep RPG built at QuackHacks: pick a class (Mage, Fighter, Thief) and battle a Bug Dragon by answering technical interview questions.

  • ›Three modes: offline multiple-choice, AI mode with open-ended questions from Google Gemini, and a résumé mode that quizzes you on your own projects
  • ›Character voices through ElevenLabs text-to-speech
  • ›Procedural pixel-art sprites and retro UI animations in vanilla JavaScript, with no build step
  • ›Vercel serverless functions proxy the API keys, with an offline question bank as fallback
JavaScriptHTML/CSSGoogle GeminiElevenLabsVercel
MOBILEIN PROGRESS

Workout Tracker App

A React Native (Expo) Android app for logging a 5-day workout cycle with set-by-set weight and rep tracking.

  • ›Session logging with automatic all-time PR updates and a rolling two-session history per exercise
  • ›Editable routines, exercise demo videos, and a dark/light theme toggle
  • ›Google Sheets sync through a webhook, with OAuth in progress
  • ›Built and distributed with EAS Build
React NativeExpoJavaScriptGoogle Sheets APIEAS Build
WEB EXTPORTING

AO3 Kudos Checker

A Chrome/Firefox extension that detects whether you've already left kudos on an Archive of Our Own work, no login required.

  • ›Manifest V3 background service worker, rate-limited to 1 fetch / 1.5s
  • ›Per-work badge injection via content scripts
  • ›Multi-username support with a local chrome.storage.local cache
  • ›Built with Claude (Anthropic) for architecture, review, and debugging
  • ›Currently porting to Safari (macOS)
JavaScriptChrome Extension APIService WorkersContent Scripts
EMBEDDED

Reactive Monitor Backlight

Arduino-driven ambient backlighting that samples the dominant colors on screen and mirrors them on an LED strip in real time.

  • ›Live screen color sampling
  • ›Real-time LED color mirroring over serial
ArduinoC++
EMBEDDED

LED Infinity Cube

An Arduino-powered LED infinity cube with Amazon Alexa voice control.

  • ›Custom driving logic for the LED matrix
  • ›Alexa voice-control integration
ArduinoC++
HARDWARE

Small Form Factor PC Build

Researched, sourced, and assembled a custom PC optimized for a small-form-factor case.

  • ›Thermal and clearance-constrained part selection
  • ›Full build and cable management
PC Hardware
$ cat ./skills.pinout

Skills

LANGUAGES
JavaC++PythonJavaScript
EMBEDDED
ArduinoESP32Verilog
FRAMEWORKS
TensorFlowMediaPipeStreamlitOpenCVReportLabOpenAI SDK
BROWSER EXT
Chrome Extension API (MV3)Service WorkersContent Scripts
AI / ML
Claude APINVIDIA NemotronFFT Signal Processing
TOOLS
GitLinuxExcelSolderingPCB Design
$ cat ./leadership.log

Leadership

Officer — OSU Hackathon Club
On-campus Representative · Lead Officer · Treasurer

Helped coordinate multiple hackathons, many with hardware-build tracks, fostering innovation and collaboration among students.

$ ./contact --init

Contact

Open to software engineering, embedded systems, and hardware design roles. Reach out directly:

rahul_kannan@kannan:~$ mail rahulskann03@gmail.com