Inspiration
Save bookmarks to the cloud and quickly capture fleeting ideas with voice.
What it does
Pinhub is a bookmark manager that lets you save URLs, notes, images, or voice recordings—individually or in any combination—as a single bookmark. You can also choose to make your bookmarks public or keep them private.
A list of all AWS tools used
- Amazon API Gateway
- Amazon CloudFront
- Amazon CloudWatch
- Amazon DynamoDB
- Amazon Q
- Amazon S3
- Amazon SES
- Amazon Transcribe
- AWS ACM
- AWS Amplify
- AWS for GitHub Actions
- AWS Lambda
How we built it
AWS ACM, Amazon API Gateway, AWS Amplify, Amazon S3, Nuxt3 - Vue.js, AWS Lambda, FastAPI - Python, Amazon DynamoDB, PostgreSQL.
Frontend
- Framework: Nuxt3 - Vue.js
- Deployed on: AWS Amplify
Backend
- Framework: FastAPI - Python
- Deployed on: AWS Lambda
- API Gateway: Amazon API Gateway
Database
- Amazon DynamoDB
- PostgreSQL
Others
- Bookmark Image Data: Amazon S3
- CI/CD: Automatically deploy to production when pushing to the main branch - GitHub Action
- CND: Amazon CloudFront
- Domain certificate: AWS ACM
- Log: Amazon CloudWatch
- Project Development Tools: Amazon Q, Cursor
- Send Email: Amazon SES, Postmark
- Speech to Text: Amazon Transcribe
Challenges we ran into
- CORS issues when requesting AWS Lambda APIs
- How to Call the Amazon Transcribe Service
- AWS Lambda prompts for no permissions when calling other services
- Nuxt3 session and authentication
- Using the FastAPI framework for the first time
Accomplishments that we're proud of
I picked up FastAPI, Nuxt3, and some AWS services to build and launch the project. Learned a ton along the way.
What we learned
- Enable CORS - API Gateway
- Permission Settings for AWS Lambda
- Deploy Nuxt on AWS Amplify
- Nuxt3: Sessions and Authentication, API Requests, Form validation
- use FastAPI to build
What's next for PinHub
- Add search function
- Add tags function
Public data display page- Personal Homepage
- Edit bookmark data
- Users can customize the layout of the displayed data
Click on an image to view it in full sizeClick on a note to expand and view it in detail- Archiving of saved data via the Internet Archive.
- Development of the MCP server
- Development of browser extensions
- Code optimization
Built With
- amazon-api-gateway
- amazon-dynamodb
- amazon-q
- amazon-web-services
- aws-amplify
- aws-lambda
- fastapi
- nuxt
- postgresql
- python
- vue.js
Log in or sign up for Devpost to join the conversation.