This is a submission for the GitHub Finish-Up-A-Thon Challenge
What I Built
Orbit is a web-based productivity and project management platform built for developers and small teams. It replaces the entire stack of tools a dev team juggles — GitHub, Vercel, Google Calendar, task manager, notes, time tracker, and learning tracker — inside one fast, keyboard-first interface.
I started Orbit because I was tired of switching between 6 different tabs to manage one project. The core was functional, but the platform was still a solo tool. Half the features were disabled behind Firebase Remote Config flags, waiting to be finished. This challenge was the push I needed.
Stack: React 19 · Vite · Supabase · Firebase · FullCalendar · Google Calendar API · GitHub API · Vercel API · Recharts · Cloudinary
Demo
🔗 Live: orbit-sand-alpha.vercel.app
🐙 GitHub: github.com/JAVIYARAJ/orbit
The Comeback Story
I started Orbit on May 14 and paused on May 22 — 8 days in, I had a solid but single-player prototype.
Before — Paused on May 22
- ✅ Projects, Kanban Tasks, Notes, Timer, Dev Toolkit, Vault, Analytics
- ❌ No task assignment — nobody owned anything
- ❌ No task comments — teams had to leave Orbit to talk
- ❌ No file attachments on tasks
- ❌ No invite flow — completely single-player
- ❌ No notifications — actions happened silently
- ❌ Google Calendar was a stub with no real sync
- ❌ Learning Path had no sessions or analytics
- ❌ 8 of 16 modules disabled behind feature flags
After — Shipped June 2–7 with GitHub Copilot
- ✅ Team invite flow with email, accept/decline, and role-based access
- ✅ Role-based permission matrix — Owner / Admin / Member / Viewer
- ✅ Task assignment with member avatars on cards
- ✅ Real-time task comments powered by Supabase Realtime
- ✅ Jira-style file attachments with drag-and-drop zone
- ✅ Full notification center covering all event types
- ✅ Two-way Google Calendar sync with FullCalendar UI
- ✅ Recurring events — daily, weekly, custom
- ✅ Google Meet link auto-attached to calendar events
- ✅ Selective sync settings — choose what Orbit pushes to Google Calendar
- ✅ Agenda digest on home dashboard — "Today: 3 tasks due, 2 meetings"
- ✅ Learning Path — sessions, tags, weekly goals, analytics charts
- ✅ Global Search across all modules
- ✅ UX polish — density toggle, weekend hide, notification bell
- ✅ All 16 modules live
In 6 days, Orbit went from a solo prototype to a full team platform.
My Experience with GitHub Copilot
GitHub Copilot was central to finishing Orbit inside this challenge window. Here's where it made the real difference:
Invite & Permissions Flow
The invite system was the biggest blocker — token generation, pending invite state, accept/decline handling, and edge cases like expired links and duplicate invites. Copilot scaffolded the full flow including edge cases I hadn't specified yet. What would've been 2 days took an afternoon.
Real-Time Task Comments
I asked Copilot for the right pattern to subscribe to live comment updates using Supabase. It gave me the exact Postgres change subscription approach immediately — working real-time comments in under an hour.
Recurring Events Architecture
Before writing any code I asked Copilot whether to store the RRULE string or expand instances for Google Calendar sync. It explained that storing the RRULE maps 1:1 to Google Calendar's recurrence field and FullCalendar's rrule plugin — one string, three consumers, no translation layer. That single design decision prevented sync bugs down the line.
Permission Matrix Review
I shared my permission matrix and asked what was missing. Copilot flagged that delete project should be owner-only, the Vault should default-locked for all non-owner roles, and changing roles should require owner-level authorization. All three made it into the shipped system.
The honest summary: Copilot didn't write Orbit — every suggestion was reviewed and adjusted for my specific data model. But it compressed what would have been 2–3 weeks of work into 6 days by cutting through unfamiliar API territory fast, helping make architecture decisions early, and catching edge cases before they hit production.
Top comments (0)