My Journey Building a Web App on AWS

AWS Projects

Godswill Elogie

9/3/20259 min read

From Idea to Cloud: Why I Chose AWS for My First Web Application

When I first set out to build a web application, I had one clear goal: prove to myself (and future employers) that I could bring an idea to life in the cloud. I wanted more than just a tutorial — I wanted a hands-on project that showcased real AWS services working together.

Like many beginners, I was a little intimidated by AWS. The console felt huge, packed with dozens of services I had never touched before. But instead of letting that overwhelm me, I decided to treat it as an opportunity: if I could learn to navigate this environment, I’d be gaining skills directly transferable to real-world cloud engineering roles.

Why AWS?

The simple answer: AWS is the backbone of modern cloud computing. It powers everything from startups to enterprises, and I knew that if I could master even a small corner of it, I’d be building a strong foundation for my career in cloud security and development.

What drew me in was how AWS allows you to stitch together different services — compute, databases, APIs, hosting — into one functioning application. That modularity meant I could start small, but still build something meaningful.

The Project Idea

I wanted my first app to be simple enough to finish, but rich enough to teach me the basics of:

  • Hosting a front-end with AWS Amplify

  • Processing logic with AWS Lambda

  • Managing data in DynamoDB

  • Connecting everything through API Gateway

  • Controlling access using IAM roles and permissions

The architecture that guided my first AWS web application project.

First Steps Into the Cloud

My initial sessions were just about getting comfortable — creating an AWS account, exploring the console, and following the flow of services. What felt daunting at first slowly became exciting once I realized each service played a role in the bigger picture. I remember thinking: 'If I can just connect these dots one at a time, by the end, I’ll have a working app.' And that mindset made all the difference

Looking Ahead

This post is just the beginning of my journey. In the next entries, I’ll share the actual process:

  • Setting up my AWS project foundation

  • Building the backend logic with Lambda & API Gateway

  • Creating a DynamoDB database

  • Deploying the app live with Amplify

By the end, you’ll see how a simple idea turned into a live web app, complete with its own URL and working functionality.

Spoiler: this simple calculator interface is where the journey led — but it all started with understanding AWS basics.

Stay tuned for Part 2: AWS Setup Made Simple — How I Configured My Account and Project Foundation.

This project is part of my cloud portfolio. My goal is to document not just the technical steps, but the lessons, struggles, and breakthroughs along the way.

AWS Setup Made Simple: How I Configured My Account and Project Foundation

When I moved past the idea stage, it was time to actually get my hands dirty with AWS. This was the moment I realized that building in the cloud isn’t just about services — it’s about setting up a strong foundation that everything else depends on.

Facing the Console for the First Time

Logging into the AWS console for the first time was… overwhelming. Icons everywhere, endless services, and a navigation sidebar that felt like a maze. But instead of panicking, I made a decision: start small, one step at a time.

The first steps were simple but critical: choosing a region, setting up IAM (Identity and Access

Laying the Groundwork with Amplify

I wanted my application to be accessible on the web from day one, so AWS Amplify became my starting point. Amplify made it easier to manage hosting and CI/CD without needing to configure servers manually.

When I created my project in Amplify, it gave me a staging environment with its own auto-generated domain. At that point, my app wasn’t much to look at — but seeing a live URL felt like progress.

My Amplify dashboard showing the staging environment for my app.

Building with Confidence

The biggest lesson I learned during setup was this: AWS isn’t hard if you break it down into pieces. IAM for permissions, Amplify for hosting, and a simple staging URL were enough to kickstart everything else.

From here, I was finally ready to build the real backbone of my web app: the backend services that would process logic and connect to a database.

What’s Next?

In the next post, I’ll dive into building the heart of the application: wiring together AWS Lambda, API Gateway, and DynamoDB to handle requests and store data.

Stay tuned for Part 3: Building the Heart of My Web App with AWS Lambda, API Gateway & DynamoDB.

Every project needs a foundation. Mine started with IAM and Amplify — two services that turned AWS from overwhelming to empowering.

Building the Heart of My Web App: AWS Lambda, API Gateway & DynamoDB

With my project foundation in place, it was time to give my web app a brain and a memory. This meant building a backend that could process requests, perform calculations, and store data. In AWS, that translated to Lambda for compute, API Gateway for communication, and DynamoDB for storage.

Writing My First Function with Lambda

The first step was AWS Lambda — the service that let me run backend code without setting up a server. I created a simple function that could take in a base number and an exponent, then return the result of raising one to the power of the other.

At first, it felt strange not worrying about servers, but once I saw the test event work in the Lambda console, it clicked. My code ran instantly, and AWS handled all the heavy lifting behind the scenes.

Testing my Lambda function with a simple exponentiation event.

Connecting the Dots with API Gateway

Of course, Lambda alone wasn’t enough. I needed a way for my frontend (the web app) to talk to my backend (the Lambda function). That’s where API Gateway came in.

I set up a REST API, linked it to my Lambda function, and defined a simple POST method. For the first time, I could send requests from outside AWS and trigger my function. It felt like opening a door between my app and its brain.

My API Gateway setup with methods linked to Lambda.

Storing Data with DynamoDB

Finally, I needed a place to store results — and DynamoDB became the perfect choice. It’s a NoSQL database, which made it easy to set up a table and start writing entries without worrying about schemas.

I created a table for my app and connected it so that results from my Lambda function could be stored. Running my first scan and seeing data appear inside DynamoDB was one of the most rewarding moments of the project.

My DynamoDB table showing stored items from test runs.

The Aha Moment

When I finally tied everything together — Lambda for logic, API Gateway for communication, DynamoDB for persistence — I realized I had built something real: a functioning serverless backend.

It wasn’t flashy, but it was scalable, reliable, and completely in the cloud. And for me, it was proof that I could bring multiple AWS services together into one working system.

What’s Next?

The next challenge was making it all accessible with a polished front end. That’s where Amplify returned — to host the UI and connect everything into one seamless web application.

Stay tuned for Part 4: Going Live — Deploying and Hosting My Web App on AWS Amplify.

This was the heart of my project: logic, data, and communication. Seeing them work together was when AWS truly stopped being theory and became real for me.

Going Live: Deploying and Hosting My Web App on AWS Amplify

Up until this point, my project lived mostly in the AWS console — Lambda functions running in isolation, an API Gateway waiting for requests, and a DynamoDB table quietly storing results. It was powerful, but invisible to the world.

That’s when AWS Amplify came back into the picture — the service that would take everything I had built and make it publicly accessible on the web.

Connecting the Backend to the Frontend

I already had Amplify set up as my project’s foundation, but now I gave it something to host: my frontend. I uploaded my static files, linked them to Amplify, and configured the build process.

Within minutes, Amplify generated a live URL for my app. For the first time, I could open a browser, type in a link, and interact with the backend logic I had spent days connecting.

My Amplify environment, now serving the live app.

Seeing My App in Action

The moment I opened the app and tested it with real inputs was unforgettable. I typed in numbers, hit the calculate button, and watched as the request traveled through API Gateway → Lambda → DynamoDB — before returning results back to my screen.

That simple loop made everything real. I hadn’t just followed a tutorial; I had deployed a functioning, serverless web app on AWS.

The final UI of my deployed app — a working calculator powered by AWS.

Reflections on Deployment

Going live wasn’t just about the app itself — it was about confidence. Seeing my work deployed publicly gave me proof that I could build something from scratch, piece by piece, and actually make it run in the cloud.

Amplify’s hosting made deployment smooth, but the real lesson was about iteration. Each step I took — IAM setup, Lambda logic, API Gateway routes, DynamoDB storage — added up to this moment.

What's Next?

With the app live, the next stage of my journey is reflection — looking back on what I learned, where I struggled, and how I can build even better projects moving forward.

Stay tuned for Part 5: Lessons Learned — What Building My First AWS Web App Taught Me.

Deployment isn’t the end of the journey — it’s the moment your project begins to breathe. For me, AWS Amplify turned theory into reality, and that reality now lives online.

Lessons Learned: What Building My First AWS Web App Taught Me

When I started this project, AWS felt like a vast, intimidating ocean. Today, after navigating Amplify, Lambda, API Gateway, and DynamoDB, I see it differently: not as something to fear, but as a toolbox — one I can use to build real, working solutions.

This project wasn’t just about code. It was about mindset, problem-solving, and learning to think like a cloud engineer.

Lesson 1: Start Small, Grow Steady.

My biggest win was realizing I didn’t need to learn all of AWS to succeed. By focusing on just four services — Amplify, Lambda, API Gateway, and DynamoDB — I was able to build something end-to-end without getting lost in the noise.

Each small victory (like seeing a Lambda test work, or data appear in DynamoDB) gave me confidence to move forward.

Lesson 2: The Power of Serverless

Before this project, I thought backend meant managing servers, patching software, and scaling hardware. With serverless, I learned a new reality: focus on the logic, let AWS handle the infrastructure.

Lambda freed me from worrying about servers, API Gateway simplified communication, and DynamoDB handled storage without schemas. It made me realize how powerful and accessible modern cloud development can be.

Lesson 3: Deployment Is a Game-Changer

The first time I saw my app running live through Amplify was a turning point. It transformed my project from a set of disconnected parts into a single, working application anyone could access online.

That moment gave me confidence not just in AWS, but in myself as a builder.

Lesson 4: Document the Journey

By writing this blog series, I learned that documenting isn’t just for others — it’s for me, too. Looking back at each step clarified how much progress I made and highlighted areas I want to explore further (like CI/CD pipelines and advanced IAM policies).

Looking Ahead

This project was a starting point. Next, I want to: - Explore security and cost optimization in AWS. Build a more complex app that integrates additional services like CloudFront, Cognito, or SNS. - Keep improving my ability to design scalable architectures.

Most importantly, I now see myself not just as a learner, but as a cloud practitioner who can take an idea from paper to production.

This project taught me that every click in the AWS console, every error message, and every small success adds up. And that’s exactly how careers are built — one step at a time.