PLATFORM
Three ways to code.
One place to grow.
Kids start wherever they are. The platform figures out what
comes next. Blocks, text, Python. Same projects, same
progress, same login.
Visual Blocks
Ages 5 to 8
Hybrid Code
Ages 8 to 11
if (touching) {
score += 1
}
Full Python
Ages 11 to 14
import requests
def get_weather(city):
r = requests.get(url)
return r.json()["temp"]
VISUAL BLOCKS
Drag it. Snap it.
Watch it go.
The youngest coders use blocks that look like puzzle pieces. Each color means something different: orange for movement, purple for events, green for logic. They snap together and the character on screen does what the blocks say.
No reading required for the first ten lessons. Symbols and shapes carry the meaning. Kids who can barely write a sentence are building interactive stories and simple games within the first week.
Sequencing
Loops
Conditionals
Events
Variables
HYBRID CODE
See the blocks.
See the code.
Split screen. Blocks on the left, JavaScript on the right. When a student snaps a "repeat 10 times" block, they see for (let i = 0; i < 10; i++) appear in real time.
Most kids start editing the text side within a few sessions. They fix a number, change a color, tweak a speed. Before long they're writing code directly and only glancing at the blocks when they get stuck.
Functions
Arrays
DOM events
Animation
BLOCKS
JAVASCRIPT
function jump() {
player.y -= 50
wait(300)
player.y += 50
}
FULL PYTHON
The real thing.
With guardrails.
A proper code editor running Python 3 in a sandboxed environment. Students write, run, and debug their own programs. The editor catches common mistakes and offers hints instead of letting kids stare at a red error for ten minutes.
Projects range from text adventures and API mashups to data visualization with matplotlib. The last unit has them building a simple Flask web app and deploying it to a live URL they can share.
Classes
APIs
Data viz
Web apps
Debugging
weather.py
import requests
import matplotlib.pyplot as plt
cities = ["Tokyo", "London", "NYC"]
temps = []
for city in cities:
r = requests.get(f"/api/{city}")
temps.append(r.json()["temp"])
plt.bar(cities, temps, color="#38D1B3")
plt.title("Temperatures Today")
plt.show()
Built for the classroom
These aren't afterthoughts. The teacher tools are baked into the
core product because we built Sparki with teachers from day one.
Class dashboard
See who's working, who's stuck, and who finished early. Color coded grid updates live. Click a student's tile to see their code and offer a hint without walking across the room.
Lesson plans included
Every unit comes with a lesson plan, learning objectives, discussion prompts, and extension activities. Teachers who've never coded can run a session after five minutes of prep.
Auto grading
Challenges check themselves. The rubric is built into the project file. Students see green checks as they complete each requirement. Teachers get a summary when the class wraps up.
Flexible pacing
Some kids fly through a project in 20 minutes. Others need the full hour. Sparki gives fast finishers bonus challenges and gives slower students extra scaffolding. Same lesson, different speeds.
Works on anything
with a browser.
Chromebooks, iPads, Windows laptops, Linux machines in the back of the lab. If it opens Chrome, it runs Sparki. Nothing to install, ever.