Rebooting the ‘save as html’ magic. Welcome to the AI codegen era…

The incredible speed of progress in AI-assisted application development is currently unleashing a wave of permissionless, creative innovation similar to the early days of the web, something I like to call the ‘save as html…’ era. 

The mid-to-late 1990s were a time of creative and permissionless innovation, the beginning of the world wide web. In that age of static, simply-hosted websites, the lack of tooling, platforms, and established frameworks created constraints that forced a type of scrappy and even weird style of web development for anyone bold, nerdy, or quirky enough to have something unique to say and wanting to get it out there as quickly as possible. In those days, if you wanted to create content around one of your personal interests, you weren’t posting on X, LinkedIn, Facebook, or Medium (all centralized ‘web 2.0’ platforms that did not yet exist). You likely also weren’t pulling down the latest javascript framework, coding custom components, and tinkering with a continuous integration and deployment pipeline. Those developer norms also did not yet exist! 

Rather than post to a centralized content platform or engage in a feat of software engineering, creative and expressive individuals would often create documents in MS Word, save as html, and upload to one of the many ad-supported free web hosting platforms of the era (such as GeoCities, Angelfire, or Tripod). The more technically-inclined tinkerers might have added some <blink> tags, spiced up their pages with some animated gifs and hit counter widgets, or written some primitive javascript to do something like make the background change color, have text bounce around the page, or play a song. Of course, the code generated by Word and other WYSIWYG creation tools of the day was absolutely terrible, and the resulting web pages were filled with bugs. But none of that mattered! This sort of scrappy, low-fidelity burst of permissionless creativity sparked an excitement that pulled millions of people online. It expanded peoples’ imagination for what the internet could make possible and the expansive role it would undoubtedly play in our society.

MS Word 97 file menu showing 'save as html'

Since then, ‘web development’ became professionalized as a field of software engineering, and centralized platforms emerged and grew into some of the largest and most valuable companies on earth. There are well-paved paths for how to build applications on the internet, and the technical infrastructure now exists to create services that scale to millions or even billions of users. While these represent transformative innovations that largely improve our quality of life, some of the spirit of scrappy innovation has been lost. 

Generative AI, however, is creating a new inflection point for the growth of creativity online. Over the past year or so, there has emerged a plethora of tools that streamline the speed and ease of creation for developers and even allow non-coders to build some pretty compelling applications. Tools such as v0, bolt.new, and replit have some pretty impressive capabilities out of the box, and the pace of adoption for the Cursor IDE is unprecedented. Even as an experienced developer, the ability to easily and quickly work with libraries, languages, and systems with which you have no prior familiarity is pretty amazing, and it expands the scope of what you can achieve while lowering the activation energy of getting started. For example, while I’m an experienced programmer when it comes to automation, analytics, and data, my front-end skills are lacking, and I have zero experience with voice or telephony. Using Cursor, I recently built an interactive, visually pleasing math app for my 8 year old and created a voice-based AI agent for personal use, complete with Twilio and Google Drive integrations. AI coding tools are still early, and I can’t imagine building those apps without knowing how to code and understanding/editing what the AI is writing, but it’s easy to paint a picture of how such technologies will improve.

For the truly intrepid, it’s becoming possible to build largely by writing prompts, accepting changes, and correcting bugs as you go, rather than coding by hand. Prominent AI engineer Andrej Karpathy calls this “vibe coding”. This practice feels very, very weird, even dirty. But it sure is fun, and as models improve, it’s going to keep getting better. Perhaps more importantly, it’s going to lower the cost of experimentation and create opportunities to build amazing things for people who never would have considered themselves developers.

vibe-coding

In the next year or 2, we’re going to see a TON of really bad code and buggy apps. I believe this is good! No, you shouldn’t build financial infrastructure or medical device software with this sort of technique (yet*).  BUT the inevitable explosion of weird and divergent experiences will catalyze an entirely new wave of innovation in the world of technology and open peoples’ minds to a far more expansive vision of the possible future. 

I’m excited by the ability of generative AI to facilitate self-expression and creativity, whether through code, art, or writing. As these technologies continue their rapid advance, they have the ability to open the door to a greater breadth of innovation from a broader set of individuals. Indeed, we can recapture the magic of the early web while also benefiting from the maturity and scale of the modern internet.

*people used to say this about the web generally, but eventually a new system may become hardened enough to not just be acceptable for these kinds of use cases but even superior

Dolphins in the Tuna Net

“Too many dolphins are getting caught in the tuna net!”

During the 2008 “great recession”, I was working at American Express in consumer new accounts risk management. For an ambitious and analytical 25 year old, this was an awesome job, being responsible for the underwriting criteria used to approve or decline new credit card applications during a rapidly-escalating financial crisis. I literally had the customer lifetime value model on my laptop with now-frequently updating versions of our internal risk prediction models, running scenario analysis, sometimes until 2am, to determine how to adjust and optimize our ‘cutoffs’ to achieve a desired outcome and control our risk. I was in the chief risk officer’s conference room at least once a week and also spent a lot of time with colleagues in marketing, product, finance, and operations walking through our proposals, quantifying the estimated impact, and working to implement them, without errors, far more rapidly than would normally happen at a massive financial institution.

One person I’ll never forget was named Bob, the executive in charge of operations and customer service for global new accounts. He was a key stakeholder of ours, and we were frequently presenting new risk policy changes to get his feedback, buy-in, and ultimately, the cooperation of the couple thousand people in his organization. His most frequent piece of feedback: “too many dolphins are getting caught in the tuna net!” This of course was an analogy to tuna-fishing vessels that accidentally ensnare dolphins in their catch. He constantly sent us examples of ‘dolphins’, good customers who had a credit line decreased, a transaction declined, or an account closed because of our (well-intentioned and overall statistically sound) policies. While this was annoying at the time, and we were confident in the overall impact of our policies on our customer base as a whole as well as the financial health of the company, we respected Bob’s role in serving as the voice of the customer. In the years since, I’ve come to appreciate that perspective even more.

Lending is fundamentally a business of asymmetric risk and decision making under uncertainty. By asymmetry, I mean that the profit one makes on a borrower who pays as agreed is significantly less than the loss incurred from a customer who utilizes his full limit and then charges off. By uncertainty, I mean that it is impossible to know 100% of relevant information at the time of underwriting. The implication of these facts is that even with the most state-of-the-art predictive modeling, a lender needs to decline many applicants who’d likely perform well in order to avoid approving the comparatively fewer who would not.

We can explore some very oversimplified numbers to make the example extra clear. Let’s say that a lending product has an interest rate of 12%, cost of capital of 5%, acquisition cost of 1%, and other operating expenses of 1% (all annualized % of initial principal for simplicity). Since 12-5-1-1=5, this means that a loss rate of above 5% would make a cohort of borrowers unprofitable. If someone applies for this product, and you predict a 6% risk of default, you would decline this borrower due to negative expected value. If 100 borrowers were to apply, each with a predicted risk of 6%, you’d decline all of them, even though you expect 94% to pay as agreed. As mentioned, this example is incredibly oversimplified and not really how you’d do the math in real life*, but the general point holds. There are lending products where the right cutoff is 40%, and there are others where the right cutoff is 3%, but there always is a cutoff, and lenders need to decline a lot of likely good borrowers to avoid the losses from the riskiest ones.

Most people outside of the world of credit (and especially those outside of statistics) likely don’t appreciate how many dolphins need to be caught for any profitable lending business to operate. Perhaps ironically, the ‘better’ credit products with lower interest rates actually need to catch proportionally more dolphins than the ‘worse’ ones with higher pricing!** In addition, the ‘net’ of risk criteria is not only cast at the point of initial underwriting but across the customer life cycle. Examples include pricing, line/loan sizing, authorizations, cross/up-sell, collections, and more.

So, is the sea of consumer financial services doomed to be eternally unsafe for dolphins, or is there some better way? Responsible expansion of the availability of credit is overall good for people and businesses, and lenders certainly have a clear profit incentive to approve as many applicants as possible. 

There are many techniques that lenders have used for some time and are consistently tweaking for better results. One example is “low and grow”, where lenders approve marginally risker applicants, but for fairly small amounts, growing exposure over time only for the accounts who demonstrate a track record of repayment. Other strategies are too numerous/complex to discuss here and are probably a subject for a future post.

Often overlooked, however, is the fact that customer experience can be one of a lender’s greatest risk management assets. Lenders who provide a unique and differentiated experience for their borrowers can make responsible payment the ‘default’ behavior. They can build favorable brand associations and engender the kind of loyalty that makes customers more likely to want to maintain a positive relationship. For example, product experiences can be structured to be aware of a borrower’s financial situation, potentially adjusting credit availability and payment terms dynamically. Customers in a situation of financial stress usually owe money to multiple creditors. Lenders who identify the issue early, engage with the customer proactively with respect, and work to craft a repayment plan that works for both parties will find themselves at the top of the payment hierarchy***. Furthermore, customer experience is the one truly unbounded competitive advantage in lending, something that can always get better and better with no limit (whereas e.g. your operation can get more efficient, but your opex will never be zero). 

I’ll always appreciate the lesson of the dolphin in the tuna net. Putting customer considerations at the forefront allows lenders to build a strong brand, expand access to credit, and earn not just the qualitative loyalty but also the repayment behavior of your customers. Through providing customers with the right product, at the right time, with the right terms, and giving them an experience that treats them with respect, gratitude, and transparency, the best lenders can rise above the fray. 

Footnotes:

*Real-life credit policy development is a complex and somewhat fascinating exercise in constrained multivariate optimization and applied systems theory.

**There are plenty of lending businesses with a 25% loss rate that are highly profitable due to their high pricing. 

***Payment hierarchy refers to the order in which customers pay their bills, assuming a limited budget. 

Image of dolphins and tuna swimming in an ocean with light coming in from above and gold coins floating around, generated using midjourney
Can of tuna from Trader Joe's. "Dolphin Safe" logo shown

Good Risk Officer, Bad Risk Officer

Ever since reading The Hard Thing About Hard Things, by Ben Horowitz, I’ve often thought about one of Ben’s classic blog posts, Good Product Manager, Bad Product Manager. Despite being written back in the web 1.0 days, its concepts are relevant today, and I frequently recommend them to my team and colleagues. In fact, the good/bad construct can apply to other types of jobs, and I recently thought it would be useful to apply it to the practice of risk management in financial services.  

The job of a Chief Risk Officer and his or her team is complex, requiring a mastery of high-level strategy and precise detail, and it’s critical to the success of any lending business. As fintech continues to proliferate, with even non-financial-services businesses adding lending as a product capability, the risk role gains more importance and greater scope. Over the past 15 years, I’ve worked with probably thousands of people in the world of risk, people who are responsible for strategy and execution of customer-facing decisions, capital allocation, portfolio management, and generally the lifecycle and performance of a lending business. These include my colleagues at massive institutions like Amex or Citi, or the many clients, colleagues, and partners I’ve gotten to know through Orchard, Kabbage, or Ocrolus, and in the global fintech community. 

I’ve compiled a set of principles to apply this good/bad framework to risk managers. Obviously, there are a lot of ways to do a job well, and some of these may indicate my own style or biases. Nevertheless, I hope they are helpful and can spark reflection and conversation on what is a critical role in the world of financial services.

  • A bad risk officer tries to predict the future and lures himself and others into a false sense of precision. A good risk officer simulates many versions of the future, generating a distribution of scenarios and a flexible strategy to account for unforeseeable risks.
  • A bad risk officer focuses only on fancy new modeling techniques as a source of outperformance. A good risk officer recognizes that data is more important than models and seeks the most comprehensive and accurate information about his customers and the environment in which they live and do business.
  • A bad risk officer only develops a control function, focused on protecting downside. A good risk officer builds a high-performance learning organization dedicated to profitable growth, without surprises, and with a great customer experience.
  • A bad risk officer develops risk strategies and policies and tosses them over the wall to technology and operations groups for implementation. A good risk officer sees herself as a technologist and operator and seeks end-to-end partnership, knowing that operational risk, though often harder to measure, can bite you in the ass.
  • A bad risk officer hires lower-skilled analysts that create a bunch of manual, non-reproducible work in Excel. A good risk officer builds an analytical team with top-notch, modern software skills who create modular, performant, and high-quality code, where each development is a building block for the next stage of innovation.
  • A bad risk officer asks his team for an endless set of ad-hoc manual reports. A good risk officer, knowing that most reports in most companies are never even read, invests in a scalable and automated reporting strategy that combines reports, alerts, and interactive tools to have a constant pulse on the performance of his portfolio.
  • A bad risk officer is overconfident in the ability to translate success with one product or customer segment into success with a completely different one. A good risk officer is wary of trying to model outside of one’s data and seeks new data and new approaches for new areas of business.
  • A bad risk officer focuses only on systems and rules, believing that lending is just a math problem to be optimized. A good risk officer recognizes that credit is fundamentally based on human psychology, and that a trusted brand and high-quality customer experience can be one of the most advantageous assets in managing risk.
  • A bad risk officer thinks of borrowers as good or bad people based on whether they perform on their loans. A good risk officer realizes that good people often face unforeseen financial hardship and builds processes to identify these situations as early as possible and resolve them in a positive-sum way.
  • A bad risk officer gets complacent about fraud risk, either naively believing they don’t have any or by employing overly blunt measures that punish good customers for the sins of a few. A good risk officer is constantly innovating, searching for new data, and exploring new ways to identify and prevent illegitimate activity while minimizing the impact of false positives on customer experience.
  • A bad risk officer focuses on short-term performance and ‘looking good’ today. A good risk officer builds a learning system, identifying key tests, questions, and KPIs. She ensures that data systems, culture, product structure, and operational processes are all oriented towards collecting reproducible and well-documented lessons that can serve as building blocks for future high-quality growth.
  • A bad risk officer sees customer service as a sales and operations job. A good risk officer makes sure everyone in the organization has frequent customer and market interaction and seeks out feedback directly.
  • A bad risk officer treats technology as a cost. A good risk officer is a technology innovator, constantly exploring new ideas and pushing his/her team to adopt forward-thinking solutions enabled by technology.
  • A bad risk officer focuses on managing an organization in a narrow vertical. A good risk officer builds relationships with other executives in the organization as well as with industry peers, clients, regulators, capital markets participants, and vendors.
  • A bad risk officer thinks only in abstracted KPIs. A good risk officer realizes that everything in their portfolio is ultimately the result of a decision involving an individual business owner or consumer.

The job of risk management continues to grow in importance and impact, particularly as lending expands beyond the domain of large banks and one-size-fits-all products. In fact, the role has indeed become so broad and all-encompassing that it potentially needs a new name. Most importantly, good risk officers are constantly learning and growing, seeking to drive change both in themselves and in the people and business around them.

Bottoms Up Thought Leadership

It occurs to me that a lot of the most interesting and followed thought leaders in various spaces did not achieve that by first being at the top of their fields then deciding to share.  They did so by learning in public. While this seems counterintuitive, it also feels like a pattern that emerges everywhere once you start looking for it. Here’s how it works:

A person decides that he/she has a strong interest in a given field and wants to learn. He starts writing about it frequently. The early writing is pretty superficial, and few of the insights are super compelling. But, there’s also not much filter, and that’s a very good thing. The new writer/learner lacks the hesitance that more experienced people tend to develop (“when you’ve got nothing, you’ve got nothing to lose…”). Because of the sheer volume of content, some of the insights are true gems. Then, more people start following, partially because the gems get signal-boosted, and the mediocre content fades into obscurity. Soon, many of the most-informed people in the field start following this person, and the conversations become more bidirectional. The person is now learning so quickly that their depth of understanding is greater, their ‘hits’ more frequent, and their expertise more recognized. Such a person then ends up being a thought leader better recognized, better informed, and more influential than people who have been in a field for decades and who occupy more traditional positions of authority and success. This is basically disruptive innovation for thought leadership.

Like many things, humans often get the direction of causality backwards. This is very true in understanding how people learn. It’s not necessarily that well-seasoned experts suddenly decide to go public with their knowledge and participate in the community. It’s more that relative newcomers develop a passion, decide they want to become experts, and by learning publicly, engaging with the community from the start, and by not being afraid to publish frequently, end up becoming the experts. 

One of my favorite colleagues at Citi around 10 years ago was a woman named Jane who ran the national commercial and business banking sales force. One thing she said that I’ll always remember was that most people want to know exactly how something will work out before they commit to doing something, but real leaders make a commitment and then work to ensure the right things take place. Again, this pattern appears everywhere once you know to look for it. Most people say things like, “once I take care of [thing1] and [thing2] and [thing3], I’ll finally be able to do [interesting thing I’ve always wanted to do]”, whereas successful people just start doing the interesting thing.

We all have aspirations that we’re putting off in the expectation of somehow, someday being more ready. We must, however, learn to identify false dependencies. In fact, the best time to learn something new is often right now.

Central Connecticut as a Tech Hub?

All this talk about new tech hubs makes me wonder about building one in Central CT, a beautiful place I’ve only discovered in the past 9 months.

2 hours to NYC, 1.5 to Boston or Providence, 60 mins to Stamford and 30 to New Haven. Lower taxes than NY or CA.

Proximity to world-class universities, including Brown, Yale, Harvard, MIT. 

Fantastic housing stock in a beautiful setting, with diverse architectural styles and character, financially viable for people and families at all stages of life.

Incredibly beautiful nature in all seasons, with mountains, farms, trails, fields, rivers, lakes, beaches, and forests.

Excellent public schools at all grade levels with ample private and parochial options for those who desire it. Great place to raise kids.

Amazing quality of life, with vibrant restaurants, culture and everything from farms to town centres to cities in close proximity. Sports, religion, music, art, or anything else – it’s a great place to pursue your hobbies.

Fantastic access to the outdoors with incredible options for hiking, climbing, fishing, boating, skiing, swimming, running, and biking – especially biking with seemingly endless protected greenways through forests, over rivers, and alongside farmland.

The farm is close to your table, with a huge number of crop farms, animal farms, educational farms, dairies, wineries, and orchards. 

Central CT has a well-educated and professional workforce, with a surprising number of successful companies headquartered in otherwise suburban towns and of course the significant financial and insurance industry presence in Hartford. Close by is the New England health-tech corridor as well as the many investment firms of southwest CT.

In a time where many companies will undoubtedly pursue hybrid or distributed workforces, flexible work is made easier by the greater availability of affordable home offices along with the ability to concentrate and do great work in a peaceful setting.

If you’re pursuing creative, ambitious, and impactful work, it might make sense to do so amidst the natural beauty of New England, away (but not too far) from the chaos and distractions of the big city and in a place where you don’t need to sacrifice time with family and quality of life. 

Is Central CT a future tech/fintech/healthtech hub? It’s too early to tell, but it certainly has a lot going for it.