# I Shipped a Python Learning App with Zero Money — Here's Every Free Tool I Used

> Source: <https://dev.to/xmadmaxdx/i-shipped-a-python-learning-app-with-zero-money-heres-every-free-tool-i-used-djl>
> Published: 2026-06-16 08:08:54+00:00

Here is your Medium post, fully written in publication-ready markdown:

markdown# I Shipped a Python Learning App with Zero Money — Here's Every Free Tool I Used

*A 19-year-old developer from Bangladesh. No funding. No team. Just free tools, free APIs, and stubbornness.*

I'm Simanta. I built **Codino** — a Python learning app with an offline IDE, AI tutor, Jupyter-style notebook, gamification, and data science library support — and published it on the Google Play Store.

My total budget: **$0.**

This is the complete breakdown of every single tool I used, why I chose it, and exactly how it fits into the app. No fluff.

| What I needed | Free tool I used |
|---|---|
| Code editor with syntax highlight | Sora Editor |
| Python in the browser/notebook | Pyodide + Skulpt |
| AI tutor with generous free tier | Google Gemini API |
| Extra AI fallback providers | Groq, OpenRouter |
| Backend (no-cost) | Supabase free tier |
| UI framework | Jetpack Compose |
| App distribution | Google Play Store |

Building a code editor from scratch for Android is a nightmare. Syntax highlighting, auto-indentation, bracket matching, line numbers — all of that is extremely hard to implement yourself.

**Sora Editor** is a free, open-source rich-code-editor library for Android. I plugged it directly into Jetpack Compose and got a fully working IDE in hours instead of months.

What it gave me for free:

If you're building any kind of coding or text-heavy Android app, use Sora Editor. There is no reason to reinvent it.

**GitHub:** [github.com/Rosemoe/sora-editor](https://github.com/Rosemoe/sora-editor)

For the **lesson-based IDE** (the basic code runner students use during lessons), I used **Skulpt**.

Skulpt is a JavaScript implementation of Python. It runs Python code entirely in the browser/WebView — no server, no internet, no waiting.

Why Skulpt over something heavier:

The limitation: it doesn't support advanced libraries like NumPy. But for the lesson environment, it's perfect.

For **Codino's notebook feature** (the JupyterLab-style cell interface), I needed something more powerful — something that could actually run NumPy, Pandas, and Matplotlib.

That's where **Pyodide** comes in.

Pyodide is CPython compiled to WebAssembly. It runs **real Python** inside a browser. It supports 20+ scientific libraries including:

`numpy`

`pandas`

`matplotlib`

`scikit-learn`

I embedded Pyodide inside an Android WebView and built the cell-based notebook UI on top of it using Jetpack Compose for the outer shell.

The result: a fully working, offline-capable data science notebook on Android — for free.

This is the feature that separates Codino from every other Python app on the Play Store. Most apps don't touch real libraries. I got them all for free through WebAssembly.

**Website:** [pyodide.org](https://pyodide.org)

Every AI-powered learning app charges for the AI. Mimo charges. Sololearn charges. I didn't want to do that.

Google's **Gemini API** has a generous free tier — enough to give every Codino user real AI hints, full lesson explanations, and code understanding without paying anything.

How I use it inside Codino:

The free tier limits are high enough that most users never hit them in a day of learning.

Gemini is great, but having only one AI provider is risky. If it goes down or a user hits the daily limit, the AI feature breaks completely.

So I added **Groq** as a fallback.

Groq is a free AI inference API that runs open-source models (like LLaMA and Mixtral) at an almost unbelievable speed. It's the fastest AI API I've ever used.

My multi-provider strategy:

The user never sees any of this. They just get a response. The system handles it silently in the background.

This is how you build AI reliability for zero dollars. Don't depend on one provider.

User accounts, streaks, leaderboard data, XP progress — all of that needs a backend.

**Supabase** is an open-source Firebase alternative with a very generous free tier:

I used Supabase to store:

It cost nothing.

The only way to make a free app *feel* premium is to make it look and animate beautifully.

**Jetpack Compose** is Google's modern Android UI toolkit. It's free, open-source, and very powerful for building smooth, animated UIs.

Everything you see in Codino — the dark UI, the smooth lesson transitions, the animated streak counter, the glowing leaderboard — was built purely with Compose and its animation APIs.

No paid UI libraries. No design assets I paid for.

This is the only money I spent.

The Google Play Store has a **one-time developer registration fee of $25**. After that, you can publish unlimited apps forever.

That $25 is the only real cost of building and shipping Codino.

Building with free tools is not the easy path. It comes with real challenges:

But none of these problems cost money. They cost time. And time is the one resource a 19-year-old gap year developer has.

The biggest lie in software development is that you need money to build something real.

You don't.

You need Google, GitHub, patience, and a willingness to read documentation at 2am.

Codino is proof. A Python learning app with an offline IDE, AI tutor, Jupyter notebook, data science libraries, gamification, leaderboard, and free certificates — built by one person, from Bangladesh, with zero dollars.

If I can do it, so can you.

*Codino is available on the Google Play Store. Search "Codino Learn Python" or click here.*

*Follow for more honest posts about building apps from scratch with no budget.*
