When I was building this website, I read many online biographies of peers and people that I respect in my industry. I appreciated that they were mostly factual, brief, and humble. But I always walked away wishing I could understand more about how they ended up where they were and why they made the choices they did. For that reason, I’ve attempted to provide a somewhat longer-form bio with a bit more raw information. I’ve also included a “Cliff’s notes” version.

While the graph above doesn’t expose every nuance in my life, it does provide a first-order approximation of how I’ve spent a majority of my time since high school. You can show the Sleep and Unmeasured categories by clicking on them in the legend (disabled by default because it makes the trends more visible).


Before college, my “professional” time was split between school, sports (rowing and discus), and debate. While I earned various awards in all three, I excelled at none. I was fairly sure I was not going to get into a “top” school and my parents (thankfully) encouraged me to only apply to public universities.

I was rejected by UCLA and UC Berkeley and narrowed my choice to be between UC Davis and the University of Washington. I chose UC Davis because I was accepted into the honors program and because that was where my partner at the time wanted to go. At Davis I could also be a walk-on for the Track & Field team.


From my perspective, UC Davis would allow me to continue the life I had lived in high school, split evenly between school, sports, and some form of academic extracurricular. I was a Political Science major, but also took classes in Mathematics. My sport was throwing Javelin. After a chance encounter, my extracurricular activity became being President of the Tercero Leadership Council.

The first thing to change that perspective was being cut from the Track & Field team. At the same time, I had begun an internship with then ASUCD Senator Andre Lee. In a scramble to re-align my self identity, I decided that spending time on sports past a certain level of physical fitness was a waste of time (for me) and that public service was where I should focus my attention. This view became less aggressive and more nuanced as I got older (my interest in effective altruism in 2018 being an example).

The second shift was more positive. After deciding I might double-major in Mathematics and Political Science, I enrolled in my first Computer Science (CS) course, ECS30, taught by Vladimir Filkov. With some help from my dad, hundreds of hours, and a great deal of guidance from Professor Filkov, I made it through the course and fell in love with the field.

From then on I slowly transitioned away from Political Science and towards Math and CS. My feeling at the time was that in Political Science I was studying the problems I thought were important, but was learning no tools I could use to solve them: even the most quantitative PS courses were less rigorous and more problem-focused than my Math/CS courses. While I viewed problem discovery as important, I concluded that if I was able to handle Math/CS courses, I should focus on those and learn real-world problem solving through student government instead. I was able to make the switch from Political Science to Computer Science thanks to the flexibility of the CS major at the time and some salient advice from Cal Newport via his college-focused blog, Study Hacks – highly recommended. While counter-intuitive to me at the time, the Study Hacks idea of underscheduling proved the most useful. I originally intended to finish my major in Political Science. Instead, I gave up on even minoring in Political Science and dramatically reduced my courseload and focused intensely on a smaller set of CS and Math classes. This gave me much more time than my peers to work on homework assignments and ultimately allowed me to take advantage of other low-hanging fruit.

While I was having my CS “Renaissance”, I also increased my involvement in ASUCD. I was elected to ASUCD Senate as one of twelve senators responsible for setting a $12MM operating budget. Key projects of mine included “Bait Bikes”, a program to reduce bike theft, and an effort to enable students to teach courses championed by my friend Rylan Schaeffer. I learned many things from ASUCD. Similar to my previous experience with Speech and Debate, ASUCD allowed me to hone my public speaking. It also taught me a great deal about how decisions in any organization get made. Initially I thought that having the most concise, well-reasoned arguments would magically win over my peers and garner votes for my legislation. Instead I found that befriending my peers, establishing and aligning values, and compromising on various issues was much more effective than argumentation. I still think debate has it’s place, but I find it’s more a tool to form one’s own beliefs and not to change the minds of others. Looking back on my time at ASUCD, my biggest failures were a lack of follow-through and an inability to mentor and delegate. I did not monitor or measure the performance of Bait Bikes and I did not pass down my learnings to other interested UC Davis students so that they too could participate in student government.

After my time at ASUCD, I spent a year as the Student Assistant to the Chancellor (SAC) where I sat on various committees, found ~$50K in funding for safe transportation, and enabled a few student-led art exhibitions. My main failing as SAC was prioritization and, again, follow-through. I learned a bit about data-driven decision making and how not to waste a meeting with someone who has power and very little free time.


During college I had two summer internships. One was at the US Department of Education, the other was at Apple.

At the Dept of Ed. I was energized by the problem but frustrated by the tools used to solve them (mostly Excel and a slow interface to a SQL database). I did some useful work, but mostly assessed data quality. I also ended up taking their servers down for a few days (on accident) but that’s a story for in-person.

At Apple, my work on Binary Classification was more challenging, which I enjoyed. But the problem itself seemed to not be of any critical importance. Who cares if people with iPhones can auto-magically make their photos look a little bit better?

Based on these two experiences, I resolved that I would try to do technically challenging work on problems I thought were important.

Graduate school

Similar to the end of high school, at the end of my undergraduate education I had a diverse set of mostly orthogonal activities. Instead of looking to continue them independently, I looked for ways to merge my interests in public service, climate change, and Computer Science. After limited searching, I happened upon PhD programs which combined various forms of engineering and public policy. I applied to many of these programs, my first choice being Engineering and Public Policy at Carnegie Mellon University (CMU). Having not done any research as an undergraduate or produced anything similar to the work done in those programs, I was rejected by all of them. By a stroke of luck, CMU offered me a spot in their Civil and Environmental Engineering Master’s program.

I took the opportunity at CMU and spent a year in Pittsburgh, PA. This allowed me to take courses in Engineering and Public Policy (EPP), learn a bit more about power systems, and continue my analytics education in machine learning / optimization. Thanks to some direction from my advisor, Jared Cohon, I quickly discovered that I enjoyed optimization and had no business as a Civil Engineer. I also made an observation about EPP: while applying rigorous quantitative methods, EPP primarily studied existing solutions to important problems. I felt that before I could participate in evaluating technological solutions, I should try creating my own. For this reason I applied to another set of PhD programs, this time in the field of Computational Sustainability. Again I was rejected by every program I applied to (including CMU). Partly because of a poor application strategy, partly because again I had done no research at CMU and had published no papers.

Discouraged, I decided I would try to work as a software engineer or data scientist in the clean energy industry.

First full-time job

Initially I thought a CS person looking to work in clean energy was rare. But after googling “software and renewable energy”, I discovered the bay area Software for Renewable Energy meetup group. This group is how I became aware of the Oakland-based accelerator/investor, Powerhouse. After attending their annual clean energy party, New Dawn, I emailed every sponsor and every person I had met. Out of that networking sprint, I landed a job at Genability which provides electricity rate data and cost modeling for almost every New Energy company, from Solar providers like Tesla to electric vehicle companies like BMW, and more.

At Genability I learned many things about modern software development (agile, CI, CD), cloud-based infrastructure (AWS), and the good/bad of startups. After a few years, I realized that while learning to be a full-stack software engineer was useful, I thought I could be more effective (and more fulfilled) if I also applied my background in Math. With little research/thought, I decided on energy storage for my next move. My general reasoning was that the cost of solar was already below $1/watt and that marginal effort spent on energy storage would perhaps provide larger marginal emission reductions.

Founding Nanogrid

Another chance event, Powerhouse’s SunCode Hackathon, sparked my next career choice. With encouragement from CEO Emily Kirsch and guidance from Martin Baker, Joe Gross, and Jason Riley, I successfully took my team’s first-place project and found funding, mentoring, and space from Powerhouse. In starting Nanogrid, I hypothesized that I could learn about starting a company and also work on a more optimization/ML based product. My initial idea was to provide machine learning as a service for commercial energy storage companies.

As with most startups, things did not go as planned. Regardless, I learned a lot in a small amount of time, got to work with great people like Dan Lopuch and Jon McKay, grew my network substantially, and had a few successes, including contracts with Nissan and SunPower. There are many more lessons and mistakes I can share about my experience with Nanogrid, but I’ll leave that for in-person discussions.

Myst AI

I started working at Myst AI in 2019. My hypothesis for joining Myst was to get back to the original reason I left Genability: I thought I could be more fulfilled and have more impact if I worked at the intersection of math and CS on an important problem (as opposed to software engineering alone). Myst promised and has proven to be just that, plus a large list of other things I could not have expected which make Myst a great place for me to leverage my existing skills and grow.

(2022-01 update)

Now that I’ve been at Myst for 3 years I face a fortunate dilemma. First in terms of growth, I need to figure out if I should (1) round-out my technical toolbox, or (2) capitalize on my solutions engineering skills, or (3) something different. In terms of impact, I’ve actually been a bit disappointed. While the applications of forecasting to clean energy (and hence climate change) are clear, the devil is in the details for whether more accurate and scalable forecasts are going result in huge marginal emissions decreases. Some have argued anecdotally that cheap storage and solar will make foresight less important (as storage is adaptable). I’m keen to understand whether Myst can demonstrate a quantifiable short-term and long-term emission reduction that makes my continued time spent there worthwhile, otherwise it may make more sense for me to either focus on something like energy storage more directly or to pivot to somewhere else more dedicated to or capable of quantifying and maximizing positive impact (e.g. GHG emissions reductions).

Synopsis with Acknowledgements


Mostly aspired to be a Polymath

While I diverged from that path later, I learned many valuable skills I still use today:

  • Public speaking and argumentation (Speech and Debate)
    • thanks Dr. Sharon Moerner, Karen Keefer
  • Core understanding and appreciation of Math
    • thanks Steve Cochran
  • Commitment and value of exercise via sports (Discus, Rowing, etc.)
    • thanks Gerri Baldwin, Lynn Gardner, Charles Olaires
  • Passion for photography and technique (which developed my love of nature)
    • thanks Christine An
  • Basic understanding of Environmental Science, awareness of climate change
    • thanks Greg Stoehr
  • How to quickly interpret “the point” of books (helpful because I read slowly)
    • thanks Michael Smith


  • Gave up being a professional athlete (thanks for cutting me UCD Track & Field)
  • Discovered Computer Science – thanks John Sheehan (dad), Vladimir Filkov, Greg Gilley
    • Internship at US Dept of Education – thanks Markus Luty,
    • Internship at Apple – thanks Greg Gilley
  • Got into student government – thanks Andre Lee
    • Elected to Senate, presided over $12M operating budget
    • Successfully launched “Bait Bike” program to reduce bike theft
      • thanks Adam Thongsavat, Matt Carmichael
    • Helped launch student-led courses program – thanks Rylan Schaeffer
    • Appointed Student Assistant to the Chancellor
      • thanks Brett Burns, Nick Sidney
    • Provided funding for “Tispy Taxi”, late-night student transit
      • thanks Linda Katehi, Emily Prieto, Matt Carmichael
  • Decided to combine CS + public service via graduate school
    • thanks Amy Martin

Graduate school

  • Applied to many PhD programs (Engineering and Public Policy)
  • Rejected by all of them
  • Carnegie Mellon offered me a Master’s in Civil and Environmental Engineering
  • Learned about Policy, Environmental Engineering, Optimization and ML
    • thanks Jared Cohon, Ines Azevedo, Alex Davis, Jeremy Michalek
    • also thanks Dave Dzombak for letting me graduate

Working world

  • Full-stack Software Engineering at Genability – thanks Powerhouse
    • Ran DevOps and did a significant overhaul – thanks Joe Gross
    • Learned a bunch of best practices in SWE
      • thanks Martin Baker, Andrew Fister, Dan Lopuch, Sheena Carswell
    • Learned about engineering management, office politics
      • thanks Patrick Franz
    • Learned a bit about the business side of companies – thanks Eric Danziger
    • Learned a bit about life – thanks John Tucker
  • Co-founder & CEO at Nanogrid
    • Took first place at SunCode Hackathon -thanks Rylan Schaeffer, Francesco Capponi, Devon Yates, Alex Macy
    • Secured investment from Powerhouse
      • thanks Jason Riley, Eric Danziger, Joe Gross, Martin Baker, Emily Kirsch
    • Negotiated contracts with Nissan, SunPower
      • thanks Emily Fritze, Jake Wachman
    • Built some technology from the ground up – thanks Dan Lopuch, Jon McKay
    • Learned a lot about starting a company, had a lot of help along the way
      • thanks John Powers, Claudia Eyzaguirre, Sara Ross, Matt Duesterberg
      • thanks Connor English, Ahmed Sharif
  • Data Scientist at Myst AI (current)
    • Finally tried my hand at applied machine learning
      • thanks for your trust Pieter Verhoeven and Titiaan Palazzi
    • Built and helped sell time series forecasts to leading energy companies
      • thanks Titiaan for the deck guidance and business mentorship
      • thanks Pieter for the modeling ideas and sounding board
      • thanks Sam Kramer for being in the trenches with me
    • Built tools to expedite and automate that process (AutoML)
      • thanks Erin Boyle for the data science mentorship and support