/* Loading and error states */ #portfolio-loading { text-align: center; padding: 2rem; font-size: 1.2rem; color: #666; min-height: 200px; display: flex; flex-direction: column; align-items: center; justify-content: center; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .loading-spinner { border: 4px solid rgba(0, 0, 0, 0.1); border-radius: 50%; border-top: 4px solid #3498db; width: 30px; height: 30px; animation: spin 1s linear infinite; margin-bottom: 1rem; } #portfolio-error { display: none; text-align: center; padding: 2rem; color: #dc3545; background-color: #f8d7da; border-radius: 4px; margin: 1rem 0; } .portfolio-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 2rem; margin: 2rem 0; } .portfolio-item { border: 1px solid #e1e4e8; border-radius: 6px; overflow: hidden; transition: transform 0.2s, box-shadow 0.2s; } .portfolio-item:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); } .portfolio-image { height: 180px; background-color: #f6f8fa; display: flex; align-items: center; justify-content: center; overflow: hidden; } .portfolio-image img { width: 100%; height: 100%; object-fit: cover; } .portfolio-content { padding: 1.5rem; } .portfolio-content h3 { margin: 0 0 0.5rem; font-size: 1.25rem; } .portfolio-content p { color: #666; margin: 0 0 1rem; font-size: 0.9rem; } .portfolio-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 1rem; } .portfolio-tag { background-color: #f3f4f6; color: #4b5563; padding: 0.25rem 0.75rem; border-radius: 9999px; font-size: 0.75rem; } /* Filter Controls */ .filter-controls { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 1rem; align-items: center; } .search-box { position: relative; flex: 1; min-width: 250px; } .search-box i { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #666; } .search-box input { width: 100%; padding: 0.5rem 1rem 0.5rem 2.5rem; border: 1px solid #ddd; border-radius: 4px; font-size: 1rem; } .filter-buttons { display: flex; flex-wrap: wrap; gap: 0.5rem; } .filter-btn { padding: 0.5rem 1rem; background: #f3f4f6; border: 1px solid #e5e7eb; border-radius: 4px; cursor: pointer; transition: all 0.2s; } .filter-btn:hover { background: #e5e7eb; } .filter-btn.active { background: #3b82f6; color: white; border-color: #2563eb; } .filter-info { font-size: 0.9rem; color: #666; margin-bottom: 1rem; text-align: right; } /* Portfolio Item Hover Effects */ .portfolio-link { text-decoration: none; color: inherit; display: block; height: 100%; } .portfolio-overlay { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(59, 130, 246, 0.9); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s; } .portfolio-item:hover .portfolio-overlay { opacity: 1; } .view-project { color: white; font-weight: 500; padding: 0.5rem 1rem; border: 2px solid white; border-radius: 4px; transform: translateY(10px); transition: transform 0.3s; } .portfolio-item:hover .view-project { transform: translateY(0); } /* Responsive Adjustments */ @media (max-width: 768px) { .portfolio-grid { grid-template-columns: 1fr; } .filter-controls { flex-direction: column; align-items: stretch; } .search-box { width: 100%; } .filter-buttons { overflow-x: auto; padding-bottom: 0.5rem; } .filter-buttons::-webkit-scrollbar { height: 6px; } .filter-buttons::-webkit-scrollbar-thumb { background: #ddd; border-radius: 3px; } } /* Animation for portfolio items */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .portfolio-item { animation: fadeInUp 0.6s ease-out forwards; opacity: 0; } /* Stagger animations */ .portfolio-item:nth-child(1) { animation-delay: 0.1s; } .portfolio-item:nth-child(2) { animation-delay: 0.2s; } .portfolio-item:nth-child(3) { animation-delay: 0.3s; } .portfolio-item:nth-child(4) { animation-delay: 0.4s; } .portfolio-item:nth-child(5) { animation-delay: 0.5s; } .portfolio-item:nth-child(n+6) { animation-delay: 0.6s; } /* No results message */ .no-results { grid-column: 1 / -1; text-align: center; padding: 4rem 1rem; margin: 2rem 0; background-color: #f8f9fa; border-radius: 8px; } .no-results-content { max-width: 500px; margin: 0 auto; } .no-results i { font-size: 3rem; color: #6c757d; margin-bottom: 1rem; display: block; } .no-results h3 { margin: 0 0 0.5rem; color: #343a40; } .no-results p { color: #6c757d; margin: 0; } /* Dark mode support */ @media (prefers-color-scheme: dark) { .portfolio-item { background-color: #2d3748; border-color: #4a5568; } .portfolio-content { color: #e2e8f0; } .portfolio-content p { color: #a0aec0; } .portfolio-tag { background-color: #4a5568; color: #e2e8f0; } .no-results { background-color: #2d3748; } .no-results h3 { color: #e2e8f0; } .no-results p { color: #a0aec0; } }
With over 12 years of experience as a DevOps Engineer, Software Developer, and Systems Architect, I specialize in creating human-technology connections through innovative solutions. My expertise spans edge computing, hypermodularization, and automated software development lifecycles, with a focus on building bridges between complex technical requirements and human needs.
Currently, as the founder and CEO of Telemonit, I'm developing Portigen - an innovative power supply system with integrated edge computing functionality that enables natural human-machine interactions even in environments with limited connectivity.
An innovative power supply system with edge computing capabilities, providing autonomous energy solutions for IoT and edge computing applications. Features include 500Wh capacity, ultra-low latency processing, and modular design for various deployment scenarios.
Pioneering systems that convert natural language into functional applications, bridging the gap between human communication and code generation.
Creator of numerous Python libraries including pifunc, mdirtree, markdown2code, dynapsys, and more, focusing on automation, modularity, and domain-specific languages (DSLs).
Founder & CEO, Hardware and Software Developer
06.2024 – Present
Leading the development and production of Portigen energy supply stations with edge computing capabilities.
DevOps Engineer CDN/DNS
07.2023 – 01.2024
Optimized CDN/DNS services for improved security and performance.
Java Developer and DevOps
09.2020 - 04.2023
Developed integration platforms connecting complex systems for public service applications.
My research focuses on creating accessible, modular solutions to complex technical challenges. Key areas include:
I welcome collaboration in edge computing, hypermodularization, text-to-software technologies, and open-source hardware/software development. Particularly interested in projects bridging academic research with practical industry applications and technology education initiatives.
Here are some of my recent projects and contributions.
Loading portfolio items...
Domain consultation service
Project hub for software automation tools
Convert natural language descriptions to working software
No-code/low-code solutions
DSL to Software conversion
Last updated: