Georgian Robotics Association (GRA)
The Georgian Robotics Association’s platform — an Angular front end with Google sign-in on top of a custom CMS, blog, and donation payments, delivered end to end with localization and a Docker/Nginx pipeline.
My Role
Tech Lead — scoped the platform, designed the architecture (Angular SPA over an API-backed custom CMS), built the donation payment integration and localization, and ran deployment and client communication.
Project Type
Client Project — a non-profit’s competition, education, and community platform with self-service content and online donations.
Tools Used
Angular, TypeScript, Google Sign-In, custom CMS & blog engine, donation payment integration, i18n, Docker, Nginx, custom CI/CD
Live Link
https://gra.ge
Problem & Solutions
One Content Model for Six Kinds of Content
Problem
Competitions, programs, events, news, partners, and donations each came with different fields and lifecycles — and the association wanted to add new ones every season without a developer.
Solution
The custom CMS models each as a typed content type with localized fields, and the Angular front end renders sections from that data: a new competition is a CMS entry, not a deployment.
Students, Parents, Sponsors, Admins
Problem
Students register, parents look for programs, sponsors evaluate credibility, and administrators run everything — four audiences with different entry points on one site.
Solution
Role-specific flows (Google sign-in for participants, an admin area for staff, donation and partnership paths for sponsors) share one codebase and one design system instead of four mini-sites.
Built to Survive the Next Season
Problem
Robotics seasons change rules, categories, and programs every year; a site that needs a rebuild each season is a cost a non-profit cannot carry.
Solution
Reusable Angular components, a modular content architecture, and a Docker/Nginx pipeline with custom CI/CD mean the platform evolves through content and small releases, not rewrites.
Registration and Donations Without Friction
Problem
Registration and donation actions were buried behind several steps, and every extra step cost participants and money.
Solution
Clear calls-to-action, Google sign-in, and an in-platform donation payment integration turned registration and giving into two-step flows tracked inside the CMS.
Architecture
Angular SPA behind Nginx, talking to the custom CMS and platform API; Google Sign-In for participants, a payment provider for donations, Docker and custom CI/CD for releases.
Decision log
The calls that shaped the build — what was decided, why, and what it cost.
An Angular application over a CMS API, not a page-based site
Decision. Build the public platform as an Angular SPA talking to a custom CMS and platform API.
Context. Six content types with different lifecycles, plus registration and donation flows that needed application logic rather than pages.
Consequence. One codebase and one design system serve every audience, and administrators publish through the CMS. The trade-off is SEO and first-load work that a SPA demands, accepted for an application-like product.
Google Sign-In for participants
Decision. Use Google identity for students and parents instead of a custom account system.
Context. Registration friction was the main drop-off, and the audience already has Google accounts through school.
Consequence. One-tap registration and no password-reset support burden; a dependency on a third-party identity provider, accepted.
Donations inside the platform
Decision. Integrate a payment provider inside the platform rather than linking out to a donation service.
Context. External forms lost donors mid-flow and gave the association no reporting.
Consequence. Donation records live next to members and programs, so reporting is a query. Card data stays with the provider, keeping the platform out of payment-compliance scope.
One Platform for Competitions, Programs, and Donations
Competitions, educational programs, events, news, partnerships, and donations share one content model and one Angular front end instead of scattered pages and forms.


Content the Association Edits Itself
A custom CMS with a blog engine and localized fields lets administrators add a competition or program in minutes; the front end renders whatever the season needs.


Sign In, Register, Donate
Google sign-in lowers the barrier for students and parents; registration and donation flows are wired straight into the platform rather than external forms.

Growth & Outcome
GRA runs competitions, programs, news, and donations from one platform: administrators publish without a developer, donors pay online, and the localized site is ready for the next season without a rebuild.
Gallery




