Industry

Interview with Ofer, Anima’s Newly Appointed VP of R&D8 min read

Reading Time: 6 minutes Anima recently welcomed Ofer as its new Vice President of Research and Development. With our focus on AI and GenAI, and Ofer's rich experience at Wix, we believe his perspectives are incredibly valuable to our community. We recently sat down with him for a conversation, and we're thrilled to share some highlights with you.

Interview with Ofer LaOr

Interview with Ofer, Anima’s Newly Appointed VP of R&D8 min read

Reading Time: 6 minutes

Anima recently welcomed Ofer as its new Vice President of Research and Development. With our focus on AI and GenAI, and Ofer’s rich experience at Wix, we believe his perspectives are incredibly valuable to our community. We recently sat down with him for a conversation, and we’re thrilled to share some highlights with you.

For those who may not be familiar, Anima is the modern way of transforming design into code through AI. With over 800,000 installs on Figma and 400,000 on Adobe XD, Anima is leading the way in the design-to-code space.

Ofer, tell us a bit about your background

I’ve been coding, managing software building processes and software engineering projects for almost 30 years. From smaller startups to big companies – but my favorites are startups, of course. I joined Anima after managing the Editor R&D team at Wix for over two years. Before that, I managed R&D in multiple startups and managed and sold my own startup company.

At Anima, we’re focused on automating the visual elements of front-end engineering. Can you share your thoughts on the future of front-end engineering in the AI era?

Designers in our space are experiencing a really big shift over the last few years: they are becoming much more sophisticated, they are more exact in their demands from the front end, and the level of expectations from them is rising and becoming more complex.

Designers themselves are becoming increasingly technical, too. Their demands and expectations from front-end developers are also evolving. They’ve gained a deeper understanding of CSS, design systems, and the intricacies of responsive design. Their tools have evolved too, leading to more structured and efficient workflows. This evolution means that front-end developers are increasingly the technical implementers of the designer’s vision, shifting their role toward technical execution. I see a lot of “ping pong” between these two personas, trying to pin down the design and implementation and often leading to friction between these two critical functions building our digital world.

With the rising expectations and sophistication in UX, the roles of UX and product designers are becoming more prominent. Developers are now utilizing AI tools like Copilot, which enhances their efficiency by reducing time spent on repetitive tasks.

Remember the days when we were grappling with issues like pixel-perfect designs and responsive components? Designs were essentially “flat” images and in some cases were shown in different snapshots based on sizes. However, there were a lot of gaps in behavior that the developer would need to “guess” or discuss with the designer, wasting time for both sides.

Now, tools like Sketch and Adobe XD and predominantly Figma, which supports components, design tokens, and Auto-Layout, are addressing many of these challenges directly in the design phase, saving everyone involved considerable time.

Devs increasingly lean towards open-source solutions, shortcuts, and more streamlined frameworks. The progression from javascript + jQuery/Bootstrap to modern languages and frameworks, TypeScript + Angular, Vue, React, and NextJS is a clear indication of this trend, boosting both efficiency and productivity.

How do you envision AI’s role in this evolving landscape?

Copilot and similar tools, will provide front-end devs shortcuts that would make them more productive. Developers would be able to “pull” code directly from the design and reach production faster with automated tests and without having to repeatedly ping-pong with the designer or other team members.

At Anima, our goal is to develop tools that simplify the development process by shifting the developer focus more towards business logic and less on the mundane work of creating pixel-perfect designs. Our challenge lies in intelligently ‘understanding’ the specific coding practices, frameworks, languages, and subtle nuances unique to your team’s codebase and producing code that looks more like it. This approach aims to eliminate the need to start from scratch every time a designer introduces a new component, alters a composition, or modifies existing designs. Ideally, AI would assist developers in deciphering these elements, allowing them to concentrate on architectural details, the finer aspects of design, and the intricacies of state management and business logic.

We are seeing that Copilot and other similar tools are gaining popularity with developers. I have long ago ditched Google in favor of ChatGPT for my daily “how-do-you-do-this” queries. It’s simpler than Google and gives me the answer rather than sending me through a series of hoops I have to jump through to find my answers. Generative AI is a tremendous leap for productivity.

I’d love to hear your thoughts about the future, particularly regarding generative AI, which is a significant part of it. As someone deeply immersed in technology, where do you envision AI altering our reality in, say, the next 5 to 10 years?

Considering the developments of the past 2-3 years, attempting to predict the next five years seems virtually impossible. The impact of ChatGPT, along with the advancements from Meta’s LLAMA2 and Anthropic’s Claude, were beyond my predictions. The pace of progress, especially in the last year, has accelerated exponentially.

I’m inherently optimistic, as are many in the startup and product management communities. Predicting the future is challenging, but I’m confident, especially considering the number of talented individuals working on these projects. I view current AI advancements more as machines with exceptional memory recall rather than possessing a ‘spark of intelligence.’ Therefore, I don’t subscribe to the notion that AI will bring about an apocalyptic change. This perspective is shaped by recent technological breakthroughs: autonomous cars haven’t replaced all drivers, blockchain hasn’t eliminated banks, and quantum computers haven’t decrypted all encryption. These advancements are significant, and while they may revolutionize various fields and technologies, I believe they won’t fundamentally alter the world as a whole.

This technology will be incredibly beneficial, not only for developers but for humanity at large. However, it’s crucial to ensure that AI isn’t solely focused on optimizing tasks like manufacturing “the most efficient screwdriver”, to the point where it could potentially have adverse effects on the world in its pursuit of optimizing efficiency.

Considering the current state of AI, how would you compare open-source platforms to off-the-shelf products like ChatGPT, Claude, and all the projects popping regularly on Hugging Face?

Let’s distinguish between large language models and other AI models. In fields like image categorization and generation, there’s significant progress across various fronts. We’ll likely see which technologies excel once the field stabilizes. In my view, OpenAI has notable gaps in generative imaging, and even GPT-4’s vision capabilities haven’t been as transformative as I initially had hoped.

For instance, many attempt to use GPT-4’s vision capabilities by feeding it a screenshot and expecting it to generate high-quality code. However, in our tests, the results have been less impressive compared to our current state-of-the-art design-to-code technologies. Often, the generated code is inadequate and not a reliable foundation for further development. The outcomes frequently don’t align with what developers or designers would deem usable. A critical question we often consider is whether this serves as a practical starting point for a developer, or does it take more effort to fix than create the code from scratch. Of course, this doesn’t rule out the possibility that future iterations of this technology might overcome these limitations and function more effectively.

In terms of Large Language Models (LLMs), our expectations for Anthropic were higher than their current performance. Nevertheless, we remain optimistic about their upcoming releases. Meta’s solution, while effective, is somewhat limited due to token constraints and issues with hallucinations. GPT-4 Turbo is an impressive tool, but it currently has its limitations, such as generating ‘skeleton code’ that often results in excessive ‘todo’ comments throughout the codebase.

I believe we’re close to seeing the open-source community develop a code-centric public Large Language Model (LLM) like Mistral that rivals OpenAI in specific languages and frameworks, trained on a more targeted set of code templates. Such a development would be a significant breakthrough, though it hasn’t yet occurred.

OpenAI continues to lead in areas like contextual memory, speed, quality, and the pace of advancement. Despite the recent turmoil within the company, I hope this doesn’t significantly impact their progress. They seem to be on the right path, with innovative ideas, and with Microsoft’s support, the advancement of state-of-the-art technology is progressing rapidly.

Fascinating. In the realm of ‘Design to code’ and front-end automation, Anima is currently at the forefront, though this field is still in its nascent stages. Assuming Anima maintains its leadership position, where do you envision the company heading in the future?

My hope is for Anima to be regarded as a Copilot tool, one that developers regularly use to seamlessly integrate their Figma design changes into code. This would enable them to focus on enhancing and refining the code, concentrating on the more complex aspects of R&D.

The code generated by this tool should be familiar with your existing codebase, components, frameworks, and coding style. Ideally, it would take over the routine tasks typically handled by a junior front-end developer, such as creating tests. Additionally, you should be able to interact with it, requesting specific code modifications as needed.

This approach would allow junior engineers to concentrate on more challenging tasks, such as developing state management, good architecture, choose the best framework, work on CI/CD and, of course, the business logic: all of which are not necessarily immediately apparent from the design.

Great, thanks a lot Ofer. And we are very happy to have you onboard!

|

Co-founder & CEO

A seasoned software engineer on a mission to improve developers’ lives and evangelize the power of code. When creating new software is made easier by software, he’s happy². In his leisure time you’ll find him trotting the globe, book in hand, in search of new perspectives.

Leave a comment

Your email address will not be published. Required fields are marked *