SketchMe
From rough sketch to refined vector in seconds.
- Role
- Full-Stack Engineer
- Period
- 2025 – 2026
- Status
- Live · Early access



01
The product
SketchMe is an AI sketch-to-vector tool. You upload a hand-drawn concept, scanned artwork or digital sketch. The system cleans up lines, removes imperfections and keeps your style, then returns a vector in SVG, PNG, JPEG or WebP. It is in early access, with an open invitation for its first 500 designers.
02
The problem
Every design starts as a sketch, but turning it into production artwork usually means tracing by hand and cleaning up in vector software. That repetitive work sits between the idea and the asset.
03
My role
Full-Stack Engineer2025 – 2026
- Built the web client in Next.js and TypeScript, including the upload flow, account pages and a canvas editing layer (Konva and an SVG canvas).
- Designed the GraphQL contract between client and server, with code-generated TypeScript types on the frontend.
- Built the Django and Strawberry GraphQL backend, accounts, media handling and the vectorization pipeline.
- Containerised the backend with Docker for repeatable deploys.
04
Engineering approach
- 01Classical computer vision handles line fidelity: edge detection (including an HED edge model), thresholding and skeleton clean-up with OpenCV and scikit-image.
- 02Raster-to-vector tracing (VTracer), then path post-processing (svgpathtools) and raster export through CairoSVG.
- 03Generative model APIs (Replicate, Google Gen AI) are used where refinement benefits from them, behind a backend boundary.
05
Architecture
06
Key decisions
Hybrid pipeline over a single model
Deterministic CV keeps the artist's strokes faithful. Generative refinement is used only where it helps, which keeps output predictable and cheaper to run.
Typed end-to-end
A GraphQL schema with generated client types means a backend change surfaces as a compile error, not a runtime surprise.
Ephemeral uploads
The product commits to removing uploads after processing, so the storage design treats source images as temporary by default.
07
Technologies
- Next.js
- React
- TypeScript
- Tailwind CSS
- Konva
- GraphQL
- Python
- Django
- Strawberry GraphQL
- OpenCV
- scikit-image
- VTracer
- Replicate
- Google Gen AI
- PostgreSQL
- Docker
08
Outcome
- Public early-access beta live at sketchme-frontend.vercel.app.
Visual evidence





Mobile layout
Next case study · 03
Creatlie
A social platform where creatives post, chat, sell and get hired.