Friday, October 11, 2024

Can AI Build My App?

Like many in the tech industry, I’ve heard all about the incredible things AI tools can do. While some in tech fear that AI could disrupt their way of working, I fall into the camp that believes AI will empower individuals to accomplish more than ever before. I use ChatGPT as my daily fact-finding engine, and my team has used AI tools to storyboard user journeys. Yet, my search for the holy grail—an AI tool that could build an app from product requirements—had been fruitless. There are plenty of tools that help create better wireframes, write more effective PRDs, and accelerate product creation, but none that do the actual building. That changed when I found Cursor.

My background is in product management and startups. I first saw The Social Network in high school, which led me to read Zero to One, and I was hooked. I fell in love with startups and tech because it’s a field where your name, background, and appearance don’t matter. If you can provide value to users, you can win—and I wanted to win. In high school, I began tinkering with ideas after football practice, building spreadsheets and algorithms to bring pro baseball analytics to college baseball, inspired by Moneyball. I’ve since launched and scaled products in healthcare, fintech, banking, and marketplaces. I've helped a company progress to and through an IPO. I've been on the management team of a startup that raised a Series A round. My obsession with startups remains, and I believe AI tools will allow driven individuals to move faster than ever.

With my background in fintech, I decided to test Cursor by building a simple iOS payments app. Since this was just a test of Cursor's capabilities, I wasn’t focused on the business viability of the idea. To make the test realistic, I targeted the app at kids, naming it “Toad” (inspired by the abundance of toads in my backyard). I followed a tutorial on Twitter/X (I’ve since lost the original link, but there are many if you search for “Cursor tutorial”). Below, I’ll outline the steps I took to build the app.

Before diving in, let me offer a few caveats. First, this app isn’t 100% ready for the App Store, but it's close, and Cursor can guide you through each step. Second, I’m not a developer. While I’ve completed SQL certifications and Codecademy courses and understand development mental models and frameworks, I’m far from being able to build software, either front-end or back-end. That’s where Cursor’s magic comes in.

Building with Cursor

Step One

I began with Figma, the industry-standard design tool. It’s simple to use, and its tutorial will quickly get you up to speed. My goal was to create a basic home screen for the Toad app using iOS 18 design inputs. I quickly mocked up Toad’s homepage, incorporating Oakland A’s green and gold as a tribute to their final game in Oakland. The design wasn’t fancy, nowhere near release quality, and lacked finishing touches—but it served the purpose of testing Cursor’s capabilities.


I stopped here, took a screenshot of the design, and prepared to upload it to Cursor.

Step Two

Next, I downloaded and set up both Xcode and Cursor, signing up for a Cursor subscription (about $20/month) to access its AI tool, Composer. Once everything was downloaded, I ensured both apps were running smoothly.

Step Three

I won’t go into too much detail on Xcode since the onboarding process is straightforward. Cursor also offers a helpful onboarding guide, which I recommend following. The next step was to create a new .txt file in Cursor titled "Instructions" and upload the Figma screenshot. Here’s where it clicked for me: I could explain to Cursor in plain text what I wanted to build, just as I would explain the idea to a key stakeholder or team member.

One of Cursor’s strengths is its intelligent autocomplete feature. For example, when I mentioned we were building an iOS app similar to Cash App, Cursor suggested using Stripe for payment processing, along with SwiftUI, Swift Data, and Swift Concurrency. 


I continued giving Cursor more detailed instructions—describing how the app should match the screenshot, what the menu bar should contain, login requirements, and the placement of various buttons. I concluded by instructing Cursor to complete the app.

Step Four

This is where the magic happened. Composer, Cursor’s AI tool, appeared as a simple text box, and I interacted with it just as I would with a software engineer. I instructed Composer to follow the 16 lines of text I had written and use the single screenshot from Figma.

From these basic instructions, Composer generated two files (where the actual code resides), giving me the core of my app. Composer also explained its process, offering insights as if it were a senior engineer guiding a junior developer. 


Step Five

Now it was time to take the files Composer created and move them into Xcode. If Composer acted as the senior engineer, Xcode was the tool where the app would be built. As a first-time iOS app creator, I found Composer’s guidance invaluable, helping me set up Xcode, organize files, and manage naming conventions. 


Step Six

That’s really all it took to create a functioning iOS app front-end. From here, I iterated on the app to refine the final product. For example, I updated the entire app’s color scheme to match the Oakland A’s colors.



I also adjusted specific UI elements, added links (e.g., to iMessage), created new pages, and fine-tuned the language within the app. Along the way, I encountered errors in Composer’s code, but each time I reported the error code, Composer swiftly provided solutions.

 


Conclusion



After about half a day of back-and-forth, I had a fully functioning iOS app front-end running on my machine. It included a QR reader, customer support functionality, sign-up flows, error states, Stripe integration, and more. While back-end work is still required, along with legal and compliance considerations, this was a phenomenal leap forward for me. I’m someone with no prior app development experience who managed to bring an app to partial life.

My key takeaway is that the "holy grail" of turning plain text into a fully developed app still isn’t fully solved by AI. However, Cursor’s Composer is the next best thing. I agree with successful entrepreneur Nikita Bier, who says that app companies should be led by "product architects"—people who go beyond the traditional roles of product owners or managers. I believe tools like Composer will elevate the best product managers, turning them into supercharged product architects. In the near future, the role of product owner could be eliminated, with higher standards for product managers across the board. The best startups will leverage these product architects and their mastery of new tools to generate great products with fewer resources, faster than ever before.


I'd love to hear from you about what tools you're using and what you're building with them. You can reach me at linkedin.com/in/bryceam, x.com/bryceam, and mcphail . career @ gmail . com.

Friday, January 26, 2024

What I've Learned Leading Product Development from Seed to a $6.5m Series A

I do not believe there is anything more intrinsically American in today's business environment than founding and scaling a startup. Identifying and fulfilling a mission that the market needs is an incredible opportunity that I hope everyone has an occasion to chase after. For the past 2.5 years, I've had the privilege to join a seed stage startup, where I lead the Product Development vertical that houses product, design, and engineering. We have recently announced a multimillion dollar Series A round from Foundry and other wonderful investors. I'm writing this for anyone who was like me, who loved the David and Goliath startup stories and wanted desperately to be part of those stories to create a company that propelled the world forward. This is intended as a non exhaustive list (the exhaustive list would be far too long for anyone to want to read!) of things I've learned from leading the Product Development team at HitchPin. Thank you to the HitchPin team, investors, true believers, and users for teaching me or further instilling in me these lessons.
This list is not in any particular order and certainly not most important to least. If anything, I believe the last items carry the most weight.

     1. Mission Above All 
Your mission comes first always. Your mission is your "why", the succinct reason your company exists. You must know why you do what you do, how you do it, and whom you do it for. If you don't know why you exist as a company, you will not know how to serve your users,, be able to create a roadmap for serving those users, or grow the company. Your mission must be something every member of the team can recite at the drop of a hat. It is your rallying cry for your users to be drawn to. It should be the phrase your first users say when referring your business to your next users. Every meeting, every project, every pitch, every commit, every release should be able to draw a direct line back to the mission.  The mission is your guiding light. I tell the team I have the privilege to lead the following as it relates to our priorities. Our (clearly defined and oft repeated) mission comes first. Our team, the unit comprised of the individuals working on the mission, comes next. Your teammates as individuals comes third. We put ourselves last. When we operate with this priority order, we are putting our users, our team, and our teammates above all else, which allows us to operate at our highest capacity.

    2. Work Backwards
It sounds simple, but a shocking amount of people look to build companies and products linearly, from front to back. Instead of starting with the thing you want to build and working towards what problems do you hope those solve, start with your mission, or "why", and work backwards to build what your users need. Learn more from the pros here.

    3. Find True Believers
The most common piece of advice for startups is to listen to your users. This is clearly good advice. Unless you're building a product for you to use, make products for the people who you want to use them. 
Taking this a step further, you should work tirelessly to identify your true believers. A memorable anonymous military quote about true believers from a special forces instructor is as follows -
"Somewhere a True Believer is training to kill you. He is training with minimum food or water, in austere conditions, day and night. The only thing clean on him is his weapon. He doesn't worry about what workout to do---his rucksack weighs what it weighs, and he runs until the enemy stops chasing him. The True Believer doesn't care 'how hard it is'; he knows he either wins or he dies. He doesn't go home at 1700; he is home. He knows only the 'Cause.' Now, who wants to quit?" 

Your true believers are likely not training to kill (unless you work at Anduril, Epirus, or any number of great defense tech companies), but you do need to identify people who fervently align with your cause or mission. These people will be the users who act as evangelists and grow your user base as fervently as employees because they are passionate about the mission you have identified. If Tesla can famously use these true believers to help deliver the first Teslas coming off the assembly line, you can identify and cultivate true believer relationships to propel your product and business forward.


    4. Thermostat or Thermometer
As a leader, you need to be a thermostat. Thermostats shape and determine the climate they exists in, whereas thermometers simply reflect the climate they're in. There will be many ups - funding! new clients! - and downs - missed deadlines! shortening runways! - but as a leader, it is up to you to ensure that your team and the teams you part of have a temperature that you consciously choose. Great things in business don't just happen to people. Great people decide to make great things happen.

    5. Execution > Ideation
One of the most attractive aspects of a startup, and certainly a reason startups overtake incumbents, is the lack of bureaucracy when it comes to suggestions, ideation, and brainstorming. The ideas from the team should be discussed, documented, evaluated, planned, etc. but these ideas are nothing without execution. No points are scored, no new funding secured, no customers acquired, no revenue generated, no world changed by a concept being discussed. It is imperative to build a culture that values ideas as helpful conversation topics, and execution as the action worth chasing. If you value ideation and celebrate execution, your team will work to implement. This will also guide your hiring as you look to hire builders and not "ideas guys".  The startup graveyard is littered with a million ideas unexecuted. As the leader, it is your responsibility to create a culture that values action. Be part of the solution by relentlessly executing yourself.

    6. Set the Standard, Define the Process
As a leader, it is up to you to define the standards and processes that you want your team to abide by and generate their buy in. There is a modern leadership mindset that people are best left alone to perform their best work while not risking upsetting them. This is wrong. For your team to perform their best, they need to know exactly what the standard is, and understand the process used to achieve the standard. By defining and documenting the standard, team members can determine if this is a team they want to be a member of, determine if their actions and work are up to par, and build trust with leaders by knowing exactly what is expected. By defining the process by which the team will meet the standard, team members have an opportunity to have input in the way work is done across team members with the singular guiding light of the set standard. As with everything else, the standard must align with the mission of the company and department. 

    7. Document Everything
This isn't limited to product development or leadership roles. You should identify your preferred process for documentation and document everything. Seriously, everything. Go / no go decision on a feature? Document it. A team member wants more resources to accomplish a goal? Document it. No one else in a meeting is taking notes? Yep, document it. Not only can documentation keep you out of hot water if someone accuses you of doing wrong, it can more importantly create alignment, save time, avoid mistakes, and share knowledge across people and departments. If you are in a position where you feel you aren't adding value, simply creating documentation for any projects and meetings you are part of will create tremendous value.

    8. Be Unapologetic About Your Mission
In the same way it is imperative that you find and serve your true believers, it is also imperative you understand that you will not serve everyone. There will be people who do not align with your mission. That doesn't mean you change your mission to fit these people. It will be tempting to change your mission to fit what any potential customer wants, but by doing so you are shooting yourself in the foot because if you try to serve everyone, you will serve no one. 

    9. Be Constant
Your team needs you to be constant. They need to know what the expectations are, what the standards are, what meeting cadences will be, what information you'll be interested in, and generally be aware of what to expect from you. There are times to turn up the intensity to hit a deadline, or times to turn down the intensity due to a team member's time away, but even within those times, being constant in your approach and communication makes your team better.

    10. Less Outputs, More Outcomes
At larger companies, I've seen people, teams, and departments fall into the trap of focusing their time on more story points closed, more hours on keyboard, more commits, and more sprint goals met. These are outputs. While these things are typically leading indicators of successful teams, it isn't what matters. What actually matters is the outcomes produced for the user by the team. Your job as a leader, and as any member on the team, is to create and iterate on a process that allows your team to quickly, smoothly, and cleanly deliver more and better outcomes to your user.

    11. Stay Aligned
You cannot successfully achieve company and cross functional goals without alignment. As a leader, you need to be in constant alignment up, down, and sideways across the chain of command. You need to convey the strategic pivots, areas of focus, and important information from the CEO to your team, and you need to bring major concerns, needs, and wants from your team to the CEO. You need to ensure that you are in alignment with other verticals that are impacted by your work and vice versa so that you give the company the best chance of success.  At a startup, there is no success outside of the company's success, so you must care about every team's success, not just your own.

    12. Ego is the Enemy
If you care about being right or getting the credit, startups are not for you. To previous points above, your mission, your team, and your teammates must come before yourself. Your goal should not be focus on being right, but focused on getting it right. The difference here is the ego cares about being the one to provide the solution, and the egoless person only cares about the solution being identified regardless of where it originated. You should of course work to identify solutions in hopes that you can crack the code of what is needed, but you should also celebrate your teammates when they are the ones to uncover the solution. There are no individual wins, only wins that advance the team forward.

    13. Extreme Ownership / GOOD
Virtually every startup you encounter will tell you their employees "think like owners". This is one of the phrases every startup founder parrots but has unfortunately lost some of its firepower as mass layoffs have occurred. I believe the difference between great founders, great leaders, and great startups and mediocre founders, leaders, and startups is the difference between talking about being owners and actually acting like a true owner. Stolen from Jocko Willink and Leif Babin, this is the most powerful leadership principle I've encountered. It also is the component I've seen successful teams embody the most. Jocko and Leif define extreme ownership as There is no one else to blame; you must own problems along with solutions; commit to lead up and down the chain of command. When you as the leader are constantly looking to find ways to own problems and lead, your team will take notice. All teams will appreciate this. Good teams will notice your behavior. Great teams will notice and embody this behavior. The magic occurs when entire companies begin to act as owners, where no one looks to blame, but everyone looks to take ownership of the problem. 


You can reach Bryce at mcphail.career@gmail.com

Can AI Build My App?

Like many in the tech industry, I’ve heard all about the incredible things AI tools can do. While some in tech fear that AI could disrupt th...