For my senior capstone, my team and I decided to undergo a project that would be truly meaningful. We took our time to research and unconver an area of environmental research that was surprisingly difficult to tackle with the current tools on the market - air pollution monitoring. It is an obvious global issue with a variety of adverse affects to the health of humans and most other species we share Earth's land and skies with. The tools we currently monitor air pollution with are often bulky, fixed, and expensive, or otherwise inaccurate, and none provide a meaningful way of examining the collected data without extensive programming knowledge.
In this, AirMap was born in a 4 month long hectic process of all-nighters and extreme overwork by the five handsome electrical and computer engineering student you see here. We developed a uniquely shaped printed circuit board and mechanical enclosure with detailed attention to airflow and accuracy to create a sleek handheld device for monitoring ozone and particulate matter levels, which sends geolocated data to a cloud server with an intuitive and responsive web interface for viewing and processing the data. My work focused mainly on developing the web server, the front end, and firmware to integrate with the cloud server. This gave me extensive practice with firmware integration, building Django frameworks, designing beautiful web pages, deep analysis in Python with large data sets and numpy, and high level system design and implementation. This full solution was expertly engineered, and far beyond the expectations of a normal capstone team after many, many long nights, earning the AirMap team the first place prize. This is the type of dedication you can expect out of me as an engineer.
Watch the full presentation here, the "Holy crap that video is 23 minutes long, give me a 7 minute one" here, or the "I don't really care, dude. Give me a minute long touchy feely video" one here.
Let's face it, even the most motivated of us have a lazy Sunday where the idea of getting off the couch might as well be facing your death, and reaching the bottom of your delcious craft beer is worse than facing down a 10 year drought. Luckily, I'm a firm believer that putting in large initial efforts will require much less effort in the long run, such as providing strong documentation at the start of your codebase so that maintenance is easier down the road. So a couple years ago a couple friends and I embarked on the large effort to make a robot that can fetch beer from the fridge, so that much lesser effort can be made down the line for those lazy days.
In reality, although I love a good beer, my friends and I wanted to learn about building a robot and developing our skills. So we designed the mechanical aspects from scratch, including machining and 3D printing custom parts, as well as constructing a rock solid electrical design with custom cable harnesess. Alongside this, we developed the control system for the motor driver, implemented the inverse kinematics of the 3DOF arm, and created a Flask web server on board to handle control and camera streaming. I also created a web interface remote controller great for controlling the robots from any mobile device. It is sad not living with this beautiful machine anymore...
This is a fun project I worked on during the tumultuous election season. I wanted to play around with some natural language processing, and have since been calling this project "News of the World" or "Gain Perspective News" interchangeably, even though neither name is very good. The idea is to scrape RSS feeds on the web for articles originating in different parts of the world, and for a user to be able to compare how different areas are reporting on the same topic. Right now we have a localized to a certain subset of U.S. states, where searching for a keyword will return a carousel of articles where that keyword is important in the article. There isn't much for comparison yet, but the articles come nicely geolocated by state in an intuitive web interface, and what we have is useful for my personal interests in news. It's no Google Trends, but it's an interesting tool in theory and currently has a pretty massive dataset of preprocessed articles to play with. This was a great way to learn about creating a Django site, and my first exposure to building a web stack.
Dr. Padir also organized a team for entering into NASA's 2016 RASC-AL Mars Ice Challenge and I was elected to lead the team. The goal was to propose a potential design of a scalable system that can drill through simulated Martian soil and into ice-rich soil to ultimately extract filtered water. This was an opportunity for me to gain some interdisciplinary experience as well as lead a team of about 15 engineers in a design process, something that I knew would not be a commonly available experience for me while in school. In a couple month's time, under my direction, we developed a full system that fit the stringent constraints of the proposed program and submitted it to RASC-AL. While the proposal ultimately unsuccessful after the competetive selection process, if you aren't learning more from your failures than you are your successes, something might be wrong. You can see the proposal here. As a bonus, the 2017 team at Northeastern won the entire challenge after modifying this design, lead by Daniel McGann!
Look at that sweet rover! Yeah, I wish I built it. This is actually a product of Worcester Polytechnic Institute for their submission into a NASA robotics challenge years ago, that now resides in the Robotics and Intelligent Vehicles Research Laboratory (RIVeR Lab) at Northeastern under Professor Taskin Padir's direction. A couple students and I offered to help Dr. Padir with any open tasks in the lab, with hopes of learning the Robot Operating System (ROS) and undergoing a challenging task. We were asked to upgrade the software in the very outdated Oryx codebase and add features as time permits in my final semester. The ROS upgrade to Indigo using catkin was arduously completed, and my ability to use ROS skyrocketed.
Treehoppr is a platform designed to help companies optimize the their paid time off policies and promote the culture surrounding actually using that PTO. It is bundled into a software platform offered to employees to help them get the most out of each day off with tools to help them socialize with coworkers, discover, and plan all for travel. The platform's core feature is a Travel Fund, which allows employers to contribute or match contributions that employee's make in a budgeted fashion. This required a massive amount of work and persistence in the FinTech space to generate a great user experience and a fantastic budgeting tool. The platform was an excellent way to generate a lot of front end experience that I lacked, driven by my perfectionist attitude to make a clean UI and UX, developed in an efficient fashion.
Kumu Networks has developed technology that cancels Self-Interference, the "unwanted" energy that leaks into a radio's receiver while transmitting. As a result of the cancellation, the receiver hears no noise from its transmitter, freeing it to cleanly receive external signals. A radio using Kumu's self-interference cancellation technology can transmit and receive at the same time on the same frequency. Kumu was a great place to work and learn as a co-op, and I grew immensely both technically and professionally. My role here was support the test engineer for the high level system performance tests for their upcoming product, until I also took over his role when he left the company shortly into my time there, and I assumed all of his responsibilities in this fast paced start up. I learned Python here and haven't ever looked back, and quickly it became my best language for producing effective, well-structured, efficient, and readable code in a timely manner. I also developed as a test-driven engineer, strengthening my meticulous perspective in addressing edge cases and unexpected outcomes.
Corindus is a late stage start up company that has engineered the CorPath Robotic PCI systems. I started here during heavy developement of their second generation product, the CorPath GRX. My critical technological contributions included modeling the existing software with UML diagrams, analyzing, then rearchitecting the massive C# code base, as well as adding features and bug fixes to this control system and the robot firmware. During this time, I assumed a crucial level of responsibility in our atomic software team, gaining a sense for the bigger picture of the company's goals, and developing myself professionally. In this, I interviewed and managed other interns and became a driving force in the software development and testing, while broadening my knowledge of robotic controls, communications, and general software engineering.
Charles River is a financial software company that develops the Charles River Investment Management System (CRIMS), a massive enterprise solution for investment firms to manage every aspect of their daily operations. This was my first co-op internship experience and I was thrown into a massive C# front end application and an equally large Java backend server with little programming experience before this point in time, and none in either of these languages. I had to ramp up to speed very quickly, and I proudly was closing my first bug fix tickets within the first two week sprint. I have an intense determination in positions where I don't feel qualified, and I proved this at Charles River, where they began to respect me as they would any of the engineers on the team with critical pieces of work. I was also put in charge of organizing and leading the live user testing, then generating feedback reports and identifying bugs for our team. I greatly developed as a programmer in the use of C#, Java, SQL and other technologies, but also as an engineer in problem solving, strong communication, and leadership.