JSFoo Pune 2020

On component architecture, performance, security for front-end, and emerging trends

Next proposal

Accessible Widgets

Project Langdon - 'React'ing to linguistic diversity and conservation

Submitted by Nikhil Lanjewar on Feb 12, 2020

Duration of the session: 30 mins full talk Status: Confirmed & Scheduled


India has a rich diversity of languages spread across the country. Out of these, 22 are officially recognized, 45 have been proposed for inclusion, and there are thousands of other regional languages and dialects that exist within the country. Every language is inherent to the culture and geography that it belongs to. Each language and its dialect has a rich collection of literature and art in various forms such as songs, stories, recipes, and so on. Here’s a project that aims to preserve linguistic geography via dialectology, ethnography, and ethnomusicology.

The talk initially covers background and motivation for Project Langdon, proceeding to technology nitty-gritty and implementation within React and Javascript ecosystem.


What to expect? (2 minutes)

Background and motivation (5 minutes)
Linguistic spread across regions in India
Ethnic literature and music
Current status of documentation and archives

Project Langdon (15 minutes)
UI development with Semantic/Fomantic UI for React
UI development with StorybookJS
Testing with Jest
User Authentication with AWS Amplify and Amazon Cognito
Role based access control with Amazon Cognito Identity Pools
Schema development with GraphQL
Graph data persistence with Amazon Neptune
API design with AWS Lambda functions and API Gateway
CI/CD with Travis CI and Surge

Next steps (5 minutes)
Community and developer experience

QnA (5 minutes)

Speaker bio

Nikhil is a technology agnostic full-stack developer and a conservationist. He is the former CTO of Jombay, where he helped build a profitable venture from an early stage startup to a growth stage company. Jombay now has presence in multiple countries, and a suite of products based on industrial psychology applied for corporate capability assessment and development. Post his exit from business, Nikhil has been backpacking to various locations in India and regularly indulges in immersive travel. Nikhil has worked on several aspects of conservation with various private and government bodies such as Municipal Corporations, Gram Panchayats, Forest/Tourism/Health/Education departments, and so on. When not traveling, he independently consults with early and growth stage companies to design, architect, and build solutions, set up developer experiences and processes, and advise CXOs on tech strategy. Nikhil currently dabbles in Ruby, NodeJS, React, cloud native, and serverless ecosystems.




  • Zainab Bawa (@zainabbawa) 3 months ago

    Thanks for today’s rehearsal, Nikhil. The feedback from today’s rehearsal is:

    1. Focus on the problem and give more context to the problem. This can be done by adding more slides about the context in the beginning.
    2. Reduce the discussion on the tech. Drop the aspects about semantic UI. You can focus on the GraphQL aspect.
    3. Add an architecture diagram to show how you have thought through the project and its implementation.
    4. When you recommend a component, also explain the trade-offs. What do you lose out? What are the surprises?
    5. Some questions were left unanswered. Is it possible to do partial updates? If you have a document and status column, can participants move from A to B or A to C? Is it possible to develop locally with DynamoDB?

    Update and add link to revised slides here, by 25 February.

  • Zainab Bawa (@zainabbawa) 3 months ago

    Here is the longer feedback, for thinking through future iterations of the talk:

    1. Transition gap between what was the problem and then into tech. Explain what is Langdon - is it an archive? A digital archive? Is this a compiling place? What were you trying to solve for?
    2. What is the archiving process? Explain this with the context. Only then the implementation details will make sense.
    3. This is a good example of internationalization and localization talk. How do you handle the multi-lingual part of this. The tech part is secondary because the tech will be the same regardless of the app you are building. How did you translate the UI into multiple languages? Did you run into problems with storing multiple scripts?
    4. Explain what stage is this project at. Also explain who are the users?
    5. Add stakeholder information and wireframes. If you had any discussions with stakeholders, mention this too.

    Overall, focus more on the problem rather than the solution. Tech is secondary. The problem and the work you are trying to develop is more fascinating.

Login to leave a comment