DEV Community

Cover image for I made an app to enjoy Halloween🎃🦇🕸
Yuiko Ito
Yuiko Ito

Posted on


I made an app to enjoy Halloween🎃🦇🕸

Hey guys,

It was Halloween day, but in this self-restraint mode, it's hard to go out and enjoy dressing up in costumes.
So I made an app that lets you enjoy Halloween online!

Halloween has already passed, but you can even enjoy this app!

Image from Gyazo


How to use

The usage is as shown in the following slide.

Image description

First, when you visit to, you can choose a favorite style from this week's popularity ranking or the overall ranking.

Image description

This ranking is based on the number of styles converted, and is updated daily at 9pm (JTC).

Once you have selected a style, all you have to do is just upload the image you want!
The loading process will run automatically and the image will be converted.

Don't worry, the uploaded images are not retained by the server.


The configuration is as follows.

Infrastructure...AWS (API gateway, Lambda, dynamo DB, s3)
Frontend...Next.js + TypeScript + Chakra UI

In order to develop the ranking, I created an API to post which style the image was converted in, along with a timestamp, then store the data in dynamo.

In order to aggregate the data, I create a Lambda function that returns the style data sorted by the number of conversions, and save the results in another table in dynamo.
That Lambda function is run once a day by EventBridge.

Then, I also created an API to access the dynamo table where the aggregate results are stored and retrieve the data, and call it from the client side to display the ranking order.

For the frontend, I used the usual Next.js + TypeScript, but this time I used Chakra UI for the first time.
It was very easy to use, and I'll use again for sure!

That's it!

Halloween is over, but I think it's an app that can be enjoyed even after Halloween, so I'd be happy if you could play it!


Please send me a message if you need.

Top comments (3)

yuikoito profile image
Yuiko Ito

Thank you for reading my article.
Well, how can I help you? What's your problem?

jishnu02 profile image

I have found a way through it....

But can you help me to create a sidebar in nextJS

jishnu02 profile image

Hey can you help me out ......


11 Tips That Make You a Better Typescript Programmer


1 Think in {Set}

Type is an everyday concept to programmers, but it’s surprisingly difficult to define it succinctly. I find it helpful to use Set as a conceptual model instead.

#2 Understand declared type and narrowed type

One extremely powerful typescript feature is automatic type narrowing based on control flow. This means a variable has two types associated with it at any specific point of code location: a declaration type and a narrowed type.

#3 Use discriminated union instead of optional fields


Read the whole post now!