GraphiScan
Screening dysgraphia through handwriting analysis.
Deep learning models trained to catch patterns the eye misses.
- Python
- Flask
- Vue
- PyTorch
- OpenCV
- TensorFlow
Presented as a screening research project, not a clinical diagnosis tool.

Full-Stack Web & Mobile Developer
Curious by nature.
Building with purpose.
"I'm Ralph Laurence C. Sayo — a fourth-year BS Information Technology student who builds full-stack web and mobile applications. GraphiScan, my capstone, pushed me to train and deploy a real machine learning model from scratch."
Explore my work01 / FEATURED PROJECT
My capstone project combining machine learning with a practical screening workflow.
Screening dysgraphia through handwriting analysis.
Deep learning models trained to catch patterns the eye misses.
Presented as a screening research project, not a clinical diagnosis tool.

02 / SKILLS & CERTIFICATIONS
Core toolkit across web, mobile, and AI — backed by certifications along the way.
CAPABILITIES / TOOLKIT
Interfaces, application logic, and databases.
CERTIFICATIONS
CCNA: Introduction to Networks
CCNA: Switching, Routing, and Wireless Essentials
03 / HOW I BUILD
The process I follow on every project, from capstone research to smaller builds.
Every project starts with the problem, not the code. I dig into what’s actually needed — the requirements, the constraints, who it’s for — before deciding how to solve it.
Once the problem is clear, I visualize the solution: sketching flows and mocking up interfaces before writing a single line of code.
The design becomes real. I build out the core features first, focused on getting the fundamentals working before anything else.
With a working version in hand, I go back through it — cleaning up rough edges and refining the parts that matter most to the user.
I put the project through its paces: checking edge cases, fixing what breaks, and making sure it actually does what it was built to do.
Finally, I ship it — a live demo, a packaged app, or a presentation — and treat feedback from that point as the start of the next iteration.