Circulo is a Packaging Reuse Platform that connects Individuals and Local Businesses to enable Community-driven Sustainability.
- 🏪 Stores post requests for reusable packaging they need
- 🙋♂️ Individuals respond to requests by offering packaging they already own
- 🛵 Individuals can also deliver the packaging from the provider to the store
- 🏅 All Participants receive Reward Points for each successful match and delivery
- 🔐 Google Social Login for seamless user onboarding
- 🔄 Packaging registration and matching system
- 🤖 AI-powered image verification for packaging type validation
- 🎯 Reward point system for all participants (users, stores, deliverman)
- 🚚 Delivery management interface
Server | Client | AI | Server |
![]() |
![]() |
![]() |
![]() |
Kyuree Kim | Suhyeon Kim | Jaehyoung Park | Jihee Lee |
Category | Tech Stack |
---|---|
Frontend | Kotlin (Jetpack Compose), Clean Architecture, Hilt, Gradle Version Catalog |
Backend | Spring Boot, MySQL, Redis |
AI/ML | Google Vertex AI - AutoML Vision |
Authentication | Google Identity (OAuth2) |
DevOps | GitHub Actions, Docker |
git clone https://github.com/GDSC-DGU/2025-APAC-SolutionChallenge-Circulo.git
cd 2025-APAC-SolutionChallenge-Circulo
cd server
./gradlew bootRun
Create an application.yml or .env file and configure Database credentials, Redis host and port, Google Cloud credentials.
cd client
Open the client folder in Android Studio. Sync Gradle and click the Run
The backend is deployed on Google Cloud Platform (GCP). For cloud deployment, we recommend using:
Google Cloud Run (for containerized backend)
Cloud SQL (managed MySQL instance)
Memorystore or Compute Engine (for Redis)
For questions, suggestions, or collaborations: Open an issue or contact us via circulo20252@gmail.com