TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Training an AI to convert design mockups into HTML and CSS

232 pointsby AshishGupta93over 7 years ago

19 comments

igammaraysover 7 years ago
The example mockup image shown is really unimpressive. As usual, the difficulty is in implementing the last 20% of edge cases and design subtleties, not well-defined black-and-white block layouts like the given example. It would&#x27;ve been simpler to build a classical program to handle that example, and the result would be much better and more predictably structured.<p>It&#x27;s like programming a self-driving car for a 2D game. Trivial. Now try taking that to tar roads. I don&#x27;t know why this toy example is even news, it&#x27;s nowhere close to the difficulty of real-world design mockups.<p>The AirBnB sketch2code example is a lot more impressive, but that&#x27;s basically just handwriting recognition with a 1 to 1 mapping of symbols to code pieces.
评论 #16317013 未加载
评论 #16317213 未加载
评论 #16318685 未加载
评论 #16316627 未加载
joe_the_userover 7 years ago
Aren&#x27;t there a bunch of WYSIWYG tools for creating appearance and HTML&#x2F;CSS together? Years ago when I looked, these existed (but designers prefered photoshop just because).<p>I mean, I&#x27;d assume also there&#x27;s normally a give-and-take between designer, CSS-artist and client. The question is whether the neural network can also learn to take calls at 3am from a client wanting a different shade of aqua.
评论 #16315089 未加载
评论 #16315657 未加载
评论 #16316363 未加载
评论 #16315576 未加载
评论 #16315473 未加载
TheAceOfHeartsover 7 years ago
Writing HTML and CSS to implement a mockup is trivial for anyone with even a little bit of web dev experience. If you want high quality code, an AI isn&#x27;t going to produce that.<p>I can&#x27;t imagine ever using something so complex, if I can implement the same thing in a few minutes.<p>There&#x27;s also further considerations when dealing with the real world. For example, you need to be aware of how to handle different accessibility features. Designers rarely seem to care about things like accessibility, but it needs to be declared somewhere.
评论 #16315281 未加载
评论 #16315175 未加载
评论 #16315181 未加载
评论 #16315214 未加载
评论 #16315275 未加载
评论 #16318991 未加载
评论 #16315028 未加载
shironinejaover 7 years ago
This is what we are all working for. If we can automate the stupid stuff we do then we can work on other interesting stuff and automate it too.<p>I don&#x27;t understand why we aren&#x27;t all working on automating everything that we do.<p>Every line of code you pulled out of the code mine today is finite and given a business logic rule engine it&#x27;s outcome could have been generated.
评论 #16315270 未加载
评论 #16315006 未加载
评论 #16316332 未加载
评论 #16314908 未加载
评论 #16316037 未加载
评论 #16314972 未加载
m3kw9over 7 years ago
What’s the point of the code isn’t human readable? You need to train the AI to write code that is easily modifiable with low dependencies. Otherwise the conversion isn’t very useful for anything unless your page is completely static
评论 #16317782 未加载
karmakazeover 7 years ago
Honest question: is anyone else sensing some defensiveness here? The timeframe is open to debate but what&#x27;s more controversial is whether html&#x2F;css is near the frontier of solvable problems. After AlphaGo, my worldview is changed forever. Glad to be still being valued for something I started out of joy but in no way feel it&#x27;s not disruptable. Sometimes I even wonder why it hasn&#x27;t advanced further since it&#x27;s quite well defined, digital data in&#x2F;out.
评论 #16318368 未加载
评论 #16318443 未加载
nightskiover 7 years ago
This is really cool and I believe necessary work. We need to start thinking about how to automate programming and to free ourselves much further from the mundane. Trust me, there is still plenty of room for people to analyze requirements and come up with a high level solution to people&#x27;s problems that doesn&#x27;t require fiddling with float: right and various technical hacks.<p>That said I wonder if this is the right approach. At some point &quot;AI&quot; as used in this context is just a function mapping from an input domain to an output domain. The output domain in this case, &quot;code&quot; was designed for human readability (whether it succeeded is a whole different approach).<p>What would a programming language designed for output from an AI system look like? How could we optimize it to reduce the output domain size of the function the AI has to train to learn? How could we optimize it to make the problem more tractable for machines? I feel like there is an entire field of research here. Maybe it has already been studied and I am just late to the game.
book_mentionedover 7 years ago
Turning web design mockups into code with Deep Learning | <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16115353" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=16115353</a> (Jan 2018)<p>&gt;chrisfosterelli: <i>This is a neural network that takes an image and predicts very simple blocks (like BODY, TEXT, BTN-GREEN in the bootstrap example) and then uses a map to convert them to well-formed HTML</i><p>&gt;jamesjyu: <i>I&#x27;ve always wanted to do a contest with other frontend coders to see who could get closest to a complex layout—like the NYTimes—in one go.</i> &gt;&gt;janneklouman: <i>these types of contests exist! I went to one of these[1] maybe two years ago in Stockholm and I had a blast</i> [1] <a href="http:&#x2F;&#x2F;codeinthedark.com&#x2F;" rel="nofollow">http:&#x2F;&#x2F;codeinthedark.com&#x2F;</a><p>Pix2code: Generating Code from a GUI Screenshot | <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14416530" rel="nofollow">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=14416530</a> (May 2017)
评论 #16317044 未加载
EGregover 7 years ago
Why are design mockups done in photoshop, when HTML and CSS can be faster and easier once you have the basic components??
评论 #16315261 未加载
评论 #16315400 未加载
评论 #16315239 未加载
评论 #16315151 未加载
评论 #16319426 未加载
efitzover 7 years ago
OK this is juvenile but I found it funny that after 250 epochs (<a href="https:&#x2F;&#x2F;emilwallner.github.io&#x2F;html&#x2F;250_epochs&#x2F;" rel="nofollow">https:&#x2F;&#x2F;emilwallner.github.io&#x2F;html&#x2F;250_epochs&#x2F;</a>) the AI just came up with busted HTML and: penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas penas orna.
wonder_breadover 7 years ago
Is this a dupe of FloydHub&#x27;s blog post from a couple weeks back? Markup looks very similar
sly010over 7 years ago
I agree with the need, my issue is with reproduceability and generally things that are not defined by the sketch (behavior, different screen sizes, etc). If everything were fully defined, we could just write a compiler from the high level definition to the low level. The real problem is that static 2D images are not good representations of dynamically sized interactive documents.
adamseaover 7 years ago
Kind of related to this, what do people think frontend developers will be doing in five years, or, where will they migrate to as frontend (either via tools like this or like AirBnBs SketchToCode) becomes more automated?
maffyooover 7 years ago
what about the converse of this? what about producing a basic set of content and letting AI taxonomise or organise it and then create a design based on design models. It could work both ways. I guess ultimately the problem will be solved both ways and AI could create entire experiences based on specific domains. Also, for those claiming this will never work i would suggest looking at some of the amazing stuff being done with AI right now. This kind of problem, including optimising and making best usage of html&#x2F;css is almost tailor made for AI.
talmandover 7 years ago
Interesting outcome.<p>The final html code from the first example is not that bad. There&#x27;s the usual problem of beginner coders of too much div wrapping that probably isn&#x27;t really necessary. I&#x27;m curious if the system can also create the css. The css also suggests a beginner coder, such as an overuse of unnecessary clear classes because of the overuse of floats for layout. Or having extra class names for things that are easily handled by a parent class reference, such as a &quot;last&quot; class on the last li in the list. Although, it appears the css is just a template obtained online. More on that later.<p>The second example using bootstrap is a soft failure in my eyes. Although the html does render correctly in the browser, which is because browsers do their best to render crappy html, the code is rough. The main problem is it decided to render the head element as a header element. Compared to the first example I&#x27;m shocked that this is the generated output. The usage of bootstrap does pose an interesting thought in that the content section of the html is more precise than the first example.<p>My reaction to this is it&#x27;s a decent try at generating a website based on very strict rules assuming that more than half of the website creation process still requires a human to complete. For example, I could see this working quite well if one were to design your mockups strictly be bootstrap, or a template, and provide that css beforehand. If the mockup is custom outside of the template&#x2F;bootstrap css then it&#x27;ll have to generate that css itself. Which I think I&#x27;m more curious if that&#x27;s possible. Generating html is easy as you can establish ground rules of &quot;use this series of nested elements for this situation&quot; and so on. The examples provided could just as easily be created by a drag-and-drop system that allows a non-coder to build a basic website. For that matter, use a markdown to bootstrap converter and train your writers&#x2F;editors on the bootstrap basics and off you go.<p>But it sure did look like a fun learning exercise. As a front end dev, I&#x27;m not worried over my future and would be curious to see where it goes.
meigwilymover 7 years ago
Looking forward to this being a photoshop plugin.
toblenderover 7 years ago
Now we just need it to do the javascript ...
sureaboutthisover 7 years ago
Up next, an AI for creating paintings and art and Sistine Chapel ceilings.<p>No. This will never be a thing. It will be copycat pages, never anything unique.
gedyover 7 years ago
The really useful AI would be to take business data or workflow and generate layout and styles to eliminate the hand made mockup stuff.