Stop juggling 10 platforms. One place for DSA, OSS, GSOC, interviews, jobs, and your public portfolio.
๐ Live Demo ยท ๐ Docs ยท ๐ Report Bug ยท โจ Request Feature
Every aspiring developer faces the same chaos:
"I use LeetCode for DSA, another site for interview prep, LinkedIn for jobs, GitHub for OSS, a spreadsheet for tracking, and I still have no idea if I'm making progress."
AXIOM eliminates the fragmentation. It's a single, execution-first command center where you track DSA streaks, prepare for GSOC, build your OSS portfolio, prep for interviews, and find jobs โ all with real-time progress visibility.
| Module | What It Does | Why It Matters |
|---|---|---|
| ๐ Dashboard | Unified command center with heatmaps, streaks & stats | See your entire developer journey at a glance |
| ๐งฎ DSA Tracker | 1,096 problems across 3 sheets with spaced repetition | Never lose track of what you've solved or need to review |
| ๐ OSS Engine | GitHub OAuth sync, contribution tracking, issue finder | Build real OSS momentum with actionable insights |
| ๐ GSOC Accelerator | Timeline, org explorer, readiness scoring | Know exactly where you stand for GSOC applications |
| ๐ Education Hub | 18+ curated topic tracks with progress tracking | Structured learning from top creators, not random YouTube |
| ๐ค Interview Prep | Coding, system design, behavioral & resume resources | Comprehensive prep in one place |
| ๐ผ Jobs Board | Developer-focused listings with save & apply | Find opportunities without the noise |
| ๐ฌ Dev Connect | Real-time community chat with channels | Learn and grow with peers, not in isolation |
| ๐ Posts Feed | Aggregated dev content from HN, Dev.to, Reddit | Stay current without tab-hopping |
| ๐ชช Public Portfolio | Shareable profile at /u/username with ATS scoring |
Show employers your actual progress |
- Node.js 18+ and npm 9+
- A Firebase project (for authentication)
- (Optional) GitHub OAuth app, Cloudinary credentials
# Clone the repo
git clone https://github.com/Adi-gitX/AXIOM.git
cd AXIOM
# Install dependencies
npm --prefix client install
npm --prefix server install
# Start the backend (Terminal 1)
npm run dev:server
# Start the frontend (Terminal 2)
npm run dev:clientOpen http://localhost:5173 and you're live! ๐
Tip: The Vite dev server auto-starts the backend if it detects it's down. Zero-config local development.
graph LR
U["๐ค User"] --> C["โ๏ธ Vite React Client"]
C -->|"/api proxy"| S["๐ฅ๏ธ Express API"]
C --> F["๐ Firebase Auth"]
S -->|"Token verify"| FI["Firebase Identity"]
S --> DB["๐พ SQLite (sql.js)"]
S --> GH["๐ GitHub OAuth"]
S --> CL["โ๏ธ Cloudinary"]
| Layer | Tech |
|---|---|
| Frontend | React 18 + Vite + TailwindCSS + Framer Motion + Zustand |
| Backend | Express 5 + SQL.js + Firebase Admin |
| Auth | Firebase Authentication + Bearer tokens |
| Media | Cloudinary CDN (optional) |
| CI/CD | GitHub Actions โ Vercel |
- 3 integrated sheets: Love Babbar 450 ยท Striver SDE ยท Striver A2Z
- 1,096 problems across 99 topics with deterministic IDs
- Per-problem metadata: notes, time spent, attempts, difficulty
- Spaced repetition with review queues and due dates
- Activity heatmap โ DSA questions solved per day, timezone-aware
- Streak tracking โ consecutive days of practice
AXIOM/
โโโ client/ # โ๏ธ Vite + React + Tailwind + Zustand
โ โโโ src/
โ โ โโโ pages/ # Route-level page components
โ โ โโโ components/ # Reusable UI components
โ โ โโโ lib/ # API client, utilities
โ โ โโโ contexts/ # React contexts (Auth)
โ โ โโโ stores/ # Zustand state stores
โ โโโ ...
โโโ server/ # ๐ฅ๏ธ Express + SQL.js
โ โโโ controllers/ # Domain logic (DSA, OSS, GSOC...)
โ โโโ middleware/ # Auth, rate limiting
โ โโโ migrations/ # Database schema
โ โโโ ...
โโโ CONTRIBUTING.md # ๐ How to contribute
โโโ APP_DOCUMENTATION.md # ๐ Deep technical reference
โโโ README.md # โ You are here
Client (client/.env)
| Variable | Required | Purpose |
|---|---|---|
VITE_FIREBASE_API_KEY |
โ | Firebase client auth |
VITE_FIREBASE_AUTH_DOMAIN |
โ | Firebase auth domain |
VITE_FIREBASE_PROJECT_ID |
โ | Firebase project |
VITE_FIREBASE_STORAGE_BUCKET |
โ | Firebase storage |
VITE_FIREBASE_MESSAGING_SENDER_ID |
โ | Firebase messaging |
VITE_FIREBASE_APP_ID |
โ | Firebase app ID |
VITE_API_URL |
โ | Override API base URL |
VITE_CLOUDINARY_CLOUD_NAME |
โ | Image upload support |
Server (server/.env)
| Variable | Required | Purpose |
|---|---|---|
PORT |
โ | API port (default: 3000) |
NODE_ENV |
โ | development or production |
FIREBASE_API_KEY |
โ prod | Token verification |
GITHUB_CLIENT_ID |
โ | GitHub OAuth |
GITHUB_CLIENT_SECRET |
โ | GitHub OAuth |
CLOUDINARY_CLOUD_NAME |
โ | Media uploads |
CLOUDINARY_API_KEY |
โ | Media uploads |
CLOUDINARY_API_SECRET |
โ | Media uploads |
| Command | What it does |
|---|---|
npm run dev:client |
Start Vite dev server |
npm run dev:server |
Start backend (safe mode) |
npm run lint |
Run ESLint on client |
npm run build |
Production build |
npm run smoke |
Server smoke tests |
npm run check |
Full quality gate: smoke + lint + build |
We love contributions! AXIOM is built by students, for students.
- ๐ด Fork the repo
- ๐ง Create a feature branch (
add-streak-badges) - โ
Run
npm run checkto verify - ๐ฌ Open a Pull Request
๐ Read the full Contributing Guide โ
๐ Find Good First Issues โ
| Phase | Status | Features |
|---|---|---|
| MVP | โ Done | Auth, Dashboard, DSA, Education, Jobs, Chat, Profiles |
| Enhancement | ๐ง In Progress | Notifications, AI recommendations, analytics, mobile optimization |
| Expansion | ๐ Planned | Study rooms, interview scheduler, resume builder, company reviews |
| Scale | ๐ฎ Future | Mobile app, AI code review, premium tier, public API |
If AXIOM helps you level up, consider starring the repo โ it helps more developers discover it!
AXIOM is part of a broader developer growth ecosystem:
| Project | Purpose |
|---|---|
| AXIOM | Developer career command center |
| PeopleMission | Student missions & OSS contributions |
| Oracle | Code validation & verification |
| why-this-broke | Debug reproducibility tracking |
MIT ยฉ Aditya Kammati โ see LICENSE for details.
Built with โค๏ธ for the developer community