Why we built Ycode: A personal message from the founder

Ignas Jul 29, 2020

Two years ago I decided to learn how to code. I already had design skills and knew HTML and CSS. However, I wasn’t able to create a web app with users, databases, and payments on my own. I was tired of always asking developers for help, which is what led me to my own coding journey.

In the beginning, I was excited to learn. But soon after, I started to experience the challenges and obstacles that came with the process. As I worked through these challenges, I kept thinking that there must be easier, more flexible and foolproof ways to write code.

This is my story about how learning Laravel led to the creation of the no-code tool that I’m super excited to share with you called Ycode (as in Why Code?)!

Getting started: Challenge after challenge (it was eye-opening)

To start my coding journey, I first had to choose what programming language to learn. There were quite a few of them, and you could spend hours reading into which one is the best.

I wanted something that covered both backend and frontend development and I decided to go with Laravel. This is a PHP-based full-stack framework that gives you a lot of features out of the box and has a very active community. I knew I was going to need support.

Now that I had my programming language, it was time to really dive in!

Admittedly, things looked promising in the beginning. There were several online courses and tutorials. Once I got into it though, I quickly realized it wasn’t all that simple. I faced a bunch of challenges before even writing my first line of code!

First, you have to set up a local development environment on your own. If you’re comfortable with Terminal commands, this might not be scary for you. For beginners like me, this was a huge barrier.

Setting up a local development environment: You need to install tools and packages using the command line and adjust your computer settings to run a local server. The process includes quite a few different components and very often results in errors related to version changes or other issues.

Next, you need to implement a version control like Git. Though services like GitHub offer web solutions with a nice UI, you’ll need to learn new tools and workflows.

Finally, after you get your sandboxed local server running and build some stuff, you need to deploy your project to a server that has public access. While it sounds simple, there are many options and providers to choose from. You might spend another few days, or even weeks, exploring and trying out all those services.

It was a lot.

I was struggling with the online courses for some time and then decided to work with a private tutor for one-on-one classes. This proved to be a much more effective way to learn coding. It took me about six months to master the basics of Laravel. Afterward, I was able to continue learning on my own and improve my skills.

Though very effective, this approach is surely not for everyone. It's expensive and requires a lot of time and commitment.

Finally writing code! I was not a fan…

My first impression when I started writing code? It takes a lot of effort to do basic things.

I come from the design world, where we use Adobe Photoshop or Sketch to rapidly create visual prototypes. With these tools, you can easily see, share and collaborate on designs with your team.

Coding works a bit differently. For example, when I wanted to design a form that submits data to a database, it took me a few hours to set it up properly using validations, success/error messages, and so on. Moreover, if you make a small mistake—like forgetting to add a comma somewhere—your code will break and stop working!

I wondered: “Couldn’t all of this be optimized and done in a much better way?” I was certain that most things could be done visually, which would boost development speed and minimize errors.

That’s when the idea for Ycode was born.

Solution: Generating real code with visual tools

Ycode’s mission is to make visual coding as powerful and flexible as coding by hand—without any limitations. We want to offer people a visual tool to quickly build stuff, without any technical barriers.

To understand how it works, envision Ycode as a visual UI layer on top of code. When you make changes in the visual editor, it generates the respective lines of code in the background. Ycode writes clean Laravel PHP code that is as good, or even better, as code written by a human developer.

In the frontend, Ycode uses Tailwind CSS—the most progressive and fastest-growing CSS framework that’s currently available.

With Ycode, you can build a web app that runs on the most popular open-source technologies like Laravel and Tailwind CSS.

Update: The status of Ycode

We started developing Ycode more than a year ago and today we have a fully functional application.

The design and page builder are both complete. The builder allows you to create HTML pages and adjust all its CSS properties.

Page and design editor: You can already build a page of any design using Ycode. In the example above, the team list data is taken from an external API.

We also have working databases, where you can create fields and make relationships between different tables. You can design forms to collect data and display them in your app.

Your databases come with automatic API support, allowing you to access your data from anywhere. Last week, we added support for external APIs, so you're able to grab data from any API and use it in your app.

Using external APIs: Add an endpoint from any API and use the data in your Ycode app.

We also offer user authentication with which you can create signup and login pages to give people access to hidden parts of a web project. Typically, it also includes pages to reset and confirm new passwords. This opens opportunities to build different types of web projects - from communities to membership portals and online course platforms.

Next, we’ll add automation and task scheduling features.

Finally, we’ll build a marketplace for plugins and extensions. The fact that Ycode builds apps that run on open source unlocks a lot of opportunities to include community developers who will help us to grow the Ycode ecosystem.

I'm extremely excited about the future of Ycode and its visual development. Meanwhile, we’ll update you about our plans and developments on this blog, on Twitter @joinycode and in our newsletter.

So, will you join me in the visual coding revolution?