Introducing CodeYam: The Software Simulator
We are building CodeYam, a software simulator. In this blog post, we explore how CodeYam works. We also dig into an example of how a software simulator can speed up how you build great software.
What Is the CodeYam Software Simulator?
CodeYam lets you easily view and interact with any part of your software application through simulation. To do this, the software simulator automatically isolates every feature and creates simulated data to bring that feature to life – and shows that feature in the wider context of your product. Using CodeYam, you can quickly see how a recent code change will affect your product and users. You can also easily preview how users in different situations will experience that change.
The software simulator automatically creates these interactive demos for every part of your software, including the backend code. This has many implications, which we explore further below. You can also read about our definition and requirements for a software simulator here: What is a Software Simulator?
How the CodeYam Software Simulator Works
Imagine that you are working at a startup and your team is tasked with building a new feature: an activity feed. As development of the new activity feed feature progresses, you look for updates on CodeYam.
You can see what the entire development team is working on through screenshots and interactive demos that are automatically created by the CodeYam software simulator. With each demo, the software simulator generates a variety of data scenarios that cause the feature to behave differently. Using this, you can see how different users will experience the new activity feed feature.
As the feature becomes more complete and code is ready for testing, developers merge changes into the staging branch. Instead of requiring other developers to approve the changes simply by reading the code and tests, the software simulator gives them a playground, along with both pre-generated mock data and an easy way to generate new mock data. The playground helps developers find edge cases by testing the code. These simulations help your team feel confident with the changes you are making as you merge in your new feature.
As your activity feed feature is almost ready to ship to end-users of your application, CodeYam makes sharing interactive demos with your team and organization easy. This helps stakeholders understand how the feature will look and work. Instead of pointing colleagues to a staging environment of the whole app with no pre-loaded data, you share interactive demos that are preloaded with relevant data. These demos show exactly how the activity feed feature looks and acts in a variety of user scenarios.
After feedback comes in from the wider team, changes are made, and the feature becomes ready for production. At this stage, the CodeYam software simulator makes tracking and sharing progress fast and easy through screenshots and interactive pages. Instead of text descriptions of features in change logs, you now have clear visuals and interactive demos that allow everyone on the team to quickly understand the current state of the feature.
These artifacts (screenshots and interactive demos) also become useful for testing and documentation. You can save the screenshots and compare them to new screenshots as changes come into this feature and the rest of the application. This helps you identify unexpected changes and any resulting bugs or errors more efficiently.
As your organization grows and new team members come onboard, they can easily find and explore simulator-generated artifacts, instead of just playing with the application or reading the code. With CodeYam, new hires can understand how the application and the code work faster, decreasing the time required to ramp up and start contributing.
Similarly, this can also speed up the development team by encouraging code reuse across larger applications. Understanding if existing code will meet the needs of a new problem is much easier when you can run the code in an interactive playground easily, instead of trying to read the code or the tests to interpret the use abstractly.
The simulator helps your entire team, from development to design to product management and leadership, be more efficient and productive when building and shipping high-quality software products.
Won’t AI Write All the Code in the Future?
AI writing more and more code in the future certainly seems likely. In that case, simulating the results of the code that the AI produces becomes even more important. The human teams involved will still ultimately be responsible for the resulting products. And these people will need to dictate product requirements and to validate that the product works as intended.
Anyone who has built software understands how your product and codebase quickly become complex. Clearly communicating the intent of a feature, even a simple one, is difficult. Even if the feature was built perfectly to spec, you will still want to test performance in various scenarios. If the feature was not built perfectly or you come up with ideas for changes or improvements, then you need to be able to isolate that feature and put it into a specific state to effectively describe how it should be changed.
As AI does more coding, everyone on the team becomes more like product owners. These team members will be responsible for defining, validating, and improving the product that AI is building. In order to do this successfully, you need high quality tools to help you understand what is being built and communicate with the AI effectively.
Learn More
We are at the beginning of a long journey to make the software development process as fast and high quality as possible, especially as AI becomes more involved. We’d love your thoughts and feedback about what we are building. You can subscribe to this blog here:
And follow us on social media (X/Twitter, LinkedIn, Instagram), or sign up for the waitlist via our website to gain access to CodeYam and the software simulator.