Blog Home

Weekly Coding Challenge

Oct 23, 2022

I challenge myself to develop a new module/app every 7 days.

 

 

Goals:

  • Translate good ideas into brilliantly finished products.

  • Upskill myself

 

 Backstory:  

My skills have been stagnating for a while, so why not give myself a challenge to build stuff that I find interesting. I'd like to see what cool ideas I can think of and bring them to life! 🐣

 

By the end of this challenge, I'd like to look back and view the entire journey, of all the new skills I've obtained along the way.

 

Ready? Let's begin!

Start Date: Oct 4, 2022
End Date: Dec 31, 2022

 

 

Oct 2022 Week:

1. Build & publish my Portfolio Website's Landing Page

  • Next.js

  • Styled Components 

  • Vercel

2. Build the Blog module of my website

  • GraphCMS (Hygraph)

  • TailwindCSS

3. Implement analytics on my website to track Website Metrics

  • Umami (privacy-focused analytics)

  • PostgreSQL

  • Railway (Self hosted)

4. -

  • Busy with university assignments and arranging to transfer to APU

 

 

Nov 2022 Week:

1. Modularize an old Flutter app using the MVC architecture

  • Riverpod State Management ⁠

2. Learn AWS Cognito to create a new app (Code name: Socrates)

  • Create UI Mockups using Figma

  • AWS Cognito

3. Implement AWS Stack with Golang and Flutter for Socrates

  • API Gateway

  • Lambda (Golang)

  • RDS (PostgreSQL)

  • VPC

  • IAM

  • CloudWatch

4. -

  • First week at APU, moved to APU's accommodation

  • Spent time meeting and socializing with new friends

 

 

Dec 2022 Week:

1. Research on technologies for a Data Streaming Pipeline (in terms of cost, time to setup) for Socrates

  • Evaluated the pros and cons of Elasticsearch vs OpenSearch [Went with OpenSearch]

  • Compared Apache Kafka vs Logstash vs AWS Kinesis vs AWS MSK vs AWS SQS [Went with Kafka]

2. Build a Data Streaming Pipeline [PostgreSQL -> Apache Kafka (Provisioned by Upstash) -> AWS OpenSearch] for Socrates

  • Debezium Source connector

  • Golang Lambda function as Sink connector

3. Build and publish Chrome Extensions on Google Chrome Web Store

  • Chromepapers - Beautiful Wallpapers for Chrome

  • SiteBlocker - Block Websites to Stay Focused

4. Build a Chrome Extension using Gmail API

  • OAuth 2.0

  • Building in progress... as it's complex

5. -

  • Went on a family trip without my laptop

 

 

Conclusion:

I've learnt a lot and improved my skills in the past 3 months.

 

Before:

I only knew how to build mobile apps and the backend of an OLTP.

 

After:

I've learnt how to build and deploy Websites, AWS Stack, Chrome Extensions, and Data Streaming Pipelines using Apache Kafka & Debezium connectors.

Related Posts

"Gradatim Ferociter"

Designed & Coded by We Chern