Small games, and the code behind them.
Codesarray makes calm mobile games for Android, and short videos and articles that show how code works, one idea at a time.
Games
Open, play a round, put the phone down. No accounts, and every game plays offline.
-
Blockfall
A calm 8x8 block puzzle with a daily challenge and a Play Games leaderboard.
-
Paws & Perils
A cute paper cut-out roguelike with an idle RPG underneath: pick a hero, walk the trail, choose your path at every fork.
Coming to Google Play About Paws & Perils -
Synapsy
A calm daily memory game: pairs, sequences, grids and spot the change, with a three-minute Daily Workout.
Coming to Google Play About Synapsy
Videos
Coding, algorithms and data structures, one language at a time. Every example on screen is real code with its real output. Python comes first.
-
Video2 min 54 s
Hello, Python: install Python 3.14 and write your first program
Install it, run code two ways, and learn the one rule that makes Python look different from every other language.
-
Video3 min 17 s
Variables and types: the five basic types and how to convert them
int, float, str, bool and None, how to ask Python what type a value is, and why "3" + 4 is an error until you convert.
-
Video3 min 33 s
Control flow: if, elif, else, for, while, break and continue
How a program decides and repeats, with a chained comparison, range(), and the else a loop can have.
-
Video4 min 24 s
Strings: indexing, slicing, methods and f-strings
Index and slice a string, why strings never change, the methods that clean text up, and f-strings, with a glance at 3.14 t-strings.
-
Video3 min 47 s
Lists: index, slice, append, pop, sort and what each costs
Build a list, grow and shrink it, sort it, and see why b = a is not a copy.
-
Video2 min 56 s
Tuples and sets: unpacking, swapping and removing duplicates
Make a tuple, unpack it, swap two variables in one line, and see why in is O(1) on a set.
-
Video2 min 49 s
Dictionaries: keys, values, get, items and counting
Store values by key, look them up, avoid a KeyError with get, loop with items, and count words.
-
Video3 min 1 s
Functions: def, return, default arguments and *args
Write your own functions with def, return a result, use defaults and keyword arguments, and collect extra arguments with *args.
-
Video3 min 11 s
Comprehensions: lists, dicts, sets, if, any and all
Build lists, dictionaries and sets in one line, filter with if, test with any and all, and know when a plain loop is clearer.
-
Video2 min 57 s
Errors and exceptions: try, except, else, finally and raise
Catch an error instead of crashing, run cleanup with finally, raise your own errors, and read a traceback from the bottom up.
-
Video2 min 31 s
Files and JSON: open, with, pathlib, json.dump and json.load
Read and write files safely, build paths that work on every system, and save a dictionary as JSON so it outlives your program.
-
Video2 min 34 s
Modules and uv: import, the standard library, packages and pyproject.toml
Import code other people wrote, set up a project with uv, and keep it tidy with a pyproject file and ruff.
-
Video2 min 37 s
Classes: class, __init__, self, methods and @dataclass
Build your own type with data and behaviour, print it clearly with __repr__, and meet the dataclass shortcut.
-
Video2 min 33 s
Build a to-do app: lists, dictionaries, JSON and try/except
The beginner capstone: keep tasks in a list of dictionaries, save them to a JSON file, and load them back even on the first run.
-
Video3 min 12 s
Big O in Python: timeit, growth curves and what list, dict and set cost
Measure how code slows as data grows, name the five curves, and see a list lookup grow while a set lookup stays flat.
-
Video3 min 23 s
Iterators and generators in Python: yield, next and itertools
What a for loop really does, how yield pauses a function, and why a generator uses 208 bytes where a list uses megabytes.
-
Video3 min 0 s
Closures and scope in Python: LEGB, nonlocal and late binding
Where Python looks for a name, how a function remembers the variables around it, and why lambdas in a loop all return the last value.
Articles
The same lessons, written down, with code you can copy.
-
PythonIntermediate
Python closures and scope: LEGB, nonlocal and late binding
Where Python looks for a name, how a function inside a function remembers its variables, how nonlocal changes them, and why lambdas made in a loop all return the same value.
-
PythonIntermediate
Python iterators and generators: yield, next and itertools
What a for loop really does with iter and next, how yield turns a function into a generator, why a generator expression uses almost no memory, and the lazy tools in itertools.
-
PythonIntermediate
Python Big O notation: measure speed with timeit
What Big O means in Python, how to measure growth with timeit at three sizes, the five curves you meet most, and what list, dict and set operations cost.
Work
Codesarray is created by Anand Rathore, a software developer. The day job, for more than five years, has been payment systems.
Payment gateways, settlement and reconciliation: software where every write is audited and a wrong number is somebody's money. That work covers the whole path, from gathering requirements and designing the system to building, deploying and running it.
Open to freelance and contract projects, to full-time roles, and to collaborations and sponsorship on the YouTube channel. Remote only.
- Experience
- 5+ years in fintech
- Backend
- Python, Java, Django, Spring Boot, Node.js
- Data
- PostgreSQL, MySQL, MongoDB, Kafka
- Frontend
- React, TypeScript, Tailwind CSS
- Also
- Android games in Kotlin
- Where
- India, working remotely