Stop juggling 10 platforms. One place for DSA, OSS, GSOC, interviews, jobs, and your public portfolio.
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 →
| 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