A private handwriting practice coach that turns a letter photo into a clear next drill.
Project description
ScriptShape
ScriptShape is a local handwriting practice coach. Photograph one handwritten word and it turns visible marks into a focused practice note: an overall rhythm score, baseline and spacing signals, and one small retry drill.
Why it exists
Handwriting advice is often vague: “be neater” or “slow down.” ScriptShape looks at a cropped writing sample and gives one concrete, low-pressure next move. The image is processed on your computer by a transparent image-measurement pipeline; nothing is uploaded.
Features
- Works offline in a local browser window
- Measures ink distribution, approximate baseline steadiness, and inter-mark spacing
- Gives an approachable score and one tailored two-minute drill
- Drag-and-drop or choose an image from a phone or computer
- Uses a private, no-account interface
Install
Requires Python 3.10+.
pip install scriptshape
scriptshape
For a checkout instead:
git clone https://github.com/iwaheedsattar/scriptshape.git
cd scriptshape
python -m pip install -e .
scriptshape
Then open http://127.0.0.1:8765 if the browser did not open automatically.
Example use
- Write a familiar word such as “hello” in dark ink on plain paper.
- Take a bright, close photo and drop it into ScriptShape.
- Try the suggested drill once, then rewrite the same word.
The score is a practice signal, never a judgement of your handwriting.
How it works
The built-in image pipeline finds dark pen marks, estimates their lower envelope for a writing baseline, and looks for empty vertical bands that indicate uneven spacing. It deliberately favors simple, inspectable measurements over opaque grading.
Roadmap
- Compare a first and second attempt side by side
- Add print-friendly drill cards
- Support multiple writing styles and pencil samples
Development
python -m unittest discover -s tests -v
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file scriptshape-0.1.0.tar.gz.
File metadata
- Download URL: scriptshape-0.1.0.tar.gz
- Upload date:
- Size: 10.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2ced76f8cc824399f92ac75cb3141773584bb3f6ae3be0d7d88b2053bca3972
|
|
| MD5 |
bfe9c5f0abc56dc3bb91ba4669509521
|
|
| BLAKE2b-256 |
0f5746888f594b2b7d9b4e104227a2c7a436d5bdef58329b9268fd0fbc3d0c06
|
File details
Details for the file scriptshape-0.1.0-py3-none-any.whl.
File metadata
- Download URL: scriptshape-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e2a477b973734a33432ba161af45d0eb3d3f83cb2e5a7706697ba4a1b036d5d
|
|
| MD5 |
c165b44cccbfc3aad9ffe902ed62a7a5
|
|
| BLAKE2b-256 |
0eee7b3e904f501c543ed2db28822d43af83ba7dc65732ae498c556ba8d10397
|