🚑 Oops Inc. | CPR for a Cooked Company
Inspiration
As a BBA student, I have often studied business concepts such as resource allocation, stakeholder management, decision-making under uncertainty, employee motivation, and crisis management through case studies and theoretical frameworks. However, I found myself wondering:
What if these business decisions could be experienced instead of simply studied?
That question became the starting point for Oops Inc.
The idea was to create a lightweight business simulation where players are not managing an ideal company with abundant resources, but rather stepping into an organization already on the verge of collapse. Instead of maximizing profits, the objective becomes survival itself.
The concept of performing "CPR for a cooked company" captured this perfectly and became the identity of the project.
Additionally, the Reddit Developer Platform and Devvit presented an opportunity to explore how interactive experiences could exist inside community platforms rather than traditional gaming environments.
What I Learned
This project became far more than a hackathon submission.
Coming from a Business Administration background rather than a Computer Science background, I approached the project with business understanding but limited hands-on experience in modern web application development.
Throughout the project I learned about:
- React component architecture
- State management using React Hooks
- TypeScript fundamentals and type safety
- Conditional rendering
- Event-driven application design
- API structures and backend routing concepts
- Development workflows using GitHub Codespace
- Debugging frontend and TypeScript issues
- Software scope management
- Feature prioritization and product thinking
Perhaps the biggest lesson was understanding that software development is not simply about adding features.
I learned the importance of asking:
- What problem does this feature solve?
- Is the complexity justified?
- Is this the right time to build it?
- What should intentionally be left out?
Learning when to stop building turned out to be just as important as learning how to build.
How I Built the Project
The project was developed using:
- React for the frontend interface.
- TypeScript for application logic.
- Tailwind CSS for styling.
- Devvit as the Reddit application platform.
- GitHub Codespaces as the cloud development environment.
Development began with the default Devvit counter template, which was gradually transformed into a business simulation game.
The project evolved through multiple stages:
- Replacing the default counter interface with a company management dashboard.
- Building the company resource management system.
- Introducing role-based gameplay.
- Designing a scenario engine for decision-making.
- Adding random events and replay ability systems.
- Introducing achievements and progression mechanics.
- Evaluating persistence and leaderboard systems before intentionally excluding them from the final scope.
The final product became a self-contained strategy simulation focused on short, replay able sessions.
Challenges I Faced
The project involved challenges on both technical and product levels.
Technical Challenges
- Understanding React state management.
- Learning how component rendering works.
- Handling TypeScript errors and type safety issues.
- Debugging blank screens and runtime failures.
- Understanding frontend and backend separation.
- Managing the Devvit development environment inside GitHub Codespace.
- Exploring APIs and persistence systems.
Several implementation attempts, particularly around persistence and leaderboards, introduced additional complexity and required difficult decisions about project scope.
Product Challenges
One of the biggest challenges was avoiding feature creep.
Many ideas emerged during development:
- Persistent saves
- Global leaderboards
- Cross-session progression
- Community competition systems
While technically interesting, these features introduced complexity that exceeded the goals of the project.
Choosing not to implement certain features became an important part of the development process.
The Role of ChatGPT
ChatGPT played the role of a technical mentor, development assistant, and debugging partner throughout the project.
Its contributions included:
- Explaining unfamiliar concepts.
- Assisting with React and TypeScript implementation.
- Supporting Devvit integration.
- Helping troubleshoot development environment issues.
- Assisting with architecture discussions.
- Supporting documentation and project reporting.
However, all decisions regarding project scope, feature prioritization, implementation direction, and final acceptance remained my responsibility.
ChatGPT accelerated learning and problem solving, but it did not replace ownership of the project.
My Role
As the sole developer and project owner, I was responsible for:
- Defining the project vision.
- Selecting the problem domain.
- Managing the project scope.
- Implementing features.
- Testing functionality.
- Evaluating trade-offs.
- Making release decisions.
- Preparing project documentation.
Although I entered the project as a BBA student exploring software development through AI-assisted workflows, I finished it with a significantly deeper understanding of how ideas evolve into working products.
Final Thoughts
Oops Inc. began as an experiment in combining business thinking with software development.
It became an exercise in decision-making under constraints, balancing ambition with feasibility, and understanding that successful projects are often defined not only by what they include, but also by what they intentionally leave out.
Building a business simulation while learning modern development tools at the same time was both challenging and rewarding.
Most importantly, it demonstrated that domain knowledge and technical skills do not have to come from the same place to create meaningful products. Sometimes, the intersection between disciplines is where the most interesting ideas emerge. Inspiration
Log in or sign up for Devpost to join the conversation.