#TechSurf2020

Show your coding skills and win lakhs of rupees

About The Event

If you think you’ve got what it takes to solve real-world IT problems, here’s your chance to show your skills.

#TechSurf2020 is a unique coding competition and an incubation event, where you get a chance to work on solving real problems and get nurtured by industry professionals.

This event is an opportunity for you to test your programming skills and give a major boost to your career. And what’s more, the total prize money up for grabs is Rs 15 lakh.

Current stage: Initial screening test

The event is currently in the initial screening test stage, where we have assigned tasks to participants to check their eligibility to take up the actual projects of the event. The stage kicked off on 3rd July 2020 and will end on 28th July 2020.

The tasks for participants are as follows:

Frontend-related tasks

Participants who opted for ‘Frontend’ as their area of expertise need to complete any one of the two tasks given below.

Task 1

Create a JSON-based rich text editor (RTE) that stores content in JSON in a specific way.

Just so you don’t have to reinvent the wheel, you can use this rich text example by Slate (a customizable framework for building rich text editors) as the base framework. And here’s the source code of this example.

In the source code, you will see that the JSON data (of the formatted text that’s in the RTE) is stored in the “text” element in a particular way.

Your task is to instead create a custom element called “rich-text” and store the JSON data in the following way:

[ 
    {
        "type": "doc",
        "children": [
          {
                "type": "rich-text",
                "data": [["This is editable "], ["rich", ["b"]], [" text, "], ["much", ["i"]], [" better than a "], ["<textarea>", ["c"]], ["!"]]                                                                   
          },                                  
           {
                "type": "rich-text",
                "data": [["Since it's rich text, you can do things like turn a selection of text "], ["bold", ["b"]], [", or add a semantically rendered block quote in the middle of the page, like this:"]]
           },
           {
               "type": "quote",
               "data": [["A wise quote."]]
            },
            {
               "type": "rich-text",
               "data": [["Try it out for yourself!"]]
             }
         ]
     }
]

Customize the RTE code in a way that any content you add to the RTE should give a JSON output in the way mentioned above.

Add an additional button to the RTE called “Export” that exports the JSON.

Please host your RTE somewhere and email us with the link so that we can test it by changing the text and exporting the JSON.

Task 2

Develop a Google Chrome extension with the following functionalities:

  1. The extension, when enabled, should add a floating button/widget on any Google Doc page you visit.
  2. When clicked on this button/widget, it should give two options: “Add JSON” and “Print JSON”.
  3. The “Add JSON” button should accept JSON schema as input in an input field.
  4. The “Print JSON” button should print the JSON schema on the currently opened Google Doc page.

Email us the zip file of your extension.

Backend-related tasks

Participants who opted for ‘Backend’ as their area of expertise need to complete any one of the two tasks given below.

Task 1

Write a program that analyses a voice call file. It should be able to do the following:

  1. Identify the number of people speaking in the audio file.
  2. Provide a point-in-time break-up of the speech duration of each speaker involved in the conversation.
    Example:
    Person 1 - 0:00-0:02
    Person 2 - 0:03-0:45
    Person 3 - 0:46-1:23
    Person 1 - 1:25-1:56
  3. Your code should be generic enough to work on other voice files too.

We have shared sample audio files in three different formats. You can find them here: https://bit.ly/32DPqa7. You can write your code for any one format. When you share your code, please specify the format for which you have written the code.

Task 2

Develop a mobile app for watching videos. The app should be able to do the following:

  1. Fetch videos from Youtube
  2. Display videos one below the other
  3. Jump to next video as you scroll down
  4. The video in focus should start playing automatically

You need to provide the code of the mobile application that you develop. Here’s the link to the wireframes of the application: https://bit.ly/3eCBu2b.

Once you complete the task, send us your response to info@surfboardventures.com.

Mobile-related task

Participants who opted for ‘Mobile’ as their area of expertise need to complete the task given below.

Task

Develop a mobile app for watching videos. The app should be able to do the following:

  1. Fetch videos from Youtube
  2. Display videos one below the other
  3. Jump to next video as you scroll down
  4. The video in focus should start playing automatically

You need to provide the code of the mobile application that you develop. Here’s the link to the wireframes of the application: https://bit.ly/3eCBu2b.

Once you complete the task, send us your response to info@surfboardventures.com.

Deadline for Initial Screening Task

The initial screening test task should be submitted on or before 29th July 2020.

Rules of the event

  • The event is strictly for college students of any graduation and post-graduation programme
  • Students from any educational stream can participate
  • Participants cannot take part in more than one project
  • The event and the event projects are meant to help grow and nurture students’ skills. Any help from non-participants is strictly prohibited and can result in immediate disqualification.

Terms and conditions

Please read our terms and conditions carefully and send us a digitally signed copy of the doc. The signed T&C doc should reach us before or along with your completed initial screening test.

Share With Friends

Copyright © 2021 Surfboard Ventures. All Rights Reserved.