• Stars
    star
    2,430
  • Rank 18,236 (Top 0.4 %)
  • Language
    JavaScript
  • Created over 6 years ago
  • Updated over 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

"Don't code your UI, Draw it !"

Doodle Master

The Doodle Master seeks to turn your UI mockups into real code. Currently this repository just serves to demonstrate a Proof Of Concept of Artificially Intelligent Design Tools.

The demo supports the detection of 4 classes of UI components

  1. TextViews
  2. Headers
  3. ImageViews
  4. Buttons

One can view the different doodles that this software supports for classification in the classes directory. Note that the classifier is slightly overfit towards the text view, training again with greater regularization can help solve this problem.

This type of tool can be useful in a big organisation which adheres to a consistent design guide and has several reusable components on variety of platforms such as mobile and the web. For example a button on the Airbnb website follows the same styling across all platforms. This tool can simultaneously generate the same UI for Android and the Web.

Demo

alt text

Technologies

This demo uses a simple CNN for the classification of the doodles made. The software is able to localise the UI element through a combination of geometric techniques and simple mouse/finger position detection. Frameworks used are:

  1. Deep Learning Model = Pytorch
  2. UI = HTML/CSS

This demo was inspired by Airbnb's work on Sketching Interfaces. This demo was made while I was a frontend developer. I was inspired to make this as I saw a lot of developers spending time on coding the UI from the mockups, this time could be better spent in coding the functionality behind the UI. Doodle master seeks to build a painless and natural way of prototyping interfaces. This tool can be used by designers and developers alike to showcase ideas quickly in the form of real code.

Instructions for Building and Running

This project uses Python3.

  1. Download the weights from here and create a folder weights in the root of the repo, paste the file inside this weights folder.
  2. Build the project with these commands:
conda create -n doodle python=3.6
conda activate doodle
sh ./setup.sh
  1. Start the server with the command : python3 server.py
  2. Goto localhost:5000 to view the Doodle Master.
  3. Output HTML file is generated at the output folder
Note

This is not a prodution worthy piece of software, it is only meant for demo purposes. Please don't hesitate to contact me for more details on this project. This project sparked an interesting discussion on HackerNews on the advantages and disadvantages of "Codeless UI", one can read more about in this thread

Contributors

More Repositories

1

distiller

A large scale study of Knowledge Distillation.
Python
215
star
2

SaliencyMapper

Pytorch implementation of Real Time Image Saliency for Black Box Classifiers https://arxiv.org/abs/1705.07857
Python
56
star
3

buildTensorflow

A lightweight deep learning framework made with ❀️
C++
32
star
4

papers

Notes on the papers I've read on deep learning. Contributions welcome !
27
star
5

Torrent-Hunter

A chrome extension that downloads torrents from under a barrage of advertisements and spam
JavaScript
15
star
6

Chatagram

Winning ChatBot in the IBM ChatBot competition. A ChatBot for a bank
Python
14
star
7

object-detection

Software which implements state of the art object detectors
Python
9
star
8

phoneFinder

A small Mask RCNN prototype that learn to detect a phone in an image
Python
7
star
9

A-Small-Little-Game

Made in Java.Coded with Love
Java
7
star
10

AK-Auditer

The Aditya Karan Auditer. This is a logging/auditing tool which periodically logs system information and storage info(USB's etc) .It send it to the server. A robust user interface allows us to see what external communication has happened at a specific date to all the PC's connected to the LAN network. Coded using C++,C#,PHP,HTML and CSS
7
star
11

dynamo-simulator

An implementation of Dynamo Key Value Store in Python. One of my favorite projects !
Python
5
star
12

SmartDoctor

A web app to self diagnose illnesses and perform your daily health check. Winning project of the Practo Sandbox Hackathon
JavaScript
4
star
13

nlpStuff

My learning how to use NLP effectively in Python
HTML
3
star
14

3D-Graphics-Engine

This is a 3-D graphics engine made for my stupid no good graphics practical.
C++
3
star
15

professional-app

A starter pack for the modern application building experience
JavaScript
3
star
16

sim2real

A list of RL algorithms that implement sim2real algorithms
Python
3
star
17

GroupChatSockets

A group chat made in c# using sockets
C#
2
star
18

malloc

A study on memory allocators in C++
C++
2
star
19

objectdetection-

A NYU Computer Vision Assignment (nΓΊmero dos)
Jupyter Notebook
2
star
20

dqn

DQN implementation
Python
2
star
21

MovieBrowser

An angular application to search movies on the go.Extremely fast.
HTML
1
star
22

NeuralNet

A Neural Network Coded From Scratch
Python
1
star
23

traffic-sign-detection-homework

Python
1
star
24

karanbot

http://18.218.120.175:5000
JavaScript
1
star
25

agile-gitpractice

1
star
26

pytorch-rnet

An RNET implementation for question answering in PyTorch . https://www.microsoft.com/en-us/research/publication/mrc/
Python
1
star
27

SpeechMarker

This project intends to build an efficient speech to text image water marking python application.
Python
1
star
28

play-with-vcr

Playing Around with Visual Commonsense Reasoning
Python
1
star
29

mpi

MPI Practice
C++
1
star
30

ssl

A framework for self supervised learning
Python
1
star
31

Hackathon

A Nodejs project for the NSIT hackathon
JavaScript
1
star