Full-Stack Developer – Build Monitoring Platform | Next.js, NestJS, PostgreSQL, OpenTelemetry

Posted 2 days ago

Worldwide

Summary

PRD Doc Link: https://docs.google.com/document/d/1ANgnxG4XbW6g5GO3w6KGKm58k3A4ZeTfa41GyRcaJtQ/edit?usp=sharing Project Overview I am looking for an experienced Senior Full-Stack Developer, ideally with DevOps and observability experience, to build Senti, a modern infrastructure monitoring and observability platform for KCC Digital. Senti will provide centralized monitoring for our servers, applications, websites, databases, storage, services, and infrastructure. This is not a basic server-status dashboard. The objective is to build a polished, extensible internal monitoring product that allows both management and technical users to: * See the overall health of our infrastructure * Monitor multiple servers and environments * Understand historical trends * Investigate abnormal CPU, RAM, disk, network, or application behavior * Drill down into individual servers and services * Diagnose why disk or storage usage suddenly increased * Identify large, inefficient, duplicated, or unexpected files * Monitor applications and websites * Configure alerts * Add new servers easily * Customize dashboard views * Support future infrastructure providers without rebuilding the system The platform should be designed as a complete production-quality product, not an MVP or prototype. Current Infrastructure Our infrastructure is currently primarily hosted on Tencent Cloud Lighthouse. However, Senti must not be tightly coupled to Tencent Cloud. Adding or replacing a server should ideally require only configuration such as: * IP address * Hostname * Credentials or monitoring token * Environment * Labels and tags * Monitoring agent configuration The dashboard itself should not require redevelopment when infrastructure changes. The architecture should support future servers from providers such as AWS, Alibaba Cloud, Tencent Cloud, Hostinger or other VPS providers, and standard Linux environments. Senti Environments Production: monitor.kccdigital.com UAT: uat-monitor.kccdigital.com The production Senti dashboard should also allow monitored infrastructure to be categorized and filtered by environment, including: * Production * UAT * Development * Other custom environments Executive Overview A high-level infrastructure health dashboard should show information such as: * Overall system health * Number of monitored servers * Healthy, warning, and critical systems * Current incidents * CPU utilization * Memory utilization * Disk utilization * Network traffic * Application availability * Website uptime * Database health * Infrastructure growth * Current alerts * Historical reliability * Recent incidents This view should be understandable even by a non-technical manager. Infrastructure Overview Provide a centralized view of all monitored infrastructure. Information should include: * Server name * Environment * CPU usage * RAM usage * Disk usage * Network status * Overall health status Users should be able to filter by: * Environment * Provider * Server * Project * Application * Region * Status * Tags Server Detail View Each server should have its own detailed monitoring page. CPU * Current utilization * Historical utilization * Load average * Per-core usage * Top CPU-consuming processes Memory * Used memory * Available memory * Cache * Swap * Historical usage * Top memory-consuming processes Disk * Total capacity * Used capacity * Available capacity * Disk utilization percentage * Disk I/O * Filesystem breakdown * Mount-point usage * Historical disk growth Network * Incoming traffic * Outgoing traffic * Bandwidth * Connection count * Network errors Storage and Disk Forensics This is an important part of the project. I do not only want Senti to tell me that disk usage is 90 percent. I want to understand why it became 90 percent. Senti should provide drill-down functionality including: * Disk usage by directory * Largest directories * Largest files * Recently created large files * Recently modified large files * Log growth * Backup growth * Uploaded asset growth * Docker or container storage where applicable * Database storage * Temporary files * Cache directories * File-type breakdown For example: /var/www/ — 43 GB /var/log/ — 18 GB /var/lib/mysql/ — 12 GB /home/backup/ — 8 GB Users should then be able to drill further into directories. The system should help identify: * Unexpected storage growth * Abnormally large files * Old backups * Excessive log files * Duplicate or potentially unnecessary files * Storage inefficiencies Historical disk growth should also be visible so users can determine when an increase occurred. Trend Analysis Historical analysis is a core requirement. Users should be able to select time ranges such as: * Last hour * 6 hours * 24 hours * 7 days * 30 days * 90 days * Custom range Graphs should make it easy to answer questions such as: * When did CPU usage increase? * Is memory usage gradually increasing? * When did disk usage jump? * Is network usage growing? * Which application caused an infrastructure spike? * Is infrastructure consumption increasing month over month? Application and Website Monitoring Senti should also monitor applications and websites. Monitoring should include: * Website uptime * API availability * HTTP status * Response time * SSL certificate expiry * Domain expiry where practical * Service availability * Backend or API health * Database availability Applications may contain multiple components, including: * Public frontend * Admin frontend * Backend API * Database * Worker or background service These components should be grouped logically under each project. Project-Level Monitoring We operate multiple digital products. Senti should allow infrastructure to be grouped by project. For example, a project may contain: * Web frontend * Admin frontend * API * Database * Storage A user should be able to open a project and immediately see the overall health of all related infrastructure. Alerts and Incident Monitoring The platform should support configurable alerts. Examples include: * CPU usage above 80 percent * CPU usage above 95 percent * RAM usage above 85 percent * Disk usage above 80 percent * Disk usage above 90 percent * Disk usage above 95 percent * Server unreachable * Website unavailable * API unavailable * SSL certificate approaching expiry * Excessive response time * Abnormal disk growth * Application or service stopped Alert thresholds should be configurable rather than hard-coded. Alerts should support severity levels such as: * Info * Warning * Critical The system should also maintain alert and incident history. Easy Infrastructure Onboarding Adding a new server should be simple. The administrator should be able to use an Add Instance function and configure: * Server name * Hostname * IP address * Provider * Region * Operating system * Environment * Project * Tags * Monitoring configuration The architecture should support effortless future expansion. I do not want developers to manually modify Senti source code every time a new server is added. Customizable Dashboard Users should be able to personalize monitoring views. Features should include: * Show or hide widgets * Select metrics * Rearrange dashboard sections * Save dashboard configurations * Create custom dashboard views * Toggle projects * Toggle environments * Toggle servers * Select chart periods Where practical, widgets should support drag-and-drop arrangement. Search Senti should provide global search covering: * Server * Application * Project * IP * Domain * Service * Database Dark and Light Mode Both dark mode and light mode are mandatory. The UI should feel like a professional infrastructure product rather than a generic admin template. The design can take inspiration from modern observability and infrastructure platforms while maintaining Senti’s own visual identity. Mobile Support The web dashboard must be fully responsive. A simple mobile application is also part of the Senti product direction. Preferred mobile stack: React Native and Expo The mobile experience should prioritize: * Infrastructure status * Alerts * Incidents * Server health * Key metrics * Notifications The architecture should expose clean APIs that can be consumed by both web and mobile clients. Preferred Technology Stack Frontend * Next.js * React * TypeScript * Tailwind CSS * shadcn/ui * ECharts or an equivalent high-quality charting library Backend * NestJS * TypeScript * REST API or another well-justified API architecture Database * PostgreSQL * Prisma ORM Queue and Background Processing * Redis * BullMQ Monitoring and Observability Strong experience with technologies such as the following is highly desirable: * OpenTelemetry * Prometheus-compatible metrics * VictoriaMetrics * Node Exporter * Linux system metrics * Application metrics * Log monitoring * Health checks You may recommend architectural improvements where justified, but please explain the reason rather than replacing the stack purely based on personal preference. Authentication and Security Senti should support secure authentication and role-based access control. It should be architected so that it can integrate with our KCC ID authentication system using modern standards such as: * OIDC * OAuth 2.0 * PKCE Role examples may include: * Super Admin * Infrastructure Admin * Technical User * Read-Only or Executive User Important administrative actions should be auditable. Deployment Architecture The project should follow a proper environment structure: Local Development → UAT → Production UAT and Production must remain separate. The developer should be comfortable with: * Linux * Nginx * SSL * DNS * Environment variables * PostgreSQL * Redis * Process management or containers * Deployment automation * Backups * Logging * Monitoring Current infrastructure is Tencent Cloud Lighthouse, but the architecture must remain infrastructure-provider agnostic. Code and Architecture Expectations Maintainability is extremely important. The codebase should include: * Clean project structure * Modular architecture * Reusable components * Strong typing * Proper database migrations * Environment configuration * Error handling * Security best practices * API documentation * Deployment documentation * Setup documentation * Clear README * No hard-coded infrastructure values * No unnecessary vendor lock-in The project must be maintainable by another developer in the future. Handover Requirements At completion I expect: * Complete frontend source code * Complete backend source code * Database schema * Migration files * Monitoring configuration * Deployment configuration * UAT deployment * Production deployment * Environment variable documentation * Infrastructure setup documentation * API documentation * Administrator documentation * Backup and restore instructions * Developer setup instructions All source code and infrastructure developed for the project must be delivered into accounts and repositories controlled by the client. Developer Profile You should ideally have strong experience in several of the following: * Next.js * React * TypeScript * NestJS * PostgreSQL * Redis * Infrastructure monitoring * DevOps * Linux * Prometheus * OpenTelemetry * Grafana or similar observability platforms * Server monitoring * Metrics collection * Alerting systems * Time-series databases * Nginx * Cloud and VPS infrastructure * React Native and Expo This project is particularly suitable for a developer who understands both software engineering and infrastructure, rather than someone who only builds frontend admin dashboards. When Applying Please include: 1. Examples of monitoring, analytics, infrastructure, DevOps, SaaS, or data-heavy dashboards you have built. 2. Your experience with Next.js, NestJS, PostgreSQL, Redis, OpenTelemetry, Prometheus, or equivalent monitoring systems. 3. Briefly explain how you would architect metric collection for multiple Linux servers without tightly coupling Senti to one cloud provider. 4. Explain how you would implement historical metrics without allowing the PostgreSQL database to become unnecessarily large. 5. Explain how you would implement the disk-forensics feature so Senti can identify which folders or files caused disk usage to increase. 6. Confirm whether you can handle frontend development, backend development, monitoring infrastructure, UAT deployment, and Production deployment. 7. State whether you are an individual developer or an agency or team. Please do not send a generic proposal. Applications that demonstrate a genuine understanding of monitoring architecture will be prioritized. Final Objective Senti should ultimately become the centralized infrastructure command center for KCC Digital. I want to be able to open one system and answer: * Are all my systems healthy? * What is wrong? * When did it start? * What caused it? * Which project is affected? * Which server is responsible? * Why is storage growing? * What needs attention? * Is infrastructure usage trending upward? * Can I add another server without modifying the platform? The system should be built with enough architectural quality to continue expanding as our infrastructure and digital products grow.

  • $200.00

    Fixed-price
  • Intermediate
    Experience Level
  • Remote Job
  • Ongoing project
    Project Type

Contract-to-hire opportunity

This lets talent know that this job could become full time.
Learn more
Skills and Expertise
Mandatory skills
React
JavaScript
PostgreSQL
Activity on this job
  • Proposals:20 to 50
  • Last viewed by client:2 days ago
  • Hires:
    1
  • Interviewing:
    17
  • Invites sent:
    0
  • Unanswered invites:
    0
About the client
Member since Sep 16, 2021
  • USA
    Sunnyvale9:20 AM
  • $4.2K total spent
    43 hires, 8 active
  • Tech & IT
    Small company (2-9 people)

Explore similar jobs on Upwork

JavaScript
Node.js
PHP
Web Application
AI App Development
DevOps
API
Git
MySQL
Cs2 Gambling SiteFixed-price‐ Posted 4 weeks ago
Gambling
Unity
Counter Strike
AR & VR
Online Gambling Website
Card Game
Board Game
Unreal Engine
MetaMask
Mystery Box
iGaming
WebGL
Game Development
Gaming
Multiplayer
Game UI/UX Design
UI/UX Prototyping
Steam API
AI Development
PixiJS

How it works

  • Post a job icon
    Create your free profile
    Highlight your skills and experience, show your portfolio, and set your ideal pay rate.
  • Talent comes to you icon
    Work the way you want
    Apply for jobs, create easy-to-by projects, or access exclusive opportunities that come to you.
  • Payment simplified icon
    Get paid securely
    From contract to payment, we help you work safely and get paid securely.
Want to get started? Create a profile

About Upwork

  • Rating is 4.9 out of 5.
    4.9/5
    (Average rating of clients by professionals)
  • G2 2021
    #1 freelance platform
  • 49,000+
    Signed contract every week
  • $2.3B
    Freelancers earned on Upwork in 2020

Find the best freelance jobs

Growing your career is as easy as creating a free profile and finding work like this that fits your skills.

Trusted by

  • Microsoft Logo
  • Airbnb Logo
  • Bissell Logo
  • GoDaddy Logo