# Learnings From Creating a Guest Book App

DevFeed: [Learnings From Creating a Guest Book App](<https://devfeed.tech/articles/learnings-from-creating-a-guest-book-app-38451.md>)

Original publisher: [Read original article](<https://eevis.codes/blog/2022-08-24/learnings-from-creating-a-guest-book-app/>)

Author: Eevis Panula

Published: 2025-06-11T04:30:21.524000Z

Content type: article

Language: en

Sources: [Eevis Blog](<https://devfeed.tech/sources/eevis-blog.md>)

Topics: [web applications](<https://devfeed.tech/topics/web-applications.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [App](<https://devfeed.tech/topics/app.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [Usability](<https://devfeed.tech/topics/usability.md>), [Content Management System](<https://devfeed.tech/topics/cms.md>), [GraphQL](<https://devfeed.tech/topics/graphql.md>)

Tags: [app](<https://devfeed.tech/tags/app.md>), [aws](<https://devfeed.tech/tags/aws.md>), [aws-s3](<https://devfeed.tech/tags/aws-s3.md>), [blog-post](<https://devfeed.tech/tags/blog-post.md>), [cms](<https://devfeed.tech/tags/cms.md>), [graphql](<https://devfeed.tech/tags/graphql.md>), [learnings](<https://devfeed.tech/tags/learnings.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [web](<https://devfeed.tech/tags/web.md>)

## AI overview

The article describes building a simple guest book web app for a one-night party, designed to let users submit photos, names, and messages without downloading an app or creating an account. It outlines the app structure and the use of NextJS, TypeScript, GraphQL, GraphCMS, and AWS S3, then introduces lessons from the implementation, including difficulties uploading photos to S3.

## Source excerpt

So it seems my sister is currently my biggest muse for side projects. She was the reason I created Neule.art, from which you can read more in the blog post "How I created Neule.art". A while back, she asked me if I could create a guest book app for a party they had with their friends. The idea was simple - there should be a possibility to add a photo, some text, and the name(s) of the sender(s). They tried to search for a readymade app, but every one of them had some problems. I also know, from experience, that these kinds of apps can be... how to put this... Not so good usability-wise. For example, no one wants to download an app for one night to be able to take one or two pictures. No one wants to create an account for that one night (and then forget that they have it). So I wanted to try out if I could build a simple enough, non-account-needing web app. In this blog post, I won't share the code for that app. It was a bit hacky, as the app needed to work only for that one night. Aaand I was a bit in a hurry. However, I will share some learnings from creating that app. Let's first have a look at what the app was like. The Guest Book App The guest book app consisted of two pages: Login, which had this one input field for writing the password, and a page for guest book entries. In addition, there was a modal for adding a new entry. That had a form with the possibility of taking a photo (a file-type input field with accept="image/*" to open the camera) and adding names and a message. As for the tech stack, I used NextJS with TypeScript, GraphQL, and GraphCMS (at the time, they changed their name just after I finished the project to Hygraph) for CMS. As for the photos, I stored them in an AWS S3 bucket and their URL to the CMS. I've worked with all the other technologies before, but AWS was something new. However, I was pretty sure that because it's a fairly common use case to store things in AWS S3 buckets, and as React is so popular, there must be an easy solution fo