l> Rahul Adhini | Computer Engineering Website

Hi, I'm Rahul Adhini

I am a computer engineering student at the University of Utah with a background that spans high-level software architecture and low-level hardware design. My experience ranges from developing large-scale concurrent systems in C++, JavaScript, Python [and many more] to engineering precision analog circuits, microelectronic amplifiers, FPGAs, Arduinos [and many more]. By combining rigorous algorithmic analysis with hands-on hardware prototyping, I build robust solutions that address the full stack of modern computing. I have successfully managed complex projects through every stage of the development lifecycle, including the implementation of multithreaded network protocols, custom cache simulators, and high-fidelity signal processing systems.

Currently, my work focuses on the frontier of computational optical engineering, where I integrate advanced optics design with machine learning and nanofabrication techniques. My research involves designing and simulating complex optical systems, utilizing lithography and cleanroom processes to prototype hardware that pushes the boundaries of traditional imaging. By applying generative AI and neural networks to correct aberrations in custom-built sensors, I am developing high-fidelity systems capable of capturing the night sky with unprecedented clarity. This synergy between physical hardware manufacturing and intelligent software optimization allows me to deliver high-performance solutions for practical engineering challenges.

Current Positions

🔬
Research Assistant Menon Group directed by Prof. Rajesh Menon, Dept. of ECE, University of Utah
đź’»
IT Specialist Student Computing Services, Marriott Library, University of Utah
🎓
Advisory Board Member Computer Engineering Student Advisory Board

Academic Technical Coursework

Technical courses and projects completed/completing during my studies

SOFTWARE + HARDWARE ENGINEERING

Computational Photography

Can't disclose details of the course projects due to course policy - We focused on using computational methods to create entirely new systems by bridging both hardware and software.

Key Project: Can't Disclose Due to Course Policy

3D Printing Machine Learning Lot of coding, math, system design
SOFTWARE + HARDWARE ENGINEERING

Fundamentals of Robotics and Cyberphysical Systems

In this course, I studied the integration of sensing, actuation, and control systems that form the foundation of intelligent physical machines. I work extensively with transduction principles to interface various sensors and actuators with embedded microcontrollers using custom analog and digital circuitry. My work involves implementing digital signal processing techniques like intelligent thresholding and sensor fusion alongside feedback control strategies such as PID loops. Additionally, I explore data-driven machine learning methods, including multi-layer perceptrons and convolutional neural networks, to enhance robotic perception and decision-making. Through consistent hands-on hardware and software labs, I translate theoretical cyber-physical concepts into functional, autonomous systems.

Key Project: Self Driving Robotic Car

  • Developed an autonomous mobile robot capable of high-speed navigation using an array of infrared sensors and advanced PID control logic.
  • Integrated real-time signal processing and machine learning algorithms to detect path intersections and execute complex maneuvers under varying lighting conditions.
Embedded Systems Interfacing Machine Learning Real-Time Software Development Control Systems
SOFTWARE + HARDWARE ENGINEERING

Fundamentals of Digital System Design

In this course, I explore the fundamental principles of digital logic and the architectural building blocks of modern computing systems. I start by mastering Boolean algebra and combinational logic design before progressing to sequential circuits such as flip-flops and finite state machines. A significant portion of my work involves using hardware description languages like Verilog to model and simulate complex digital hardware. I also gain hands-on experience by implementing these designs on field programmable gate arrays. By the end of the semester, I understand how individual logic gates are organized into sophisticated processors and memory hierarchies.

Key Project: VERILOG LABS

  • Architected and implemented a complete digital system on an FPGA, integrating custom control logic with external peripheral interfaces.
  • Verified system performance through rigorous RTL simulation and hardware-in-the-loop testing to ensure timing closure and functional accuracy.
  • Applied optimization techniques to minimize gate count and improve clock speeds, directly enhancing hardware efficiency.
Verilog HDL FPGA Prototyping Questa Simulations, Timing Analysis Computer Architecture Sequential Circuit Design Combinational Circuit Design Finite State Machines
HARDWARE ENGINEERING

Optics for Energy

ONGOING - In this class, we will study the exciting intersection of optics and the engineering challenges associated with generation, distribution and utilization of energy with specific goals of innovation and commercialization. Technically, we will cover the basics of non-imaging optics, which will allow us to apply these concepts to the design of optical sub-systems for applications including solar concentrators, solar thermal systems, solar cooling, desalination, daylighting, etc. We will also study the science and engineering of sunlight measurement, strategies of light management for solar cells, resource recycling, as well as entirely new technologies brewing in labs around the world.

Key Project: Ongoing

  • Ongoing
  • Ongoing
N/A N/A N/A N/A
SOFTWARE ENGINEERING

Computer Systems

ONGOING - Introduction to computer systems from a programmer's point of view. Machine level representations of programs, optimizing program performance, memory hierarchy, linking, exceptional control flow, measuring program performance, virtual memory, concurrent programming with threads, network programming.

Key Project: Ongoing

  • Ongoing
  • Ongoing
N/A N/A N/A N/A
SOFTWARE + HARDWARE ENGINEERING

Computer Design

ONGOING - Working in teams, students employ the concepts of digital logic design and computer organization to design, implement and test a computing system. Interface IO devices and develop associated software/firmware. Extensive use of CAD and software tools.

Key Project: Ongoing

  • Ongoing
  • Ongoing
N/A N/A N/A N/A
SOFTWARE ENGINEERING

Software Practice I

In this course, I bridged the gap between basic programming and professional software engineering by developing large-scale, concurrent systems in C#. I utilized the Model-View-Controller pattern and event handling to architect responsive graphical interfaces and networked client-server applications. My workflow integrated modern tools like profilers, debuggers, and version control to ensure high-performance code quality. I prioritized systematic software evaluation through advanced testing, input validation, and rigorous error handling. Working in a collaborative environment, I gained hands-on experience with the full software lifecycle, from initial construction to iterative deployment. This curriculum solidified my ability to engineer robust, scalable solutions within a professional team framework.

Key Project: Snake Game w/ SQL Database

  • Multithreaded TCP Chat Server: Engineered a thread-safe server that manages client handshakes and broadcasts real-time messages using a dictionary-based participant tracking system.
  • Blazor WebAssembly Client: Developed an interactive UI featuring asynchronous background listeners for message parsing, participant list updates, and graceful server disconnection handling.
  • Reusable Networking Abstraction: Implemented a robust communication layer wrapping TCPClient and streams to provide consistent socket-based communication across multiple applications, including a real-time multiplayer game.
C# Blazor SQL TCPClient Full-Stack Web Development Network Protocol Design Error Handling & Persistence
HARDWARE ENGINEERING

Circuits & Systems: In Linear Active Modes

In this integrated lecture and laboratory course, I advanced my expertise in microelectronic circuit analysis and design with a focus on analog integrated circuits. I utilized both small-signal and large-signal techniques to architect and evaluate single and multistage amplifiers incorporating diodes, BJTs, and FETs. My work involved extensive frequency response analysis, where I generated and interpreted Bode plots to characterize magnitude and phase responses. Throughout the term, I followed a rigorous design cycle that bridged theoretical hand analysis and LTspice computer simulations with physical hardware implementation. I gained proficiency in debugging nonlinear analog circuits and optimizing transistor-based systems for specific engineering requirements. By conducting appropriate experimentation and analyzing data, I developed the engineering judgment necessary to build high-performance electronic devices.

Key Project: High-Fidelity Multistage Audio Preamplifier with Integrated Power Regulation

  • Precision Power Architecture: Engineered a stable DC power supply using diode rectification and capacitive filtering to provide clean, low-noise voltage rails for sensitive analog stages.
  • Multistage Transistor Amplification: Designed and optimized a high-gain amplifier using BJT and FET configurations, utilizing small-signal modeling to achieve specific voltage gain and impedance requirements.
  • Frequency Response Optimization: Conducted extensive Bode plot analysis to characterize magnitude and phase response, ensuring a linear passband and high-fidelity signal reproduction across the audible spectrum.
LTspice Microelectronic Engineering Frequency Response Analysis Transistor Modeling Power Supply Design Signal Integrity
SOFTWARE ENGINEERING

Accelerated Introduction to Object-Oriented Programming

In this accelerated course, I mastered two semesters of computer science curriculum in a single term using Java. I utilized core object-oriented principles like inheritance, polymorphism, and data abstraction to architect complex software solutions. My experience spanned the full development lifecycle, from designing graphical user interfaces to rigorous debugging and documentation. This intensive environment required high-level problem-solving and a commitment to professional ethical standards. Ultimately, the course demonstrated my ability to rapidly adapt to and master sophisticated technical frameworks under a heavy workload.

Key Project: Sound Sketcher

  • Polymorphic Audio Engine
  • Multi-Track GUI Development
  • Custom Data Architecture
Java OOP DSA Software Lifecycle Management GUI Development Debugging Architectural Design
SOFTWARE ENGINEERING

Algorithms & Data Structures

In this course, I mastered fundamental data structures and algorithms with a focus on engineering computational efficiency in Java. I implemented and analyzed classical structures like trees, graphs, and hash tables while utilizing Big-O notation to evaluate algorithmic complexity. My work involved applying Java generics and abstract data types to solve real-world problems through extensive implementation and empirical testing. Additionally, I gained valuable experience in collaborative software engineering through regular pair programming and team-based development. This curriculum solidified my ability to optimize program performance and build scalable, high-quality software.

Key Project: Markov Chain

  • Markov Chain Text Generation
  • Probability Modeling & Data Structures
  • Empirical Complexity Analysis
Java HashMap Algorithmic Analysis PriorityQueue Big-O Analysis Performance Optimization Collaborative Engineering
Hardware Engineering

Circuits and Systems I

In this course, I mastered the principles of electrical engineering by designing, building, and debugging complex analog circuits. I used mathematical theory and simulation to analyze systems featuring resistors, capacitors, diodes, and operational amplifiers. My experience included performing node-voltage analysis, determining Thévenin equivalents, and implementing digital logic gates. I gained hands-on proficiency in signal processing and sensor integration, specifically using op-amps for signal amplification and comparison. For my final project, I engineered a custom dual-sensor system to solve a practical problem, managing the lifecycle from formal design reviews to hardware validation. This course developed my ability to translate theoretical concepts into functional, safe, and efficient physical hardware.

Key Project: Dual-Input Environmental Logic Controller - Automated Thermal Regulation System

  • Integrated Sensor System Design: Engineered a dual-input control circuit using a thermistor and photoresistor to automate an air conditioning proxy (LED) based on temperature and ambient light levels.
  • Analog Signal Processing: Implemented dual op-amp comparators and potentiometer voltage dividers to establish precise trip points for real-time environmental monitoring.
  • Hardware Logic Implementation: Utilized an integrated AND gate to synchronize sensor outputs, ensuring system activation only when specific temperature and daylight thresholds were simultaneously met.
MATLAB Sensor Integration Analog Processing Circuit Analysis Combinational Logic Hardware Prototyping Digital Logic
SOFTWARE + HARDWARE ENGINEERING

MATLAB for Circuit Design

In this course, I developed proficiency in MATLAB and LTspice to solve and simulate complex engineering problems. I mastered the MATLAB environment by writing scripts and user-defined functions that utilized matrix mathematics, logical operators, and control flow to analyze data from electronic sensors. My technical toolkit expanded to include LTspice for designing and verifying circuit behavior through high-fidelity simulations. For the final project, I engineered a solution to a practical problem, validating my design through critical reviews and simulation results. This experience sharpened my ability to apply scientific principles to software-based engineering analysis. Ultimately, I gained a strong foundation in computational tools essential for modern electrical and computer engineering.

Key Learning: Technical application of MATLAB & LTspice

  • Computational Circuit Analysis: Utilized MATLAB to perform matrix mathematics, vector operations, and data visualization for electrical concepts like voltage dividers and ThĂ©venin equivalent circuits.
  • Electronic Component Modeling: Leveraged LTspice to simulate and validate the behavior of fundamental components, including non-inverting operational amplifiers, capacitors during transient analysis, and digital logic gates.
  • Sensor and Signal Processing: Developed scripts and simulations to analyze sensor data and comparator op-amp circuits, focusing on signal quantization and truncation effects.
MATLAB LTspice Signal Processing Data Visualization Circuit Simulation & Modeling: Computational Circuit Analysis Digital Logic Gates Sensor Data Analysis Truncation Effects
SOFTWARE + HARDWARE ENGINEERING

Computer Organization

In this course, I mastered the principles of computer architecture and design by exploring the intersection of hardware and software performance. I composed fundamental computing circuits and developed assembly language programs to understand how high-level code maps to machine instructions. My work involved analyzing memory hierarchies, including the impact of caching and virtual memory on program execution. I also studied hardware support for parallelism, focusing on instruction-level pipelining and superscalar capabilities like speculative execution. This curriculum provided me with a rigorous understanding of CPU organization and the architectural factors that drive modern computing performance.

Key Project: CPU Architecture

  • Configurable Cache Simulator: Developed a high-fidelity simulator in Java to model direct-mapped, set-associative, and fully-associative cache architectures with customizable block sizes and row counts.
  • Memory Management & LRU Logic: Implemented Least Recently Used (LRU) replacement algorithms and bitwise tag/index calculations to accurately track cache hits, misses, and hardware storage requirements.
  • Architectural Performance Analysis: Engineered tools to calculate physical storage costs, including valid bits and LRU counters, to evaluate how different memory access patterns impact CPU efficiency and latency.
Assembly Java Low-Level Design Computational Analysis
SOFTWARE + HARDWARE ENGINEERING

Technical Communications and Writing for Engineers

LIKE THE TITLE SUGGESTS... ECE based upper division writing course.

SOME PROJECT

ECE Technical Writing Presentation Skills

Featured Projects

A collection of my academic and personal projects

Personal Project

In this project, I developed a Research Experiment Tracker, a full-stack platform designed for engineers to systematically log and analyze experimental data. I implemented a secure architecture using Supabase Auth and Row Level Security (RLS) to ensure complete data isolation within private user workspaces. By integrating Recharts for trend visualization and PapaParse for high-volume CSV ingestion, I created a tool that transforms raw experimental metrics into actionable insights through automated performance comparisons and trend analysis.

  • Secure User Authentication: Email-based login/signup powered by Supabase Auth with Row Level Security (RLS) ensuring each user's projects, experiments, and runs are completely private and isolated from other users.
  • Experiment Management & Visualization: Create projects, define experiments with hypotheses and expected metrics, log runs with flexible JSON inputs, and visualize trends with interactive Recharts line charts—plus a run comparison tool that calculates percentage differences and highlights winners.
  • Tech Stack: Built with Next.js 14 (App Router + TypeScript), Tailwind CSS for a professional dark-themed UI, Supabase (PostgreSQL + Auth + RLS), Recharts for visualization, papaparse for CSV parsing—deployed on Vercel with automatic CI/CD.
Next.js 14 TypeScript Supabase PostgreSQL Row Level Security (RLS) Recharts Papaparse CSV Data Processing JSON Schema Management Tailwind CSS Vercel (CI/CD)
Personal Project

In this project, I engineered Palimpsest, a living context engine designed to eliminate knowledge loss and context switching for software engineers. I developed a system that automatically captures scattered development activities and synthesizes them into high-fidelity "Context Capsules" using Google Gemini Pro. By leveraging Pinecone for semantic vector storage and Supabase for secure relational management, I created a queryable "second brain" that allows developers to instantly recall the intent and reasoning behind complex architectural decisions.

  • AI-Driven Context Synthesis: Integrated Google Gemini Pro to intelligently cluster raw development events into meaningful sessions, automatically generating summaries and intent analysis through natural language processing.
  • Semantic Vector Retrieval: Implemented a search architecture using Pinecone to enable natural language queries across vectorized work history, retrieving specific contexts rather than simple keyword matches.
  • Architectural Decision Tracking: Developed a dedicated portal for logging tradeoffs and rejected alternatives, secured by Supabase Row Level Security (RLS) to ensure complete data isolation and privacy.
Next.js 14 Google Gemini API Pinecone Vector DB Supabase (PostgreSQL) Row Level Security (RLS) Semantic Search Natural Language Processing (NLP) Data Clustering Algorithms Vector Embeddings Tailwind CSS Lucide React
Personal Project

In this project, I developed a full-stack Retrieval Augmented Generation (RAG) application using Next.js 16 and TypeScript to provide context-aware AI interactions with personal documents. I engineered a robust pipeline that automates PDF parsing and semantic indexing, allowing users to query their own data through a high-performance chat interface. By integrating Google's Gemini 2.0 Flash for natural language reasoning and Pinecone for vector storage, I created a system that delivers precise, cited answers based on real-time document retrieval.

  • Hybrid AI Architecture: Integrated Gemini-2.0-flash-exp for dual-purpose execution, generating high-dimensional text embeddings for indexing and performing complex reasoning for natural language responses.
  • Vectorized Data Pipeline: Developed an automated ingestion workflow that parses PDFs into optimized overlapping chunks and stores them in Pinecone, enabling sub-second semantic search and retrieval of relevant context.
  • Modern Full-Stack Implementation: Leveraged Next.js 16 App Router and Tailwind CSS to build a responsive, type-safe interface featuring drag-and-drop file processing and an interactive, source-cited chat experience.
TypeScript Next.js 16 Tailwind CSS Google Gemini AI Pinecone Vector DB RAG Architecture Semantic Search Text Embeddings PDF Ingestion Pipeline Natural Language Reasoning App Router
Academic Project

In this project, I investigated the "vibe coding" crisis by building an interactive tool to map the de-skilling of junior developers. I engineered a Python-based pipeline to scrape qualitative evidence and synthesize it into structured data nodes. Using JavaScript and D3.js, I developed a force-directed graph to visualize the non-linear links between AI-driven productivity gains and mounting technical debt. The project highlights how a reliance on AI-mediated workflows can compromise foundational problem-solving skills and long-term software integrity.

  • Full-Stack Data Pipeline: Engineered a data extraction system using Python and the "Shreddit" library to scrape qualitative evidence from web sources, followed by custom scripts to process raw data into structured summaries and claim tables.
  • Interactive Network Visualization: Developed a web application utilizing JavaScript and the D3.js library to render a dynamic "force-directed graph," modeling non-linear relationships between productivity gains and technical debt as a navigable network of nodes.
  • Front-End Architecture: Implemented a clean, modular user interface using HTML and CSS to visualize the complex causal links between AI-mediated workflows ("vibe coding") and the degradation of software engineering quality.
Python JavaScript (D3.js) HTML/CSS ObservableHQ Full-Stack Web Development Data Pipeline Engineering Data Scrapping & Extraction Network Visualization
Personal Project

In this project, I developed a Real-Time Collaborative Whiteboard designed for seamless, multi-user brainstorming and creative workshops. I engineered a bidirectional communication system using Socket.io to synchronize drawing data across all connected clients with near-zero latency. By leveraging the HTML5 Canvas API and React 19, I built a responsive interface that supports persistent room routing and an interactive toolkit, ensuring a high-performance collaborative experience on any device.

  • Low-Latency Event Streaming: Implemented Socket.io on a Node.js backend to handle real-time, bidirectional event-based streaming of brush strokes and canvas states.
  • High-Performance Rendering: Utilized the HTML5 Canvas API and React 19 (Vite) to create a smooth, GPU-accelerated drawing environment featuring an advanced floating toolkit and custom glassmorphism styling.
  • Dynamic Room Architecture: Developed a persistent routing system that enables users to join specific sessions via unique URLs with automatic synchronization of existing drawing history.
React 19 Socket.io Node.js Express HTML5 Canvas API WebSocket Protocol Bidirectional Streaming Vite Glassmorphism UI Design
Academic Project
  • Polymorphic Audio Engine: Built a back-end sequencer using inheritance and polymorphism to schedule diverse audio events, effectively decomposing real-time scheduling into modular object-oriented components.
  • Multi-Track GUI Development: Designed "Sound Sketcher," a Java Swing application supporting 16-track music composition with integrated controls for tempo, looping, and tabbed track management.
  • Custom Data Architecture: Implemented a high-performance dynamic array structure and integrated file I/O functionality to enable efficient data persistence for saving and loading complex musical compositions.
Java OOP DSA Software Lifecycle Management GUI Development Debugging Architectural Design
Academic Project
  • Markov Chain Text Generation: Engineered a word-level model using HashMaps to map transition probabilities, supporting deterministic, probable, and weighted-random text generation modes.
  • Probability Modeling & Data Structures: Implemented frequency tracking and selection strategies using hash tables and PriorityQueues to manage successor word distributions and lexicographical tie-breaking.
  • Empirical Complexity Analysis: Conducted Big-O timing experiments to validate the asymptotic complexity of training algorithms by analyzing performance against varying vocabulary sizes and input lengths.
Java HashMap Algorithmic Analysis PriorityQueue Big-O Analysis Performance Optimization Collaborative Engineering

Get In Touch

Feel free to reach out for collaborations or opportunities