These are some (mostly technical) details about me. Contact me if you want to know more.


I am a husband and father living in LA. I am a software developer professionally, and in my free time I play with my family, read books, or play with any engineering project that interests me. Before having kids, I was also into tv shows, skiing, video games, and seriously into weightlifting. I grew up on the east coast and went to Cornell where I studied Electrical and Computer Engineering (undergrad) and Systems Engineering (grad).


Since I was in elementary school I have been fascinated with engineering and technology, especially with how it could make life better - whether it was building something with my friends, or programming a VCR to record a TV show so I could stay out playing without worrying about the time.

As I grew up, I felt like technology moved faster than it could be usefully applied, and it made life more complicated. Instead of giving back time and energy, it demanded more time and attention.

My motivation is to build incredible products that people love because it makes their lives better. This includes finding ways to pull valuable information out of mountains of data, or making easy to use tools that save people time and energy.

Technical Background

I have a deep technical background, and over time have worked more and more closely with users to bridge the gap between cutting edge tech and tools people find useful.

Early Years

When I was in elementary school, life was playing outside and playing video games. My friends and I built things to play with like street luges, forts, and bike trails complete with bridges. After the sun went down we played computer games, and we started hacking our games to do things like give us infinite lives, and later modified our games by adding things like cars to racing games or levels to first person shooters.

My other passion was the Simpsons, and when I was barely a teenager I spent all my savings on hardware to capture Simpsons episodes and stated writing image processing code to remove VHS/antenna static. This involved doing things like smoothing out yellow pixels with other yellow pixels while not blurring them with other colors, so edges stayed sharp.


In college I started out as a CS major. CS was taught using Java, which I didn't like compared to C/C++. I had a strong interest in the math and science behind image processing and image/video compression and I focused on signal processing (in the Electrical and Computer Engineering department) where learned how to do things like build JPEGs, and send wireless signals. I also minored in Material Science, where I enjoyed learning about solid state and quantum physics.

Lockheed Martin

When I graduated, I started working on radar systems at Lockheed Martin while pursuing my masters in Systems Engineering. I was a data scientist at Lockheed and I learned how to build complex systems used in life or death situations. I got to work with lots of data and got my first taste of machine learning. A radar measures everything, and figuring out what is interesting versus what is background noise is challenging. I invented a few things there, including a algorithm for fusing image processing results, and an elegant algorithm for tracking targets with only a few data points in a noisy environment, which is used on the  TPQ53. Most of the work I did was in MATLAB where I ran experiments and designed algorithms, though I didn't often write production code.


While I was at Lockheed I helped found a startup called GrafPad. This is where I learned to write real and maintainable software instead of building mathematical models. I wrote a program that translated a set of touch coordinates into shapes for GrafPad - you can see it in action on the Projects page.


Around this time, I left Lockheed and joined OpenX, an ad-tech startup in the Los Angeles area. At OpenX I was now programming full time, and I helped rewrite their monolithic API using a microservices architecture. OpenX had a strong software engineering culture and I learned a lot about successfully building large scale software products. While there, I made a lot of people in tech in LA including the founders of Conduce who invited me to join.


Conduce was all about data visualizations. The mission at Conduce was to make it easy to pull useful information out of large sets of data. It was also an opportunity to be part of a small and impressive team building a tech stack from scratch. The mission and values of Conduce lined up very nicely with my own, and the opportunity to do interesting work with a great team was too good to pass up. We all had a lot of responsibility and I think we all learned a lot.

Still, over the 6+ years at OpenX and Conduce, in my spare time I dove deep into computer vision projects. By chance, an opportunity to work at Eyenuk came along. The fit was perfect, and the team is stellar, and I joined.


Eyenuk is a medical device company that uses AI and computer vision and to autonomously detect eye diseases. At Eyenuk I came on as the first "product" engineer in order to add features to make our products more attractive to customers. After i joined, we built features such as a user management portal, integrations with cameras, and clinical workflows tools on the web.

What made this challenging was that we built everything while meeting EU and FDA regulatory guidelines. I had the opportunity to oversee the software documentation for our EU and FDA submissions and I worked with the regulatory team to define the structure and scope of each document and coordinated with other engineers to write and review all regulatory documentation.

I led the design and development of Eyenuk's second major product, EyeScreen Service (ESS), which combined human and AI grading. We created an interface that users love, and ESS has since become Eyenuk's primary product in the US.

Design & Coding
by Charles Law 2015-2020

Circuit Icon made by
Freepik from www.flaticon.com

Airplane icon made by
Richard Schumann modified by Charles Law.