Skip to content

Tech Stack for Pairrogrammer

Pairrogrammer is built with a modern, efficient, and scalable tech stack to ensure smooth functionality and a seamless user experience. Below is an organized overview of the core technologies used in the project:


1. Mobile App

Core Technologies:

  • Flutter: For building cross-platform apps (iOS and Android) with a single codebase.
  • Dart: The programming language used with Flutter for fast and high-performance app development.

Key Benefits:

  • Cross-Platform: Single codebase for both iOS and Android.
  • Rich UI: Pre-designed widgets for engaging UI/UX.
  • Fast Development: Hot-reload feature for rapid iteration.

2. Backend

Core Technologies:

  • Hono: Lightweight TypeScript framework for APIs (handles authentication, project management, and matchmaking).
  • FastAPI: Python framework for AI-powered matchmaking and model inference.

Key Benefits:

  • Performance: High-speed handling of requests.
  • Ease of Use: Simplifies development for both TypeScript and Python ecosystems.
  • Scalability: Capable of handling growing user bases.

3. Database

Core Technology:

  • PostgreSQL: Relational database for storing user profiles, project data, and match information.

Key Benefits:

  • Reliability: Known for stability and data integrity.
  • Advanced Features: Supports indexing, full-text search, and complex queries.
  • Scalability: Handles large datasets efficiently.

4. AI Models

Core Technologies:

  • FastAPI: For exposing AI models and handling inference requests.
  • Ollama: Pre-trained language models (LLMs) for project idea generation, skill recommendations, and enhanced matchmaking.

Key Benefits:

  • Speed: Optimized for quick inference.
  • AI Customization: Leverages LLMs for intelligent features.

5. Containerization & CI/CD

Core Technologies:

  • Docker: For containerizing backend and AI services, ensuring consistent performance across environments.
  • GitHub Actions: Automates the build, test, and deployment pipeline.

Key Benefits:

  • Portability: Ensures smooth transitions from development to production.
  • Automation: CI/CD pipelines reduce manual tasks and improve reliability.

6. Hosting & Deployment

Core Technologies:

  • Fly.io: For scalable cloud hosting of the backend and AI services.
  • Render: For hosting backend services for the Flutter app.

Key Benefits:

  • Scalability: Seamlessly scales to handle global traffic.
  • Ease of Use: Simplified setup with automatic SSL and configuration.

7. Version Control

Core Technologies:

  • Git: Version control for tracking code changes.
  • GitHub: Centralized code hosting with tools for collaboration (pull requests, issue tracking, CI/CD integration).

Key Benefits:

  • Collaboration: Streamlines team workflows and code reviews.
  • Version Management: Enables easy rollbacks and branch management.

Conclusion

Pairrogrammer leverages a modern tech stack to deliver a user-friendly and scalable platform for CS students and project builders. By combining Flutter, Hono, FastAPI, PostgreSQL, Ollama, and Docker, the app ensures reliability, high performance, and future scalability.

Summary of Key Technologies:

  • Mobile App: Flutter (Dart)
  • Backend: Hono (TypeScript) + FastAPI (Python)
  • Database: PostgreSQL
  • AI Models: FastAPI + Ollama
  • Containerization: Docker + GitHub Actions (CI/CD)
  • Hosting: AWS services (Lambda, API Gateway, S3)
  • Version Control: Git + GitHub