David Onchuru

Software engineer with an affinity to buildπŸ› οΈ

Committed to building excellent products iteratively while following the core software design principles and writing clean, simple code.

I just completed my undergraduate Computer Engineering degree from the University of Alberta and I'm currently seeking a full time software engineer/developer position.

Click on the icons below to connect with me on LinkedIn and check out my projects on GitHubπŸ‘‡πŸΎ

Experience

Software Engineer

Biomedical Engineering Research Lab, University of Alberta

Developing a platform that detects and tracks the severity of AIS (adolescent idiopathic scoliosis) with the help of AI models

Tech stack: React, TypeScript, ThreeJS, Django, Docker, Kubernetes

May 2024 - Present

CS Research Mentorship Fellow

Google

Participated in a research mentorship program at Google to explore research pathways in the field of Natural Language Processing. 🧠

Completed a data visualisation project (link to project) showing regions in the world that have a bias toward posting negative tweets using popular machine learning tools and libraries such as pandas, matplotlib, folium and Jupyter Notebooks. 🌍

February 2023 - May 2023

IT Intern

Bird Construction

Wrote, tested, and deployed scripts written in Powershell to automate the migration of our phone systems for our users, saving the company at least 50 hours of manual data entry work. 🐚

Wrote Python scripts for automation of internal Evergreen project to refresh our hardware fleet increasing productivity and user satisfaction by 100%.

Integrated APIs to fetch and transmit data for dashboard presentations improving readability for our users and cutting down time for manual work.

Uploading and updating documentation of common technical issues and their solutions to company knowledgebase for future reference reducing work redundancy and saving company time.

Commissioning of hardware to our existing and new users improving user satisfaction by 100%.

May 2022 - August 2022

Education

University of Alberta

Bachelor of Applied Science
Computer Engineering
Graduated April 2024

Relevant coursework

  • Algorithms and Data Structures, Operating Systems, File and Database Management, Parallel and Distributed Programming, Android Development, Computer Architecture and Organization
  • Machine Learning, ML Ops, Computer Networks, Search and Planning in AI, Embedded Systems, Object Oriented Programming, Microprocessors, Advanced Digital Logic Design
  • Discrete Mathematics, Continuous and Discrete Time Signals and Systems, Multivariable Calculus, Linear Algebra
  • Wrote some drivers and an interpreter for a custom processor for my capstone project πŸŒ‹

PROJECTS

    Capstone Depot (Python, Flask, PostgreSQL, Heroku, Cloudinary)

    Built and deployed a web application where students can post and share their completed capstone projects (usually done in their final year) and the respective posters created. πŸš€

    All user data for this project is stored in a PostgreSQL production database and is dynamically presented via the Flask web framework and the Jinja2 templating engine.

    I implemented a robust database schema using the SQLAlchemy ORM to store and query user and project data.

    The web app is hosted on Heroku cloud infrastructure and user uploaded images are stored on Cloudinary; an AWS S3 alternative.

    I also designed and wrote a sleek responsive UI using Bootstrap CSS as my design framework.

    Inventory Manager App (Java, Firebase, Gradle, JUnit, Espresso, Figma)

    Developed a large-scale Android app that tracks the user's items and details including descriptions, tags and pictures of the items while following Agile methodology and Scrum best practices for project management. πŸ›’

    I wrote the photos feature of the app which allowed users to upload images. The images were stored in Firestore Cloud Storage and their URLs attached to their respective items in the Firestore database. I utilized the Glide API to fetch and render images dynamically.

    I also wrote the filter items feature of the app and wrote its respective unit tests with JUnit, and end-to-end tests with Espresso; achieving 100% code coverage.

    One-Click Comments VS Code Extension (JavaScript, Node.js, VS Code API, Python, GPT-3.5)

    Led a hackathon team to design and built a VS Code extension that writes documentation for your code with one click. πŸ–°

    I wrote the code which utilizes the VS Code API to present menu options and fetch the file contents to feed to GPT3.5. All written in JavaScript.

    The comments are then generated and overwrite the selected file.

    The extension is hosted on Azure DevOps.

    Biased Tweets (Python, Jupyter Notebook)

    Data visualisation tutorial to display countries/regions that have a higher propensity to posting negatively-biased tweets. 🌍

    The project demonstrates how to use popular ML libraries like pandas, matplotlib and folium for real-world applications and was made during my time as a CSRMP fellow.

    SummaryTube (JavaScript, HTML, CSS, Python)- HackED 2023 Project

    Designed, built, tested and deployed a web app that displays the summary of any YouTube video when given its link. 🍿

    The front-end UI was built using HTML5, CSS3 and JavaScript while client-server communication was achieved by use of Python's Flask framework.

    The backend uses YouTube's transcript API to fetch the video's transcript and OpenAI's pretrained GPT3 model API to do summarization.

    Navigation System (C++)

    Built and tested a navigation system that uses Dijkstra's algorithm to find the shortest path between two locations. πŸ—ΊοΈ

    The system can be viewed as a client/server GUI application that communicates via Unix pipes.

    Machine Learning Classifier (Python)

    Wrote a machine learning tool that identifies, processes, classifies and validates input based on word frequency and target words using popular machine learning techniques such as classification and cross validation. πŸ€–

    The classifier tool is similar to instances used in home assistant devices that detect emergency prompts in speech.

    Huffman Compressor-Decompressor (Python)

    Designed, wrote and tested a program used for compressing and decompressing files into .huf files using the Huffman compression algorithm. 🐁

    The tool is compatible with all file types(including PDFs, JPEGs, GIF etc.)

    Access Control Circuit (VHDL, FPGA Board)

    Implemented a combinational logic circuit for an access control device in VHDL and successfully tested it on the Xilinx Zybo Z7 FPGA Board.

    The design for this project is a rudimentary version of what is commonly used on keycard accessible doors.

    Power Supply and Amplifier circuit (Hardware Project)

    Designed, built and tested a dual rail Β±10V power supply and an audio-band amplifier with a mid-band voltage gain of 11V/V.

    Simulation done using LT Spice software. The circuit was built using basic components like diodes, transistors and resistors, assembled on a breadboard.

Skills

Programming Languages
  • Go, C, C++, Python, Java
  • SQL, MongoDB, MATLAB, Bash, Powershell
  • HTML, CSS, JavaScript, Flask, ReactJS, BootStrap, Gulp, npm
  • VHSIC Hardware Description Language(VHDL), x86 Assembly
Tools
  • Git, Amazon Web Services(AWS), Docker
  • Linux, Unix, MacOS, Windows OS, VMWare, VirtualBox

Club Involvements

  • Autonomous Robotic Vehicle club
  • Building, testing and simulating programs written in C++ and Python(with ROS framework) that control autonomous diving and navigation of robot through obstacles underwater to compete in annual RoboSub competition

  • Ada's Team
  • National Society of Black Engineers

Volunteering

  • Engineering Wellness
  • Assisted in running the Engineering Wellness events like the Video Game popup events

    In these events, students battled it out on Smash Bros, Mario Kart and Just Dance, momentarily escaping the clutches of the soul-sucking abyss that is Engineeering

  • Community First Responder
  • Served as a first responder in high school and trained junior cadets in first aid

    Spread awareness of the need for first aid training in communities

  • Kenya Red Cross
  • Organized events to raise funds to help people in the drought-stricken areas of Northern Kenya

Interests

πŸ‹πŸΎ Fitness: Bodybuilding, Soccer, Brazilian jiu-jitsu, Mixed Martial Arts, Hiking, Running πŸƒπŸ½β€β™‚οΈ

🏑 When I'm indoors, I'm usually probably coding, cooking or taking care of my plants πŸͺ΄

🎬 I also like reading and have probably seen more movies than anyone I know 🍿

Contact me via my LinkedIn DMs if you'd like to chat about opportunities, interests or your favourite books and movies.