skillmint

Programming practice · waitlist open

Learn programming by building software.

Write real code. Solve real problems. AI only when you're stuck—and it explains, it doesn't finish the work for you.

Launching soonEarly members get lifetime pricing

The workspace you practice in

Editor, tests, terminal, git, and an assistant that refuses to paste the full answer.

lesson 18 · feature/create-task

routes.py
1from flask import Blueprint, jsonify, request
2from models import Task, db
3 
4api = Blueprint("api", __name__)
5 
6@api.post("/tasks")
7def create_task():
8 payload = request.get_json(silent=True) or {}
9 title = (payload.get("title") or "").strip()
10 
11 if not title:
12 return jsonify({"error": "title is required"}), 400
13 
14 task = Task(title=title, done=False)
15 db.session.add(task)
16 db.session.commit()
17 
18 return jsonify(task.to_dict()), 201
terminal5 passed
$ pytest tests/test_routes.py -q
.....  5 passed in 0.18s
$ 

How it works

  • Learn by building

    Every lesson starts with a failing test or an empty file. You write the code.

  • AI when you're stuck

    Hints and explanations—never a pasted solution. Struggle is part of the method.

  • Built for developers

    No video courses. No progress theater. A path, a workspace, and work to do.

The path

One sequence. You advance by finishing work, not by watching modules.

  1. 01Python
  2. 02Git
  3. 03SQL
  4. 04Backend
  5. 05APIs
  6. 06Docker
  7. 07Deployment
  8. 08Projects

Beliefs

Most programming courses teach through videos.

Programming is learned by solving problems.

Every lesson begins with code.

Every mistake becomes feedback.

Every project builds practical experience.

Get early access

Small batches. We'll write when it's your turn.

No spam. Unsubscribe anytime.