Quinck
Tech Stack and Portfolio
We are a team of young people, organised in an agile way to manage every aspect of digital innovation.
We are both a start-up researching and developing proprietary and open source products and a multidisciplinary software house in IT consultancy.
We like to try, study, explore and try harder when we fail.
Frontend
- TypeScript: we like types
- React: SPA
- Next.js: Static and SSR projects
- Angular: complex and scalable SPA
- Svelte: efficient SPA
- Astro: Static projects
- Qwik: SSR projects
Mobile
- Flutter: multiplatform development
- React Native: multiplatform development
Backend
- NodeJS (TypeScript): microservices, APIs, webSockets
- Go: high performance and concurrent applications, web services and APIs
- Rust: safety (and performance) critical applications
- Python: general purpose scripting
- Scala: solid distributed systems
- WebSockets: real-time user experiences
- Redis: caching, pub/sub, event bus and geospatial indexing
- MongoDB: NoSQL database, geospatial indexing
- PostgreSQL: SQL database
Infrastructure
- NGINX: reverse proxy
- Docker: software containerization and portability
- Terraform: infrastructure as code (IaC)
- Grafana: observability dashboard
- Prometheus: monitoring, metrics and telemetry
Cloud services
- Cloudflare Workers: serverless functions
- Cloudflare Pages: hosting
- AWS Amplify: hosting
- Vercel: hosting
- Firebase: cloud storage and authentication
- Stripe: payments management
AWS
- S3: object storage
- ECS: clustered containerized applications
- EKS: kubernetes on AWS
- EC2: general purpose virtual machines
- Lambda: serverless deploy
- CloudFront: CDN
- CloudWatch: metrics, logs and analysis
- ElastiCache: managed Redis deploy
- RDS: SQL database deploy
- DynamoDB: NoSQL database deploy
- SQS: message queues for event driven applications
- Cognito: authentication
- AppSync: GraphQL WebSockets (realtime chat)
Devops
- Jenkins: CI/CD
- Gitlab: CI/CD
- Github Actions: CI/CD
- Bitbucket Pipelines: CI/CD
- SonarCloud: code quality assurance
- Fastlane: mobile apps build and deploy
Projects
Multijet
https://github.com/quinck-io/multijet
Multijet is a highly opinionated framework/template for building large Web API monorepos in Typescript. Even if Multijet gives highly opinionated default structure and settings, it is very flexible thanks to its tech stack nature (rather than being a "closed" framework).
Features:
OpenAPI models and routes code generation
Microservice monorepo structure
Very fast and small builds (using ESBuild to bundle each service)
Optimized for serverless environments
Portable deploy (integrates AWS Lambda and Dockerfile)
Powerful CLI to scaffold new projects and generate code
Support for Node.js and Bun runtimes
Strict linting and TypeScript-only to ensure safety
Integrated logging, dependency injection, automatic routing
Stack:
Fastify: web framework
ESBuild: bundler and build tool
Turborepo: fast monorepo management
npm workspaces: multi project structure
Blaze
https://github.com/quinck-io/blaze
Blaze is a Go minimal template that provides a starting point for new projects. It is designed to be a simple, yet powerful, foundation for building fast, idiomatic and maintainable HTTP services in Go. The template aims to not be opinionated, following the official Google conventions and the Go standard project layout. The main advantage of blaze is the 100% compatibility with the standard library, making it universal and compatible with all the Go http ecosystem (middlewares, routers, adapters, tracing, serverless…).
Features:
Fast and very low overhead
Utility-driven and flexible multi-entrypoint structure
Simple to use without “hidden magic”
100% compatible with the Go http standard library
Integrated structured logging
Seamless AWS Lambda compatibility, optimized for fast cold starts
Stack:
chi: http router (compatible with standard library)
chi/middleware: custom and integrated HTTP middlewares
zerolog: structured logging
golangci-lint: linter (custom configuration with strict rules)
Cadmium
https://github.com/quinck-io/cadmium
Cadmium is a minimal starter template to build microservices in Rust. The main goal of Cadmium is to be extremely safe and performant without sacrificing the ease of use. Cadmium is entirely based on the Tokio ecosystem and its layers, providing a reliable and battle tested networking stack.
Features:
Ergonomic developer experience
HTTP and gRPC servers/clients
Extremely safe and performant
Typesafe handlers and automatic error handling
Based on Tokio ecosystem
Seamless AWS Lambda compatibility
Stack:
Meddle
Meddle is a platform designed to facilitate the connection between diverse data sources and destinations, processing and normalizing data in soft real-time. Meddle integrates sources and destinations with various industrial protocols or communication standards/technologies, including widely used open-source technologies. The software has two main components: the Gateway and the Cloud-based Software as a Service (SaaS). The Gateway is the atomic unit of Meddle, allowing the connection of multiple data sources to multiple data destinations. The SaaS component operates in the cloud, providing a management layer for multiple Gateways and their configurations, thus offering a comprehensive solution for data integration between diverse sources.
Features:
Integration with industrial protocols: Snap7, Allen Bradley, BacNet, CAN, COAP, Melsec, Modbus, OPC-UA, Omron Fins, MTConnect
Integration with open source technologies and communication standards: Apache Kafka, AWS SQS, Prometheus MongoDB, SQL, InfluxDB, MQTT, HTTP, REST
Flexible plugin architecture
Internal gateway data transform and rule engine
Stack:
Python: core of the Meddle Gateway
TypeScript: SaaS Frontend and backend
Prometheus: monitoring and analysis
Redis: SaaS datastream Pub/Sub
WebSockets: SaaS datastream real time logs
Docker: containerization (gateway and SaaS)
AWS Cloud: SaaS infrastructure
S3, ECS (gateway deployment), EC2, Cognito (authentication)
Bubble
Bubble is a hybrid web2/web3 platform that enables users and music artists to create and exchange NFTs while interacting through social features. Bubble utilizes an Ethereum layer 2, Polygon, for NFT and web3 functionalities.
Thanks to its hybrid nature, the platform seamlessly conceals the complexities and drawbacks associated with web3, simplifying the onboarding process and facilitating the exchange of assets and NFTs among users and artists for a more accessible and user-friendly experience.
Features:
users can create, mint and sell NFTs to other users
artists can create unique NFTs and feature them
web2 social network with interactions between users and artists
NFT artists card game
Metamask/WalletConnect login
Stack:
Polygon: L2 Ethereum blockchain
Solidity: smart contracts
Next.js: frontend framework
TypeScript: frontend and web2 backend
Docker: containerization
AWS Cloud: web2 infrastructure
MongoDB: NoSQL database
S3, Cognito (authentication), ECS Fargate (deploy)
IT Consulting
We like to work on internal open source projects, but also to collaborate with companies, with the goal of turning their ideas and requirements into final projects. Not only big companies but also startups, and in a wide variety of sectors (agritech, sports, finance, manifacturing ...) Some of our most notable projects are:
Paint Mixture Neural Network
The customer had a need for a system that would support the formulation of paints (consisting of 13 different mixtures) from a given color in RGB.
A database of about 20k formulated elements was available.
A feed-forward neural network-based system was implemented for the prediction of new formulas.
A dashboard making calls to a backend, which is based on a serverless asynchronous queuing system using AWS SQS and AWS Lambda, was implemented for the client's end use.
Events on the SQS bus trigger the invocation of an asynchronous worker executes the AI script and keeps track on a DB of each executed task and its status.
Requirements:
DB of 20k elements (very sparse, various processing was done on the data such as Data preprocessing and Data Augmentation)
Execution of asynchronous jobs via queues
Monitoring of metrics to avoid issues
Stack:
Python with Keras for Feed-forward Neural Network.
NodeJS + Typescript for the worker managing the queues
AWS SQS + AWS Lambda for asynchronous job management
DynamoDB for data storage
React + TS for the dashboard to visualize results
AWS Cloudwatch for monitoring system usage and metrics (observability)
Optical Laser
This experimental software is designed to manage a consistent, high-speed binary data stream from a line optical sensor that provides 3D inline inspection via a TCP socket connection. The system processes the data through analysis and filtering, manages alert mechanisms, and handles data streaming to a client. The latter is responsible for displaying charts and related information in real time, ensuring an effective and responsive user interface.
The laser sensor is positioned above a material moving on a conveyor belt, performing a multi-point distance measurement. The output of the sensor can be simplified into a list of n numerical values (samples) indicating the distance to the material.
The software is strongly data-driven: all measurements, calculations, and analyses are specifically carried out for the type of data obtained from the sensor and, consequently, from the passing material.
Requirements:
soft real-time measurements of each sample received from the sensor (very high speed, ~10.000 samples/s)
web dashboard to visualize in real time the sample graph, manage sensor and user settings
alerting system that triggers when measures exceeds user limits
Given the very high throughput and the concurrent nature of the software, we chose Go as the language for the server. All internal components communicate with each other via synchronized channels. The server runs a variety of concurrent operations:
TCP sensor data ingestion
TCP sensor command dispatch
REST API to communicate with the web dashboard
data parsing, processing and measurement
Websockets API to stream throttled data to the web dashboard
check alerting based on measurements
Stack:
Go: server language
MongoDB: database to store alerting samples and user settings
Svelte: web dashboard
Grafana and Prometheus: internal software metrics and monitoring
Welding Boards
This software serves as a centralized orchestration system for a network of spot welder microcontrollers within a local environment. It periodically retrieves data from each welder, enabling real-time monitoring and streamlining the aggregation of this data for future analysis. Designed for portability, the software is sold to users with the microcontrollers for spot welders, ensuring a seamless integration and management experience for users.
Requirements:
connecting to multiple welder microcontrollers
retrieving data from each welder REST API
storing every single spot made by every welding machine, enabling later data analysis
sending commands and settings to each welder
managing welder settings backups
visualizing connected welders, data and their details in a Web interface
the entire software stack must be easily portable and installable in any server
license key management
Over the air updates for every user
Each welder exposes a documented Json HTTP API, enabling the server to easily retrieve and send data from those.
The server is divided into 3 main components: API (business logic for the web dashboard), Daemon (welders manager) and Worker (single welder data scraper). Each component is decoupled and communicates with each other using an Event Bus.
When adding a new welder the user must specify its IP address, the Daemon then starts a Worker that scrapes data, stores it and manage the welder status.
The software is distributed as a Virtual Machine Disk (VMWare, VirtualBox and Hyper-V), containing the entire tech stack.
Stack:
React: web dashboard
Node.js and TypeScript: API, Worker and Daemon
Go: OTA update manager, License key management
MongoDB: main database for business logic and welder data
Redis: cache, Event Bus
NGINX: reverse proxy
Docker: containerization for each component
Debian: OS delivered in the final virtual disk
Anti money laundering Data Warehouse
This project addresses the critical need to establish a computerized database dedicated to anti-money laundering compliance. It aims to facilitate data and information retention in accordance with regulatory guidelines, automate risk profile calculations, feed into the automated analysis system for abnormal operations, and automate the annual self-assessment process.
Features & Metodolgies:
Data Warehousing Solution: the project implements a comprehensive data warehousing solution tailored for anti-money laundering compliance.
REST Interface: The system provides interaction capabilities through a REST interface, ensuring seamless communication with other components.
Microservices Architecture: Leveraging microservices architecture to exploit scalability and flexibility.
Domain-driven development (DDD): Aligning software design with business domain.
Database Management: Utilizes TypeORM and AWS RDS with Aurora PostgreSQL for efficient database management and storage.
KYC Evaluation Module: dedicated module for KYC evaluation, enabling organizations to assess customer identities, verify documentation, and flag suspicious activities.
Technology Stack:
Nest.js: High level framework for building efficient and scalable server-side applications in Node.js
AWS Lambda: Serverless computing service for running code without provisioning or managing servers.
TypeORM: ORM (Object-Relational Mapping) library for TypeScript and JavaScript, simplifying database management.
AWS RDS (Aurora PostgreSQL): Managed relational database service by AWS for seamless database operations.
AWS SAM: Serverless application model for defining and deploying serverless applications on AWS.
GitLab CI: Continuous integration and delivery platform for automating testing and deployment processes.