l>
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.
Technical courses and projects completed/completing during my studies
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
LIKE THE TITLE SUGGESTS... ECE based upper division writing course.
A collection of my academic and personal projects
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.
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.
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.
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.
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.
Feel free to reach out for collaborations or opportunities