Alemca - IoT Remote Management Platform
Architected and developed scalable data and file management solutions for B2B IoT platform managing everything from solar farms to connected badges. Led architectural decisions, designed APIs, and implemented core features.
Overview
Alemca is a B2B platform that simplifies remote system management - from solar power plants to simple connected badges. The platform handles secure access, real-time monitoring, traceability, and centralized management of IoT devices at scale.
Problem
Managing distributed IoT systems securely is complex. Clients need to remotely access heterogeneous devices, monitor them in real-time, maintain security through Zero Trust architecture, ensure complete traceability of all actions, and scale to thousands of concurrent devices. Traditional approaches don't handle the variety and scale of devices Alemca supports.
Constraints
- Must support widely different device types (from solar plants to badges)
- Real-time monitoring and alerting needed
- Complete audit trail for compliance
- B2B clients expect 99.9%+ uptime
- Temporary access delegation with automatic expiration
Approach
Started by renovating the existing web app to add essential features for users. Once the foundation was solid, focused on building two critical components: a data pole for time-series metrics and a file pole for document management. Both needed to be scalable, efficient, and integrate seamlessly with existing backends and future client projects.
Key Decisions
InfluxDB for time-series data storage
Purpose-built for IoT metrics with excellent compression, query performance for time-series data, and built-in retention policies. Critical for handling millions of data points from distributed sensors.
- PostgreSQL with TimescaleDB (more complex, less optimized for pure time-series)
- MongoDB (poor time-series performance, larger storage footprint)
S3-compatible storage for file management
Industry-standard object storage with excellent scalability, durability guarantees, and straightforward pricing model. Allows flexibility to use AWS S3, MinIO, or other compatible providers.
- Traditional file system (doesn't scale horizontally)
- Database blob storage (expensive, poor performance at scale)
Flask framework with Jinja templates
Lightweight, flexible framework that matched team expertise. Jinja templates provided server-side rendering for fast initial loads while allowing progressive enhancement.
- Django (too heavy for our needs)
- React SPA (unnecessary complexity for our use case)
Tech Stack
- Python
- Flask
- Jinja2 Templates
- InfluxDB
- S3-compatible Storage
- API Design (RESTful)
- Docker
Result & Impact
- 99.9%+System Uptime
- ThousandsDevices Managed
- Millions dailyData Points Processed
Built scalable infrastructure that became the foundation for client integrations. The data and file poles I architected handle real-time monitoring and document management for diverse IoT deployments. Led architectural decisions that balanced immediate needs with future scalability, implementing solutions that are both performant and maintainable. Strengthened skills in system security, distributed systems, and making technical decisions with business impact in mind.
Learnings
- Architectural decisions have long-term consequences - take time to analyze and design properly
- Security must be built in from the start, not added later
- Scalability requires thinking beyond current requirements
- API design is critical when multiple services need to integrate
- Technical debt trade-offs: knowing when to refactor vs. when to ship
- Managing distributed systems requires robust monitoring and alerting
Core Responsibilities
Initial Web App Renovation
Rebuilt the user-facing web application to extend functionality:
- Frontend & Backend: Flask with Jinja templates
- Feature Development: Added critical user-requested features
- Foundation Building: Established solid base for future development
Data Pole Architecture
Designed and implemented scalable time-series data management:
- Technology: InfluxDB for optimal time-series storage and querying
- Integration: Connected multiple services for unified data collection
- API Design: Built scalable API serving both internal backends and client projects
- Real-time Processing: Handled millions of data points from distributed sensors
File Pole Architecture
Created robust document and file management system:
- Storage: S3-compatible object storage for scalability
- Access Control: Secure file access with granular permissions
- API Design: RESTful API for file upload, retrieval, and management
- Integration: Seamless connection with other platform components
Technical Impact
The architecture I designed handles:
- Real-time monitoring of heterogeneous IoT devices
- Secure remote access to distributed systems
- Centralized management of device configurations
- Automatic security updates across device fleet
- Complete traceability for regulatory compliance
What Made This Challenging
Working on IoT at scale requires balancing multiple concerns:
- Security: Every device is a potential attack vector
- Heterogeneity: Devices have different capabilities, protocols, interfaces
- Scale: Architecture must handle 10x growth without redesign
- Reliability: Downtime affects physical systems (solar plants, access control)
- Complexity: Multiple services must work together seamlessly
Key Takeaways
This project taught me to:
- Think architecturally first: Good design prevents problems, refactoring fixes them
- Choose boring technology: InfluxDB and S3 are proven, reliable, and well-understood
- APIs are contracts: Design them carefully - they’re hard to change
- Monitor everything: Proactive monitoring prevents outages