[{"data":1,"prerenderedAt":109},["ShallowReactive",2],{"portfolio-logify":3,"portfolio-related-logify":85},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"order":10,"isActive":11,"longDescription":12,"category":13,"tags":14,"client":25,"year":26,"metrics":27,"recommended":39,"image":43,"highlights":44,"overview":49,"challenge":50,"solution":51,"features":52,"technical":60,"results":68,"sidebarTitle":73,"body":74,"_type":79,"_id":80,"_source":81,"_file":82,"_stem":83,"_extension":84},"/portfolio/logify","portfolio",false,"","Live fleet ops — less phone tag, faster compliance handoffs","Internal real-time platform for trucking — IoT through NATS JetStream, fleet dashboards, FMCSA-oriented reporting, Keycloak, Postgres + Redis.",2,true,"A real-time operational system that gives trucking and logistics teams a single place to see fleet activity and device telemetry as it happens, backed by a clear service and data architecture (NATS JetStream ingestion, core domain services, PostgreSQL and Redis, read replicas) and tooling to prepare reports for FMCSA compliance and submissions.","Web App",[15,16,17,18,19,20,21,22,23,24],"AWS","IoT","Next.js","TypeScript","Node.js","Keycloak","NATS","PostgreSQL","Redis","Compliance","Confidential","2024",[28,32,35],{"value":29,"suffix":30,"label":31},500,"+","Fleet assets on one map",{"value":33,"suffix":30,"label":34},12,"Ingest & domain services",{"value":36,"suffix":37,"label":38},99,".9%","Ingest reliability goal",[40,41,42],"saas-dashboard","healthcare-portal","fintech-platform","/images/portfolio/logify.jpg",[45,46,47,48],"Live fleet visibility - trucks, status, and key telemetry on one screen","FMCSA report preparation - structured outputs to support regulatory filings and audit-ready documentation from operational data","End-to-end path from edge IoT devices through NATS JetStream ingestion into core services and the UI","Enterprise access control with Keycloak and role-aligned permissions","Logify is an internal operations product for a trucking and logistics company. It aggregates activity and telemetry from vehicles and connected devices into a real-time dashboard so dispatchers, fleet managers, and leadership can see what the fleet is doing without switching tools or waiting for batch reports.\n\nIt is built for people who run day-to-day transport operations: where assets are, whether they are moving or idle, and whether device data looks healthy - trustworthy operational signal, not just a map.\n\nThe problem it solves is fragmentation and latency. Fleet reality is continuous and distributed, but many teams still depend on delayed exports, phone calls, or disconnected systems. Logify centralizes that stream of truth so decisions are based on current state, not yesterday’s spreadsheet.\n\nIt also reduces the compliance scramble: the same operational record set can be shaped into reports suitable for FMCSA-related requirements, so safety and regulatory roles spend less time re-keying data across portals and spreadsheets.\n","Trucks and IoT endpoints sit on variable networks. Payloads can arrive out of order, reconnect often, or burst after offline periods - the system has to tolerate gaps without corrupting operational views.\n\nIngestion runs through NATS JetStream so bursts and reconnects land in a durable queue before core services consume them - parsing, versioning, validation, and back-pressure have to stay strict so one bad frame or spike does not destabilize the pipeline.\n\nOperators need hierarchy and clear states - not a dump of fields. The UI must stay readable under high update rates without feeling jittery or overwhelming.\n\nDifferent roles see different slices of the fleet and sensitive data. Keycloak integration must be reliable in the browser and on APIs, with consistent enforcement so permissions are not duplicated or drift between frontend and backend.\n","A Next.js (TypeScript) frontend provides the dashboard; a Node.js backend owns normalization, business rules, and APIs consumed by the app. IoT traffic lands in NATS JetStream first, then flows into modular core services (users and access, fleet control, device registry, compliance, live tracking, session state) so spikes and retries do not starve the UI path.\n\nPersistence uses PostgreSQL (with read replicas for scale-out reads) and Redis for hot state and caching; core services stay the single place domain rules live, with storage details isolated behind clear boundaries.\n\nAuthentication uses standard OIDC/OAuth flows with Keycloak; tokens gate API access, and role claims drive visibility. Frontend checks improve UX; backend enforcement is the source of truth.\n\nThe dashboard is organized around fleet overview, per-asset detail, and state-first panels (moving, stopped, offline, degraded device) rather than raw sensor dumps.\n\nReporting layers turn normalized fleet and operational data into exportable packages aligned with what FMCSA workflows expect - separate from the live UI path so batch generation does not compete with real-time ingestion.\n\nPlatform observability covers API documentation (Swagger), centralized logging, deployment pipelines, real-time metrics, and alerting so operations can see ingestion health, service errors, and capacity signals alongside the product.\n",[53,54,55,56,57,58,59],"Real-time truck monitoring: a live operational picture without manual refresh or reconciling multiple sources","Status and telemetry: location and activity-style signals with device health so 'is this truck working?' is answered from data","IoT ingestion: NATS JetStream queue between devices and core services for buffering, ordering where needed, and operational resilience","Role-based access: Keycloak identities; permissions match operational responsibility","Scalable Node.js backend: clear modules for more device types, rules, and consumers over time","Data tier: PostgreSQL cluster with read replicas; Redis for session and state cache","FMCSA-oriented reporting: compile and format operational data into reports intended for carrier submission and internal compliance review",[61,62,63,64,65,66,67],"Near real-time UI: server push or subscribe model so the dashboard stays current without hammering the API","NATS JetStream: durable ingestion path from IoT into core services; back-pressure and replay-friendly handling for flaky networks","Modular backend: queue and transport handling separated from domain logic and HTTP handlers - easier tests and safer changes","PostgreSQL plus read replicas; Redis for cache and fast session or state reads alongside the primary store","Keycloak: short-lived access tokens, refresh handling in the app, server-side verification on protected routes","Observability: Swagger for API docs, centralized logging, metrics, alerting, and CI/CD-style deployment visibility","Performance: batched or throttled UI updates for high-frequency telemetry, lean API payloads",[69,70,71,72],"~60% less manual effort on FMCSA-facing report assembly (ops estimate)","One live view of fleet and device health instead of reconciling exports and calls","Durable IoT ingestion so reconnects and bursts do not corrupt operational state","Role-aware access (Keycloak) enforced consistently in UI and APIs","Impact",{"type":75,"children":76,"toc":77},"root",[],{"title":7,"searchDepth":10,"depth":10,"links":78},[],"markdown","content:portfolio:logify.md","content","portfolio/logify.md","portfolio/logify","md",[86,95,103],{"id":87,"title":88,"description":89,"category":13,"tags":90,"image":94},"media-compressor","Cross-platform compressor + download funnel — MVP in weeks","Electron app for local image/video compression (Windows, macOS, Linux) plus a landing page with installers and onboarding.",[91,92,93,19],"Electron","Next","Desktop App","/images/portfolio/media-compressor.jpg",{"id":96,"title":97,"description":98,"category":99,"tags":100,"image":102},"ozfame","Course funnel that turns social traffic into paid signups","Landing and checkout flow for an online course — mentor story, proof, pricing, and payment on legacy rails.","Landing Page",[92,101],"TailwindCSS","/images/portfolio/ozframe.jpg",{"id":104,"title":105,"description":106,"category":99,"tags":107,"image":108},"polygraph-services-website","Polygraph Services Website","A professional service website for a polygraph testing company in Ukraine. Presents services, explains the testing process, and enables clients to request consultations or book examinations.",[92,101],"/images/portfolio/polygraph-services-website.jpg",1777088738015]