Have you ever needed to create a nice clean chart for class? Ever needed to impress your boss with a beautiful outline? Writing out these charts with pen and paper can be soooo difficult. And creating them on computer programs is tedious, forcing users to learn unintuitive user interfaces. We decided to create a complete chart and outline solution that was easy to use, fast, and intuitive. Enter: Chartographer!

What it does

Chartographer allows users to generate charts and outlines quickly and naturally on their phones using just their touch screens. The user draws a shape anywhere on the screen and the app will use machine learning to determine exactly what shape the user was trying to create and insert it into the chart. The result is a clean chart generated quickly and naturally.

How we built it

Sweat, tears, and less sleep than is probably safe for three grown men. Also, we each drew about 900 squares, circles, and lines for our training data. So... that was great.

Challenges we ran into

The classification algorithm's accuracy was hit or miss. We believe this may be partly due to poor training data.

Accomplishments we are proud of

The app actually works! The classification algorithm works about 90% of the time and inserts a nice clean shape onto the canvas.

What we learned

  • Leap Motion JavaScript API
  • A bunch of Machine Learning APIs in Python
  • Android OpenGL ES for drawing
  • Python Flask
  • Bresenham's Algorithm to connect two points by a line in discrete space

What's next for Chartographer

  • The ability to move objects
  • Snapping shapes to each other
  • Add more shapes
  • Add text options
  • Align options
Share this project: