Small Start
Operating

¥4.61M a Year, 5 Years After Learning to Code: Full P&L of an Indie Education App

An education web/mobile app that began as a homemade tool to ease cram-school work grew from ¥120K in FY2023 to ¥1.47M in FY2024 to ¥4.61M in revenue (¥3.91M profit) in FY2025. The developer discloses what drove each year's growth. He went fully independent in March 2025.

This is a translation of the Japanese original. The Japanese version and cited primary sources are authoritative for all figures.

Three Years of P&L

Fiscal yearProfitKey moves that year
FY2023~¥122KLearned on Progate → built a tool to ease cram-school work and put it into practice
FY2024~¥1,472KPassed AdSense review / introduced paid membership via PayPal / turned it into an app with Flutter / used LLMs to speed up development
FY2025~¥3,914K (revenue ¥4,617K, expenses ¥704K)Went multi-platform across web + mobile / paid membership in full swing

Developer Kengo KOSAKAI started learning to program in April 2020. The origin was a homemade tool to ease his cram-school work; he has since run the web and mobile apps solo, broadening the target from teachers to students (the service name is undisclosed). FY2025 revenue of ¥4.61M works out to roughly ¥380K a month on average, and on the strength of it he quit his job in March 2025 and went fully independent.

Revenue Structure — Two Pillars: Ads and Paid Members

Revenue rests on two pillars: Google AdSense advertising and paid membership (subscriptions). Expenses hold roughly flat at around ¥700K a year, putting the profit margin at 85%. With no inventory and no procurement, a web service’s costs do not scale with revenue — the inherent strength of indie-development P&L, visible right there in the numbers.

Note how he chose his billing infrastructure. Rather than wiring in a full-featured payments SaaS, he started small by introducing a paid membership plan through PayPal. The billing machinery can always be improved later. Getting the first paying member comes first.

Three Structures That Created the Growth

Starting from his own problem meant demand validation wasn’t needed. The origin was a tool to streamline cram-school work. Because he used it himself every day, there was no way to misjudge feature priorities. As he puts it: “solving my own problem turned out to solve other people’s problems too.”

The target pivot was not a whim but a necessity. Expanding from teachers to students happened because a mobile app became essential as the user base widened. Growing the addressable base from teachers (hundreds of thousands) to students (millions) coincided with adapting to students’ device reality (smartphone-first). Adopting Flutter lets him run web, iOS, and Android alone.

The arrival of LLMs raised the ceiling on what one person can build. The rapid-growth period in FY2024 overlaps with LLM-driven development efficiency. The binding constraint of indie development — implementation capacity — loosened, bringing moves that once required a team, like multi-platform expansion, within an individual’s reach.

Reading Between the Numbers

The exponential ramp of ¥120K → ¥1.47M → ¥3.91M is the classic indie-development pattern. Looking at the first year’s ¥120K alone, quitting would seem like the right call — yet two years later it was 30x. It is the same curve as Tsuzuki Blog’s ¥42K/month → ¥1M/month in a year and Bannerbear’s 8 months at $0 → $10K MRR in 2 years: first-year numbers of a stock-type business are nearly useless for predicting the future. What should inform the decision is not the revenue figure but the slope of leading indicators like user count and retention.

“Go independent once you pass the average salary” is a reproducible independence threshold. He modestly calls it “making it up as I went,” but in practice he quit only after clearing an objective line — ¥4.61M a year, around Japan’s average salary — which is prudent risk management. Alongside Tsuzuki’s rule of “quit after saving 2 years of living costs”, it stands as a practical benchmark for when to go independent from indie development or a side business.

Education x accumulated data is a highly defensible position for indie development in the AI era. His view: “only database-centric services will survive,” and “differentiating from general-purpose chatbots requires accumulated user data.” Features can be copied by LLMs, but accumulated learning histories and content data cannot. A weighty firsthand insight from a practitioner on choosing where to enter as an indie developer.

What You Can and Cannot Imitate

  • Easy to reproduce: the launch pattern of “build a tool for your day job’s inconvenience → open it to others with the same inconvenience” is available to anyone with a profession. The low-cost structure of under ¥700K a year in expenses is also standard and achievable
  • Limits: education is a blessed genre where seasonality and grade-progression cycles keep demand stable. And with the service name undisclosed, the acquisition channel (search? word of mouth?) cannot be read from the record

Sources

This article summarizes and analyzes the public sources above. Please refer to the primary sources for details.