How I built DomeCode, an open-source coding platform startup that got 15k+ hits on the first day and the key takeaways
Published: 2020-08-28 19:14:36

## What are we talking about?
[DomeCode](https://domecode.com/) 
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/8uyycyqpyxputtd0ec89.png)

## What is it though?
DomeCode is a platform built to unify the coding experience of a developer. The use of the word developer is a little vague in this context so I’ll take the liberty to shed some light on the context.
Imagine you’re a developer who’s preparing for an upcoming coding competition, you’re not a whiz like some of the big names like **tourist** but you’re not a pure beginner either. You’re revising some programming concepts, typing your way practicing those concepts in the form of coding problems. You take a sip of your drink ( imagine any drink you like ), as you glance towards your notes and other resources you’ve compiled. You start to feel a little bland so you start listening to some lo-fi music which puts you in a little relaxed and upbeat mood right as it should. After almost an hour of this deep work session, you realize that you have finally accomplished something for the day and you proceed to append your todo-list and get that dopamine boost.

This whole process required you to :
- Go to a lot of websites for collecting resources.
- Taking notes in an application.
- Planning tasks in another application.
- A browser tab for the coding problems.
- A coding editor.
- A music app that also slightly made you want to listen to some lyrical music that might’ve taken away your focus.

But you're a lucky chap, you stumble upon this blog, realize there’s this platform called DomeCode ( https://domecode.com/ ) that does all of this in a single web-based platform ( going native on Windows and macOS in the future as well ) without requiring you to leave it.

On DomeCode, you can practice in six languages ( including Rust, C, C++, Go, Java and Python ), learn, take notes, discuss stuff on the forum, get to know them ( upcoming messaging feature ), join our developer community on Discord ( join using [this](https://discord.gg/9CQ2WD) ) and more.

A little more on the “more” part :

I have recently added two features. One of them is called **“Creator”**, it’s used for listing your products. It’s essentially a listing of the product that combines all the relevant information and all the other listings of the products and make it shareable with the public.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/5px23t19pjpst8k22pun.png)

**Demo Listing**: https://domecode.com/products/domecode/

The other feature is called **Fusion**.
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/jtn6l2b5r3qsf58wlupk.png)
![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/74wiej88s3gpupdr55lu.png)

**Fusion** is a real-time disposable editor using which you can start learning front-end technology including HTML, CSS, JS with any YouTube tutorial of your choice in a single tab of a code editor and two browser windows like a memory hog.
You can try it here, https://domecode.com/fusion/.

**Tl;dr** DomeCode is an open-source platform to help you advance your coding journey with pre-existing resources to learn programming concepts ( in Python as of now ), take notes, plan tasks, practice coding problems in 6 different languages including Python, Go, Java, C++, C, and Rust. You can also discuss interesting stuff on the forum, meet other developers, and most all even get to listen to music conveniently without ever leaving this open-source platform to navigate to paid platforms.

## Who am I?
I’m a high school senior from India and the founder of this platform.

## How did this all start? ( and what happened during the development process plus a few key takeaways )
A few months back in April, I was working on some coding problems for Google Code Jam Qualification round and Foobar when I had an idea at the back of my head. I wanted to build something that takes the coding experience and blends it with the steps before and during that like learning a programming concept, practicing it, listening to lo-fi music conveniently, jotting down notes, and more in a single platform.

(https://github.com/arthtyagi/) but for the most part, I worked on [DomeCode](https://domecode.com/).

Also, built a simple yet fast autograder that just reads the solution files and compares them on the go without having to read anything from the disk, one of the major reasons why it was really fast.

I open-sourced it on Github and made it available as an installable Python Package here, https://pypi.org/project/django-judge/. It was well-received by the community I shared it with ( Python Discord and a few other places).

Just within the first 24 hours of the release of that alpha version, the platform got over 15,000 web traffic hits, sweet.

There is, however, one thing that needs to be fixed about [DomeCode](https://domecode.com/) and it’s the outreach campaign, I have started to come up with some mailing campaign ideas and I’ll be starting the campaign in a few days from now. It’s extremely important to have a good retention rate and for a platform that’s new and isn’t big on advertising, it’s a little hard to have the same users coming back to the product and it’s one of the biggest reasons behind the mail campaigns, to have the users coming back to us. It’s something anyone just starting should keep in mind. 

A few key takeaways from my journey for new founders of products especially along the lines of software ( web or otherwise ) should be :

- Use the appropriate tools for the task, don’t use a tool just because it’s in the trend.
- Focus on SEO for your platform, it’s really important to have your platform as the first result when users search for specific terms on the search engines.
- Increase the user retention rate, you want users to keep coming back to you and use your product for as long as possible in a single session.
- Focus on outreach campaigns for your product.
- Put your experience building that product out there and try to make it interesting, it won’t please everybody but it would please a certain audience and they would want to use your product. Something similar to this, the blog post that you’re reading.
- Iterate on user feedback. Listen to even the worst of feedback, prioritize it at some level, whichever you think would be appropriate and solve it no matter what. You can’t satisfy everyone but acting on the user feedback is only going to help your product after all. Don’t pay attention to the individual, pay attention to the issue.

These would be the most important takeaways from this blog post probably. 

If you’re a developer willing to work on this platform, head on to https://github.com/the-domecode/ and start working on the issues right away if I like the way you code and your problem-solving abilities, you’ll be invited in the internal development team so there’s your chance to work in a new startup.

Thanks for reading this, hope you enjoyed it! Will do follow-up blogs reporting the progress of the platform if anyone shows interest in that sort of thing.

My Github profile: https://github.com/arthtyagi/
Organization Github profile: https://github.com/the-domecode/
The platform is live at https://domecode.com/