Inspiration
I used to be one of those kids playing cool math games on the web! (on no particular site though...)
What it does
PathMath is a dynamic mental math maze searching game designed to help students improve arithmetic fluency.
How we built it
AWS services utilized:
- Amplify: app hosting
- AmplifyUI: design components
- Cognito: manage user authentication
- Lambda: write API functions
- API Gateway: manage API requests
- RDS: connect to relational database
- S3: host static images
- EC2: create security groups connecting Lambda and RDS-proxy
- IAM: manage user backend/database access
- CloudWatch: manage logs for debugging
- Billing and Cost Management: keep track of my budget 🥴
- Q: make the magic happen!
Non-AWS parts of the stack:
- Frontend: Next.js, TypeScript
- Backend: Python, REST APIs
- Database: MySQL
I used Amazon Q as a plug-in to VSCode as well as the AWS Lambda code console. Examples of efficient use-cases:
- Initializing the base layout of pages and React components through the Chat
- Generating monotonous functions like API POST requests or setting up controlled components with one move
- (my favorite) Fixing language-specific syntax errors (I highlight a portion of code with errors and type "fix" to Q)
- Generating long blocks of code/text for constants representing mock data or board initialization states or entire css classes
- Refactoring self-contained files or blocks of code
Challenges we ran into
This was my very first time using AWS on my own! I was surprised by how similar certain concepts were in building a CRUD app with AWS relative to other MERN-type stacks, but it still took some time getting used to the interface and connections across different services.
Accomplishments that we're proud of
I initially utilized Amplify's Next.js template, pre-configured with a GraphQL API connection through AppSync and a built-in Amplify datastore (which seems to be based on DynamoDB?), which was simple to get up and running. But I wanted to challenge myself to set up the infrastructure with potential for scale, so I opted to set up a relational database using RDS, Lambda functions, and API Gateway, which definitely improved my chops as a full-stack developer.
What we learned
I learned how to manage resources using some of AWS' premier services.
What's next for PathMath
I have built a larger puzzle games collection that I hope to merge the logic of PathMath into. I hope to pitch PathMath to schools or tutors to help elementary school kids around the world!

Log in or sign up for Devpost to join the conversation.