[{"data":1,"prerenderedAt":1924},["ShallowReactive",2],{"profile":3,"resume-senior-software-engineer-trading-liquidity":17,"projects-for-resume":123},{"id":4,"bio":5,"email":6,"extension":7,"github":8,"linkedin":9,"location":10,"meta":11,"name":12,"stem":13,"username":14,"website":15,"__hash__":16},"profile/profile.json","Software Developer specializes in building backend systems, mobile and web apps.","mbeahessilfieprince@gmail.com","json","https://github.com/Kratosgado","https://www.linkedin.com/in/kratosgado","Takoradi, Ghana",{},"Prince Mbeah Essilfie","profile","Kratosgado","https://www.kratosgado.dev","UlfOksqobdTBJmh_2t6XXjbz-3Ne2dqtksXj2BChAKo",{"id":18,"title":19,"education":20,"experience":26,"extension":7,"header":47,"isDefault":59,"meta":60,"profile":61,"projects":62,"skills":80,"slug":119,"stem":120,"targetRole":121,"__hash__":122},"resumes/resumes/senior-software-engineer-trading-liquidity.json","Senior Software Engineer",[21],{"institution":22,"degree":23,"period":24,"bullets":25},"Kwame Nkrumah University of Science and Technology","BSc Computer Science with MTN Bright Scholarship Reloaded. First Class Honours","November 2021 – November 2025",[],[27,38],{"company":28,"role":29,"period":30,"location":10,"bullets":31},"Amalitech","Backend Engineer – NSP","Nov 2025 – Present",[32,33,34,35,36,37],"Architected and implemented a JWT RSA-based authentication and authorization system with SSO integration, custom @Authorization annotations, and role-based access control across six user roles.","Owned an automated financial computation engine (PI-period bonus/performance scoring) gated by a multi-stage approval lifecycle (staffing computation, finance sign-off, finalized, closed) before data is released downstream, with versioned scoring configs and cascade-safe deletion to protect referential integrity.","Built the Kafka event-publishing integration that syncs finalized bonus data to Amalitech's payroll system, including a data-restructuring pass to match the payroll team's consumption spec, coordinating directly with the downstream system owner on schema and delivery contract.","Enforced data-integrity constraints via PostgreSQL triggers and resolved N+1 query performance issues in a GraphQL integration through batch fetching.","Built rate limiting (100 req/min/user) and maintained 70%+ test coverage (JaCoCo, Hurl E2E) as part of a production-grade engineering standard.","Worked in a team of 4 to build a logging system for aggregating and analyzing logs across services (Spring Boot + React), supporting production incident investigation.",{"company":39,"role":40,"period":41,"location":42,"url":43,"bullets":44},"Zomujo Foundation","Backend Engineer – Freelance","Oct 2023 – Feb 2026","Remote, Ghana","https://zomujo.com",[45,46],"2.5+ years progressively owning backend systems for a health-tech platform, from intern to freelance engineer: cloud file storage, verification flows, PDF generation, and real-time notifications (SSE, WebSocket/Socket.io) for time-sensitive appointment and consultation state changes.","Led an EMR migration from TSOA to NestJS/Prisma with zero data loss, restructuring serialized JSON columns (labs, radiology, diagnosis/prescription) while keeping the API surface backward compatible for existing clients.",{"name":48,"links":49},"Essilfie Prince Mbeah",[50,52,54,56],{"label":51,"url":9},"LinkedIn",{"label":53,"url":8},"GitHub",{"label":55,"url":15},"Portfolio",{"label":57,"url":58},"Credly Badges","https://www.credly.com/users/kratosgado",false,{},"Backend-focused engineer with production Spring Boot experience building audit-critical, referentially-strict systems, from RSA/JWT authorization to an automated financial computation engine gated by multi-stage approval and published downstream through Kafka to a payroll system. I'm also building a multi-tenant SaaS backend with live Paystack payment integration on the side. Comfortable owning correctness under concurrency, investigating production incidents, and reasoning about trade-offs between consistency and throughput in financially-sensitive systems.",[63,71,76],{"name":64,"year":65,"links":66,"bullets":67},"Adzesua: Multi-Tenant School Management Platform","2026",[],[68,69,70],"Building a multi-tenant Spring Boot/Kotlin backend handling tenant onboarding, fee structures, and installment billing, integrated with Paystack for live payment processing.","Implemented per-tenant branding, Google OAuth2 authentication, and structured request-lifecycle logging (per-operation timing and outcome) to keep multi-tenant behavior observable and debuggable.","Applying a production-grade testing standard to the codebase (JaCoCo coverage, PIT mutation testing) to catch correctness regressions in billing and enrollment logic before they reach a tenant.",{"toolRef":72,"bullets":73},"liquibase-runner",[74,75],"Built a VS Code/Neovim extension for managing Liquibase database migrations directly from the editor: sidebar changelog tree, live migration dashboard, and the full command set (update, rollback, diff, snapshot, generate).","Auto-detects Maven, Gradle, or standalone CLI Liquibase setups, reflecting hands-on familiarity with how schema changes are actually shipped safely in Java backends.",{"toolRef":77,"bullets":78},"rust-sqlite",[79],"Implemented a SQLite-compatible database engine from scratch in Rust (page-based storage, B-tree indexing, and query execution) to understand storage-engine internals from first principles.",[81,90,99,107],{"category":82,"items":83},"Core Expertise",[84,85,86,87,88,89],"Spring Boot","Java","Kotlin","PostgreSQL","NestJs","TypeScript",{"category":91,"items":92},"Financial & Systems Design",[93,94,95,96,97,98],"Kafka event publishing","Multi-stage approval / reconciliation workflows","Idempotent computation & audit logging","RBAC & JWT/OAuth2 authorization","Payment-provider integration (Paystack)","Multi-tenant architecture",{"category":100,"items":101},"Working Knowledge",[102,103,104,105,106],"Rust","Vue","NuxtJs","ReactJS","Angular",{"category":108,"items":109},"Tools",[110,111,112,113,114,115,116,117,118],"Git","GitHub Actions","Docker","PostgreSQL triggers","Google Cloud Platform","WebSocket","Socket.io","Hurl","JaCoCo","senior-software-engineer-trading-liquidity","resumes/senior-software-engineer-trading-liquidity","Senior Software Engineer – Trading & Liquidity (Quidax)","9X7O3WI4dg_6knOKzqSaguMH446xfg5OTm3-vKYaizc",[124,211,284,389,451,535,626,727,865,953,1017,1090,1199,1262,1339,1401,1500,1561,1632,1723,1789,1857],{"id":125,"title":126,"body":127,"coverImage":191,"description":192,"extension":193,"github":194,"images":195,"installs":197,"liveUrl":197,"meta":198,"navigation":199,"path":201,"rank":202,"resumeBullets":203,"seo":206,"slug":207,"stack":208,"stem":209,"toolType":197,"year":197,"__hash__":210},"projects/projects/autoscroll-chrome-extension.md","Autoscroll Chrome Extension",{"type":128,"value":129,"toc":184},"minimark",[130,135,139,143,166,170],[131,132,134],"h2",{"id":133},"overview","Overview",[136,137,138],"p",{},"Autoscroll Chrome Extension automatically scrolls the current page at a speed you control, useful for reading long articles or documents hands-free.",[131,140,142],{"id":141},"features","Features",[144,145,146,154,160],"ul",{},[147,148,149,153],"li",{},[150,151,152],"strong",{},"Automatic Scrolling",": Continuously scrolls the page without manual input.",[147,155,156,159],{},[150,157,158],{},"Adjustable Speed",": Control scroll speed from the extension toolbar.",[147,161,162,165],{},[150,163,164],{},"Toggle On/Off",": Quickly enable or disable scrolling per page.",[131,167,169],{"id":168},"technologies-used","Technologies Used",[144,171,172,178],{},[147,173,174,177],{},[150,175,176],{},"JavaScript",": Core extension logic.",[147,179,180,183],{},[150,181,182],{},"Chrome Extension",": Built on the Chrome Extensions API.",{"title":185,"searchDepth":186,"depth":186,"links":187},"",2,[188,189,190],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"https://placehold.co/1200x600","A Chrome extension for automatic, adjustable-speed page scrolling.","md","https://github.com/Kratosgado/autoscroll-chrome-extension",[196],"https://placehold.co/800x400",null,{},{"icon":200},"i-lucide-search","/projects/autoscroll-chrome-extension",8,[204,205],"Built a Chrome extension in JavaScript that automatically scrolls web pages at an adjustable speed, controlled via the browser toolbar.","Used the Chrome Extensions API to inject and manage scroll behavior across arbitrary pages without interfering with page scripts.",{"title":126,"description":192},"autoscroll-chrome-extension",[176,182],"projects/autoscroll-chrome-extension","8fyhcZCrI9Kxw5tXlGDJ0SKVjPK4rY0S09UfsNa-2CY",{"id":212,"title":213,"body":214,"coverImage":264,"description":265,"extension":193,"github":266,"images":267,"installs":197,"liveUrl":270,"meta":271,"navigation":272,"path":273,"rank":274,"resumeBullets":275,"seo":279,"slug":280,"stack":281,"stem":282,"toolType":197,"year":197,"__hash__":283},"projects/projects/bible-studies-wing.md","Bible Studies Wing",{"type":128,"value":215,"toc":259},[216,218,221,223,249,251],[131,217,134],{"id":133},[136,219,220],{},"Bible Studies Wing is a mobile application designed for bible study groups. It allows users to create accounts, read and share bible verses, and connect with other users.",[131,222,142],{"id":141},[144,224,225,231,237,243],{},[147,226,227,230],{},[150,228,229],{},"User Accounts",": Create and manage user profiles.",[147,232,233,236],{},[150,234,235],{},"Bible Reading",": Access and read bible verses.",[147,238,239,242],{},[150,240,241],{},"Social Sharing",": Share verses with friends.",[147,244,245,248],{},[150,246,247],{},"Community",": Connect with other users for discussions.",[131,250,169],{"id":168},[144,252,253],{},[147,254,255,258],{},[150,256,257],{},"Mobile App",": Developed as a mobile application.",{"title":185,"searchDepth":186,"depth":186,"links":260},[261,262,263],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"https://play-lh.googleusercontent.com/4T5vn86S5V9GVE23RyjGajwoJKGdTT0BZgsveUbIqjpnAF7QMcT8j6tou7bGIGmVkqe7hGzk-ygEKKQ8GYnklQ=w526-h296-rw","Bible study app that allows users to create accounts, read bible verses, share bible verses, and connect.","https://github.com/Kratosgado/bible_studies_wing",[264,268,269],"https://play-lh.googleusercontent.com/vM6R-RjOSX8EZ7TbL6dmvyLYYLD4b059zhCeet0CY3-KXd6-wfVseMqj15cJa3A4gm1M30yKX1aF7gJmgTC2UQ=w526-h296-rw","https://play-lh.googleusercontent.com/drAI7T2CQGctP2em-qTdUT1HtguYdvTcmU7KXPmWw7Mp7XyDDrxHnZYqVbrk0SSeLp_oMS2pqhqzzgRiteyDYQ=w526-h296-rw","https://play.google.com/store/apps/details?id=com.kratosgado.biblestudies",{},{"icon":200},"/projects/bible-studies-wing",10,[276,277,278],"Built and published a cross-platform mobile Bible study app on the Google Play Store, implementing user authentication, verse reading, social sharing, and community connection features.","Designed the user account and content persistence layer, supporting bookmarking, group discussions, and user-to-user connectivity.","Delivered end-to-end — from UI design to Play Store publication — as a solo developer.",{"title":213,"description":265},"bible-studies-wing",[257],"projects/bible-studies-wing","KLCsHQjlFrjj-Ioy1Sg3RwaoU4DBI9aV7NNEXrcPZjA",{"id":285,"title":286,"body":287,"coverImage":365,"description":366,"extension":193,"github":367,"images":368,"installs":197,"liveUrl":374,"meta":375,"navigation":376,"path":377,"rank":378,"resumeBullets":379,"seo":383,"slug":384,"stack":385,"stem":387,"toolType":197,"year":197,"__hash__":388},"projects/projects/cyale.md","Cyale Website",{"type":128,"value":288,"toc":360},[289,291,294,296,328,330],[131,290,134],{"id":133},[136,292,293],{},"The Cyale Website is the official platform for the Community Youth Advocates for Learning Excellence (CYALE), a youth-advocacy nonprofit based in Abuesi, Ghana. It serves as a hub for organization information, member sign-up, events, and impact reporting.",[131,295,142],{"id":141},[144,297,298,304,310,316,322],{},[147,299,300,303],{},[150,301,302],{},"Member Authentication",": Sign-up and login for CYALE members.",[147,305,306,309],{},[150,307,308],{},"Projects & Impact Showcase",": Highlights CYALE's initiatives and community impact.",[147,311,312,315],{},[150,313,314],{},"Event Announcements",": Lists upcoming events and activities.",[147,317,318,321],{},[150,319,320],{},"Donation Flow",": Lets supporters contribute directly through the site.",[147,323,324,327],{},[150,325,326],{},"Leadership Directory",": Profiles of CYALE's leadership team.",[131,329,169],{"id":168},[144,331,332,337,343,348,354],{},[147,333,334,336],{},[150,335,104],{},": The Intuitive Vue Framework.",[147,338,339,342],{},[150,340,341],{},"VueJs",": The Progressive JavaScript Framework.",[147,344,345,347],{},[150,346,89],{},": Typed JavaScript at Any Scale.",[147,349,350,353],{},[150,351,352],{},"Prisma",": Next-generation Node.js and TypeScript ORM.",[147,355,356,359],{},[150,357,358],{},"Postgres",": The World's Most Advanced Open Source Relational Database.",{"title":185,"searchDepth":186,"depth":186,"links":361},[362,363,364],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"/images/cyale-homepage.png","Website for a youth-advocacy nonprofit in Abuesi, Ghana, with member auth, an impact showcase, event announcements, donations, and a leadership directory.","https://github.com/kratosgado/cyale",[369,370,371,372,373],"https://image2url.com/r2/default/images/1772468737517-1cfe0c98-e514-42d7-9665-cd28d6f9ba1e.png","https://image2url.com/r2/default/images/1772468695083-037b2fdd-6f3f-4fc3-bd9a-b7226732355a.png","https://image2url.com/r2/default/images/1772468890467-e3983c57-9aef-4ce1-9515-d0c273fbfcfc.png","https://image2url.com/r2/default/images/1772468916159-5f9cb5cd-7574-486b-96b1-de728faa2e7a.png","https://image2url.com/r2/default/images/1772468830152-02bb0305-662e-44bd-98b7-152dd16ad4d3.png","https://cyale.org",{},{"icon":200},"/projects/cyale",1,[380,381,382],"Designed and delivered the full-stack website for CYALE (a youth-advocacy nonprofit in Abuesi, Ghana) using NuxtJs, Vue 3, TypeScript, and PostgreSQL, live at cyale.org.","Built member authentication, a projects/impact showcase, event announcements, a donation flow, and a leadership directory.","Implemented Prisma ORM for type-safe database access and deployed on Vercel with image CDN optimization for fast, responsive delivery across devices.",{"title":286,"description":366},"cyale",[104,341,89,352,358,386],"Vercel","projects/cyale","T3BpqR7OCJve579K72dVPMWNajIfWS92wjyiMfuleYs",{"id":390,"title":391,"body":392,"coverImage":191,"description":435,"extension":193,"github":197,"images":436,"installs":197,"liveUrl":197,"meta":437,"navigation":438,"path":439,"rank":440,"resumeBullets":441,"seo":444,"slug":445,"stack":446,"stem":448,"toolType":449,"year":197,"__hash__":450},"projects/projects/git-status-cli.md","Git Status CLI",{"type":128,"value":393,"toc":430},[394,396,399,401,421,423],[131,395,134],{"id":133},[136,397,398],{},"Git Status CLI is a Rust command-line tool that scans a directory tree for git repositories with uncommitted changes, and can optionally auto-commit and push clean-up commits across all of them in one pass.",[131,400,142],{"id":141},[144,402,403,409,415],{},[147,404,405,408],{},[150,406,407],{},"Multi-Repo Scanning",": Recursively finds and checks the status of every git repo under a directory.",[147,410,411,414],{},[150,412,413],{},"Consolidated Report",": Shows uncommitted changes across all repos at a glance.",[147,416,417,420],{},[150,418,419],{},"Auto Clean-Up Commits",": Optionally commits and pushes clean-up changes across multiple repos in one command.",[131,422,169],{"id":168},[144,424,425],{},[147,426,427,429],{},[150,428,102],{},": Systems programming language used for fast, reliable filesystem and git operations.",{"title":185,"searchDepth":186,"depth":186,"links":431},[432,433,434],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"A Rust CLI that scans repositories for uncommitted changes and can auto-commit and push clean-up commits across multiple repos.",[196],{},{"icon":200},"/projects/git-status-cli",6,[442,443],"Built a Rust CLI that recursively scans multiple repositories for uncommitted changes, surfacing a consolidated status report across an entire workspace.","Implemented an auto-commit-and-push mode for batch clean-up commits, reducing manual overhead when tidying many repos at once.",{"title":391,"description":435},"git-status-cli",[102,447],"CLI","projects/git-status-cli","cli","0mhAqIMbh4PAdx5dkiu1-oiAOS2joo0HqOa0tfr5bgo",{"id":452,"title":453,"body":454,"coverImage":191,"description":519,"extension":193,"github":197,"images":520,"installs":197,"liveUrl":521,"meta":522,"navigation":523,"path":524,"rank":525,"resumeBullets":526,"seo":530,"slug":531,"stack":532,"stem":533,"toolType":197,"year":197,"__hash__":534},"projects/projects/global-supreme-ministries.md","Global Supreme Ministries",{"type":128,"value":455,"toc":514},[456,458,461,463,488,490],[131,457,134],{"id":133},[136,459,460],{},"Global Supreme Ministries is the official website for a Christian non-profit, providing a public presence alongside authenticated member features and content management for the ministry's teaching materials.",[131,462,142],{"id":141},[144,464,465,470,476,482],{},[147,466,467,469],{},[150,468,302],{},": Sign-up and login for church members.",[147,471,472,475],{},[150,473,474],{},"Content Management",": Manage sermons, books, and devotionals from an admin interface.",[147,477,478,481],{},[150,479,480],{},"Events Gallery",": Showcase photos and details from ministry events.",[147,483,484,487],{},[150,485,486],{},"Public Membership Sign-Up",": Lets visitors join as members directly from the site.",[131,489,169],{"id":168},[144,491,492,496,500,504,510],{},[147,493,494,336],{},[150,495,104],{},[147,497,498,342],{},[150,499,341],{},[147,501,502,347],{},[150,503,89],{},[147,505,506,509],{},[150,507,508],{},"Drizzle",": A type-safe, lightweight TypeScript ORM.",[147,511,512,359],{},[150,513,358],{},{"title":185,"searchDepth":186,"depth":186,"links":515},[516,517,518],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"Full-stack website for a Christian non-profit, with member auth, content management for sermons, books, and devotionals, an events gallery, and public membership sign-up.",[196],"https://globalsupremeministries.org",{},{"icon":200},"/projects/global-supreme-ministries",4,[527,528,529],"Designed and delivered the full-stack website for Global Supreme Ministries, a Christian non-profit, using NuxtJs, Vue 3, TypeScript, and PostgreSQL, live at globalsupremeministries.org.","Built member authentication and public membership sign-up, plus content management for sermons, books, and devotionals.","Implemented an events gallery and used Drizzle ORM for type-safe database access.",{"title":453,"description":519},"global-supreme-ministries",[104,341,89,508,358],"projects/global-supreme-ministries","V0WSzsckBUP3CI08ct_bbldgWvWGoQc3U5uDV2SwZRU",{"id":536,"title":537,"body":538,"coverImage":191,"description":609,"extension":193,"github":610,"images":611,"installs":197,"liveUrl":197,"meta":612,"navigation":613,"path":614,"rank":615,"resumeBullets":616,"seo":619,"slug":620,"stack":621,"stem":623,"toolType":624,"year":197,"__hash__":625},"projects/projects/graphql-resolver-nvim.md","graphql-resolver.nvim",{"type":128,"value":539,"toc":604},[540,542,545,547,582,584],[131,541,134],{"id":133},[136,543,544],{},"graphql-resolver.nvim replicates IntelliJ's GraphQL-to-Spring Boot resolver navigation inside Neovim, letting you jump from a GraphQL schema field straight to the Java/Kotlin method that resolves it.",[131,546,142],{"id":141},[144,548,549,555,570,576],{},[147,550,551,554],{},[150,552,553],{},"Resolver Navigation",": Jump from a GraphQL field to its backing resolver method.",[147,556,557,560,561,565,566,569],{},[150,558,559],{},"Spring for GraphQL Support",": Understands ",[562,563,564],"code",{},"@SchemaMapping",", ",[562,567,568],{},"@QueryMapping",", and related annotations.",[147,571,572,575],{},[150,573,574],{},"Netflix DGS Support",": Understands DGS annotation conventions as well.",[147,577,578,581],{},[150,579,580],{},"Treesitter-Based",": Uses Treesitter queries to parse schemas and resolver code accurately.",[131,583,169],{"id":168},[144,585,586,592,598],{},[147,587,588,591],{},[150,589,590],{},"Lua",": Neovim's native scripting language.",[147,593,594,597],{},[150,595,596],{},"Treesitter",": Powers schema and annotation parsing.",[147,599,600,603],{},[150,601,602],{},"Neovim Plugin",": Built on Neovim's plugin APIs.",{"title":185,"searchDepth":186,"depth":186,"links":605},[606,607,608],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"A Neovim plugin replicating IntelliJ's GraphQL-to-Spring Boot resolver navigation, with Treesitter-based support for Spring for GraphQL and Netflix DGS annotations.","https://github.com/Kratosgado/graphql-resolver.nvim",[196],{},{"icon":200},"/projects/graphql-resolver-nvim",5,[617,618],"Built a Neovim plugin in Lua replicating IntelliJ's GraphQL-to-Spring Boot resolver navigation, letting developers jump directly from a GraphQL schema field to its resolver method.","Used Treesitter queries to parse GraphQL schemas and Java/Kotlin resolver annotations, supporting both Spring for GraphQL and Netflix DGS annotation styles.",{"title":537,"description":609},"graphql-resolver-nvim",[590,602,596,622,84],"GraphQL","projects/graphql-resolver-nvim","neovim-plugin","8eiu7XGrqKABAswE0eAMWVtrkv0XT0-F3bbcH50Ljwg",{"id":627,"title":628,"body":629,"coverImage":191,"description":711,"extension":193,"github":712,"images":713,"installs":197,"liveUrl":197,"meta":714,"navigation":715,"path":716,"rank":525,"resumeBullets":717,"seo":721,"slug":722,"stack":723,"stem":724,"toolType":725,"year":197,"__hash__":726},"projects/projects/hurl-plus.md","Hurl+",{"type":128,"value":630,"toc":706},[631,633,640,642,686,688],[131,632,134],{"id":133},[136,634,635,636,639],{},"Hurl+ is a VS Code extension that turns ",[562,637,638],{},".hurl"," files into a full HTTP testing environment, combining language tooling with an interactive notebook-style way to run requests.",[131,641,142],{"id":141},[144,643,644,653,659,665,671,680],{},[147,645,646,649,650,652],{},[150,647,648],{},"Syntax Highlighting",": Full language support for ",[562,651,638],{}," files.",[147,654,655,658],{},[150,656,657],{},"CodeLens Execution",": Run requests directly from an inline CodeLens above each block.",[147,660,661,664],{},[150,662,663],{},"IntelliSense & Hover Docs",": Autocomplete and inline documentation for Hurl syntax.",[147,666,667,670],{},[150,668,669],{},"Diagnostics",": Inline error reporting for malformed requests.",[147,672,673,676,677,679],{},[150,674,675],{},"Notebook View",": Run ",[562,678,638],{}," requests as individual, re-runnable cells.",[147,681,682,685],{},[150,683,684],{},"Environment Profiles",": Switch between environment configurations for the same request set.",[131,687,169],{"id":168},[144,689,690,695,701],{},[147,691,692,694],{},[150,693,89],{},": Extension logic and VS Code API integration.",[147,696,697,700],{},[150,698,699],{},"VS Code Extension",": Built on the VS Code Extension, Notebook, and Language Server APIs.",[147,702,703,705],{},[150,704,117],{},": The HTTP testing format the extension tools around.",{"title":185,"searchDepth":186,"depth":186,"links":707},[708,709,710],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"A complete HTTP testing toolkit for .hurl files in VS Code — syntax highlighting, CodeLens execution, IntelliSense, hover docs, diagnostics, and a notebook view.","https://github.com/Kratosgado/hurl-plus",[196],{},{"icon":200},"/projects/hurl-plus",[718,719,720],"Built Hurl+, a VS Code extension delivering a complete HTTP testing toolkit for .hurl files, including syntax highlighting, IntelliSense, hover documentation, and diagnostics.","Implemented CodeLens-driven request execution directly above each .hurl request block, letting developers run individual requests without leaving the editor.","Designed a notebook view that runs .hurl requests as individual cells, plus environment profile switching for testing against multiple configurations.",{"title":628,"description":711},"hurl-plus",[89,699,117],"projects/hurl-plus","vscode-extension","kvEdCD4o7zONd5rElJWDpZBoPLNi6G1vyaUdB9unHB0",{"id":728,"title":729,"body":730,"coverImage":837,"description":838,"extension":193,"github":839,"images":840,"installs":197,"liveUrl":846,"meta":847,"navigation":848,"path":849,"rank":186,"resumeBullets":850,"seo":854,"slug":735,"stack":857,"stem":863,"toolType":197,"year":197,"__hash__":864},"projects/projects/kratos-chat.md","Kratos Chat",{"type":128,"value":731,"toc":830},[732,736,758,761,763,768,800,804],[733,734,729],"h1",{"id":735},"kratos-chat",[737,738,739,756],"blockquote",{},[136,740,741,750,751],{},[742,743],"img",{"alt":744,"className":745,"height":747,"src":748,"title":84,"width":749},"Springboot Logo",[746],"w-50",50,"https://img.shields.io/badge/Spring%20Boot-3.4.1-green.svg",100," -",[742,752],{"alt":753,"className":754,"height":747,"src":755,"title":103,"width":747},"Frontned",[746],"https://img.shields.io/badge/Vue-3-green.svg",[733,757],{"id":185},[136,759,760],{},"This is a full-featured real-time chat application built with Spring Boot (Kotlin) and Vue 3 (TypeScript). It supports user authentication, private/group messaging, typing indicators, and WebRTC audio calls.",[131,762,142],{"id":141},[764,765,767],"h3",{"id":766},"backend","Backend",[144,769,770,776,782,788,794],{},[147,771,772,775],{},[150,773,774],{},"Authentication",": JWT-based login/registration.",[147,777,778,781],{},[150,779,780],{},"Real-time Messaging",": WebSocket (STOMP) for instant message delivery.",[147,783,784,787],{},[150,785,786],{},"WebRTC Signaling",": Handling call offers, answers, and ICE candidates.",[147,789,790,793],{},[150,791,792],{},"Persistence",": PostgreSQL database with JPA/Hibernate.",[147,795,796,799],{},[150,797,798],{},"Security",": Spring Security + JWT.",[764,801,803],{"id":802},"frontend","Frontend",[144,805,806,812,818,824],{},[147,807,808,811],{},[150,809,810],{},"Modern UI",": Built with Nuxt UI and Tailwind CSS.",[147,813,814,817],{},[150,815,816],{},"State Management",": Pinia for reactive data handling.",[147,819,820,823],{},[150,821,822],{},"Real-time Updates",": Live chat updates and typing status.",[147,825,826,829],{},[150,827,828],{},"Voice Calls",": WebRTC integration for peer-to-peer audio calls.",{"title":185,"searchDepth":186,"depth":186,"links":831},[832],{"id":141,"depth":186,"text":142,"children":833},[834,836],{"id":766,"depth":835,"text":767},3,{"id":802,"depth":835,"text":803},"https://image2url.com/r2/default/images/1774865798254-12aa3de8-c066-4997-bfe9-d658e97bd842.png","Full featured Chat app with voice and video calls feature","https://github.com/kratosgado/chatapp",[841,842,837,843,844,845],"https://image2url.com/r2/default/images/1774865732629-481c876e-b06a-4229-90ba-81773d46eae5.png","https://image2url.com/r2/default/images/1774865773848-b44133e1-5d0f-42eb-8942-4aa16ee1e24d.png","https://image2url.com/r2/default/images/1774865832196-e0c7d7bd-a04d-46a3-93ad-167f34246fdf.png","https://image2url.com/r2/default/images/1774865863500-446f5e3a-8568-4fa3-9729-1d72a7cc6a18.png","/images/kratoschat.png","https://gachat-67v.pages.dev/",{},true,"/projects/kratos-chat",[851,852,853],"Built a full-featured real-time chat application with a Spring Boot (Kotlin) backend and Vue 3 TypeScript frontend, supporting private and group messaging via WebSocket (STOMP protocol).","Implemented WebRTC signaling for peer-to-peer voice and video calls, with JWT-based authentication and Spring Security for access control.","Designed frontend state management with Pinia, featuring live typing indicators, real-time message delivery, and a modern Nuxt UI interface.",{"title":855,"description":856},"Kratos Chat file","F",[86,858,859,860,861,103,862],"Springboot","Liquibase","Websocket","WebRTC","NuxtUI","projects/kratos-chat","uBCJ2I3L3DgMQcPy07RL5y7tn7fZluFxRJg3irfDH3s",{"id":866,"title":867,"body":868,"coverImage":191,"description":935,"extension":193,"github":936,"images":937,"installs":197,"liveUrl":938,"meta":939,"navigation":940,"path":941,"rank":835,"resumeBullets":942,"seo":947,"slug":948,"stack":949,"stem":951,"toolType":197,"year":197,"__hash__":952},"projects/projects/linux-simulator.md","Linux Simulator",{"type":128,"value":869,"toc":930},[870,872,875,877,903,905],[131,871,134],{"id":133},[136,873,874],{},"Linux Simulator is a browser-based, offline-first simulation of a Linux desktop environment aimed at complete beginners. Rather than just emulating a terminal, it recreates a full desktop experience — a window manager, file manager, text editor, and terminal — all operating on one shared virtual filesystem, with a guided lesson system for learners who have never touched a terminal before.",[131,876,142],{"id":141},[144,878,879,885,891,897],{},[147,880,881,884],{},[150,882,883],{},"Full Desktop Environment",": Window manager, desktop surface, and taskbar, not just a terminal window.",[147,886,887,890],{},[150,888,889],{},"Shared Virtual Filesystem",": Terminal, file manager, and text editor all read and write the same VFS.",[147,892,893,896],{},[150,894,895],{},"Guided Lessons",": Structured lessons teach terminal fundamentals, or learners can explore freely.",[147,898,899,902],{},[150,900,901],{},"Offline-First & Persistent",": Ships as a static site with a service worker; the filesystem and session state persist locally via IndexedDB and localStorage, so closing and reopening the tab resumes exactly where you left off.",[131,904,169],{"id":168},[144,906,907,913,918,924],{},[147,908,909,912],{},[150,910,911],{},"Svelte 5",": Powers the apps mounted inside windows (Terminal, File Manager, Text Editor, Lessons, Settings), compiled away at build time with no runtime overhead.",[147,914,915,917],{},[150,916,89],{},": Used throughout, including a framework-free OS shell for window management and desktop chrome.",[147,919,920,923],{},[150,921,922],{},"Tailwind CSS",": Utility-driven styling for app and shell UI.",[147,925,926,929],{},[150,927,928],{},"IndexedDB",": Persists the virtual filesystem with debounced writes.",{"title":185,"searchDepth":186,"depth":186,"links":931},[932,933,934],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"A browser-based, offline-first Linux desktop simulator for beginners — window manager, file manager, text editor, terminal, and guided lessons over one shared virtual filesystem.","https://github.com/Kratosgado/linux-simulator",[196],"https://linux-sim.netlify.app",{},{"icon":200},"/projects/linux-simulator",[943,944,946],"Built a browser-based, offline-first Linux desktop simulator for beginners — a full desktop environment (window manager, file manager, text editor, terminal) rather than a plain terminal emulator, all sharing one virtual filesystem.",{"Designed a two-layer architecture":945},"a framework-free TypeScript OS shell (window manager, desktop, taskbar) hosting Svelte 5 apps mounted per-window, communicating through a shared context (VFS instance, current user, event bus, persistence layer).","Implemented a virtual filesystem persisted to IndexedDB with debounced writes, plus a guided lesson system for teaching terminal fundamentals, packaged as an installable, fully offline static site via a service worker.",{"title":867,"description":935},"linux-simulator",[950,89,922,928],"Svelte","projects/linux-simulator","bEdkNq96bK6G4ZuEAWdvM5ToCDfIQ5x57E1wUgwAPYk",{"id":954,"title":955,"body":956,"coverImage":191,"description":1003,"extension":193,"github":1004,"images":1005,"installs":197,"liveUrl":197,"meta":1006,"navigation":1007,"path":1008,"rank":615,"resumeBullets":1009,"seo":1012,"slug":1013,"stack":1014,"stem":1015,"toolType":624,"year":197,"__hash__":1016},"projects/projects/liquibase-nvim.md","liquibase.nvim",{"type":128,"value":957,"toc":998},[958,960,963,965,985,987],[131,959,134],{"id":133},[136,961,962],{},"liquibase.nvim brings Liquibase database migration management into Neovim, letting Java developers browse changelogs and run migration commands without switching to a terminal or IDE. It's a Neovim port of the Liquibase Runner VS Code extension.",[131,964,142],{"id":141},[144,966,967,973,979],{},[147,968,969,972],{},[150,970,971],{},"Changelog/Changeset Tree",": Browse Liquibase changelogs and changesets in a sidebar.",[147,974,975,978],{},[150,976,977],{},"Full Command Set",": Run update, rollback, diff, snapshot, and generate commands from the editor.",[147,980,981,984],{},[150,982,983],{},"Java Project Aware",": Detects Liquibase configuration within Java projects.",[131,986,169],{"id":168},[144,988,989,993],{},[147,990,991,591],{},[150,992,590],{},[147,994,995,997],{},[150,996,602],{},": Built on Neovim's plugin and UI APIs.",{"title":185,"searchDepth":186,"depth":186,"links":999},[1000,1001,1002],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"A Neovim plugin for managing Liquibase database migrations in Java projects without leaving the editor.","https://github.com/Kratosgado/liquibase.nvim",[196],{},{"icon":200},"/projects/liquibase-nvim",[1010,1011],"Built a Neovim plugin in Lua for managing Liquibase database migrations in Java projects, ported from the Liquibase Runner VS Code extension.","Implemented a sidebar changelog/changeset tree view alongside the full Liquibase command set (update, rollback, diff, snapshot, generate) runnable directly from the editor.",{"title":955,"description":1003},"liquibase-nvim",[590,602,859],"projects/liquibase-nvim","9rvLvB-awnCDrlnnMTKRCh9DXUtBxw_uREafpEq580I",{"id":1018,"title":1019,"body":1020,"coverImage":191,"description":1076,"extension":193,"github":1077,"images":1078,"installs":197,"liveUrl":197,"meta":1079,"navigation":1080,"path":1081,"rank":525,"resumeBullets":1082,"seo":1086,"slug":72,"stack":1087,"stem":1088,"toolType":725,"year":197,"__hash__":1089},"projects/projects/liquibase-runner.md","Liquibase Runner",{"type":128,"value":1021,"toc":1071},[1022,1024,1027,1029,1053,1055],[131,1023,134],{"id":133},[136,1025,1026],{},"Liquibase Runner is a VS Code extension for managing Liquibase database migrations without leaving the editor. It auto-detects how a project runs Liquibase (Maven, Gradle, or standalone CLI) and exposes changelogs and migration commands through a sidebar and dashboard.",[131,1028,142],{"id":141},[144,1030,1031,1037,1043,1047],{},[147,1032,1033,1036],{},[150,1034,1035],{},"Sidebar Tree View",": Browse changelogs and changesets from the VS Code sidebar.",[147,1038,1039,1042],{},[150,1040,1041],{},"Live Dashboard Panel",": See migration status at a glance.",[147,1044,1045,978],{},[150,1046,977],{},[147,1048,1049,1052],{},[150,1050,1051],{},"Auto-Detected Setups",": Recognizes Maven, Gradle, and standalone CLI Liquibase configurations automatically.",[131,1054,169],{"id":168},[144,1056,1057,1061,1066],{},[147,1058,1059,694],{},[150,1060,89],{},[147,1062,1063,1065],{},[150,1064,699],{},": Built on the VS Code Extension API.",[147,1067,1068,1070],{},[150,1069,859],{},": Database migration tool the extension wraps.",{"title":185,"searchDepth":186,"depth":186,"links":1072},[1073,1074,1075],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"A VS Code extension for managing Liquibase database migrations, with a sidebar tree view, live dashboard panel, and auto-detected Maven/Gradle/CLI setups.","https://github.com/Kratosgado/liquibase-runner",[196],{},{"icon":200},"/projects/liquibase-runner",[1083,1084,1085],"Developed a VS Code extension in TypeScript for managing Liquibase database migrations directly from the editor, later ported to Neovim as liquibase.nvim.","Built a sidebar changelog/changeset tree view and a live dashboard panel surfacing migration status, with the full Liquibase command set (update, rollback, diff, snapshot, generate).","Implemented auto-detection of Maven, Gradle, and standalone CLI Liquibase setups so the extension works across differently configured Java projects with no manual config.",{"title":1019,"description":1076},[89,699,859],"projects/liquibase-runner","hAoNCnUawbun5B8WbTIJj2xaFvrtnQ5sts57OHot9Pw",{"id":1091,"title":1092,"body":1093,"coverImage":1176,"description":1177,"extension":193,"github":1178,"images":1179,"installs":197,"liveUrl":197,"meta":1184,"navigation":848,"path":1185,"rank":274,"resumeBullets":1186,"seo":1190,"slug":1191,"stack":1192,"stem":1197,"toolType":197,"year":197,"__hash__":1198},"projects/projects/logstream.md","LogStream file",{"type":128,"value":1094,"toc":1172},[1095,1099,1102,1106,1136,1140],[733,1096,1098],{"id":1097},"logstream-log-aggregator","LogStream - Log Aggregator",[136,1100,1101],{},"LogStream is a log aggregation and analytics platform built with Spring Boot, PostgreSQL, React, and Python ETL. It ingests logs, supports search and retention, provides authentication, and generates analytics with an intuitive web dashboard.",[131,1103,1105],{"id":1104},"technology-stack","Technology Stack",[144,1107,1108,1113,1118,1124,1130],{},[147,1109,1110,1112],{},[150,1111,767],{},": Spring Boot (Java), RESTful API",[147,1114,1115,1117],{},[150,1116,803],{},": React + TypeScript + Vite + shadcn/ui components",[147,1119,1120,1123],{},[150,1121,1122],{},"Database",": PostgreSQL",[147,1125,1126,1129],{},[150,1127,1128],{},"Data Pipeline",": Python ETL for analytics and log processing",[147,1131,1132,1135],{},[150,1133,1134],{},"Containerization",": Docker & Docker Compose",[131,1137,1139],{"id":1138},"folder-structure","Folder Structure",[144,1141,1142,1148,1154,1160,1166],{},[147,1143,1144,1147],{},[562,1145,1146],{},"backend/"," - Spring Boot API and business logic",[147,1149,1150,1153],{},[562,1151,1152],{},"frontend/"," - React TypeScript application with Vite and shadcn/ui components",[147,1155,1156,1159],{},[562,1157,1158],{},"data-engineering/"," - Python ETL pipeline for analytics and retention",[147,1161,1162,1165],{},[562,1163,1164],{},"qa/"," - Quality assurance and API tests",[147,1167,1168,1171],{},[562,1169,1170],{},"devops/scripts/"," - Shell scripts for orchestration and automation",{"title":185,"searchDepth":186,"depth":186,"links":1173},[1174,1175],{"id":1104,"depth":186,"text":1105},{"id":1138,"depth":186,"text":1139},"https://image2url.com/r2/default/images/1775320568063-c9e6a2c9-4146-4aad-8b76-b4cf7dc2511c.png","LogStream is a log aggregation and analytics platform.","https://github.com/AmaliTech-Training-Academy/NSP_25_26_Team_14",[1180,1181,1182,1183,1176],"https://image2url.com/r2/default/images/1775320676318-4c81f86b-99ee-41e7-9ca2-6ca81dff6027.png","https://image2url.com/r2/default/images/1775320718085-0e22a7b5-d8a4-484e-8972-1761ec725549.png","https://image2url.com/r2/default/images/1775320749482-1048d11e-653d-45b5-9f40-30b0aa5818f3.png","https://image2url.com/r2/default/images/1775320796117-64b2f92e-faf4-4f0f-a31e-6efc12ec73cb.png",{},"/projects/logstream",[1187,1188,1189],"Collaborated in a team of 4 to build a production-grade log aggregation and analytics platform in 4 days using Spring Boot (Java) and React, supporting multi-service log ingestion, search, retention policies, and analytics dashboards.","Built a Python ETL pipeline for log processing and analytics generation, containerised the full stack with Docker Compose.","Implemented SSE-based real-time log streaming from backend to frontend dashboard.",{"title":1092,"description":1101},"logstream",[858,85,1193,1194,1195,358,1196],"Python","React","Vite","SSE","projects/logstream","9t5mf2u4xXZvGPVyiog0XKt4jSM1Y9VtA2362-7T9kc",{"id":1200,"title":1201,"body":1202,"coverImage":191,"description":1249,"extension":193,"github":197,"images":1250,"installs":197,"liveUrl":197,"meta":1251,"navigation":1252,"path":1253,"rank":615,"resumeBullets":1254,"seo":1257,"slug":1258,"stack":1259,"stem":1260,"toolType":624,"year":197,"__hash__":1261},"projects/projects/multiroot-nvim.md","MultiRoot.nvim",{"type":128,"value":1203,"toc":1244},[1204,1206,1209,1211,1231,1233],[131,1205,134],{"id":133},[136,1207,1208],{},"MultiRoot.nvim brings VS Code-style multi-root workspace support to Neovim, allowing multiple independent project directories to be managed together in a single editor session.",[131,1210,142],{"id":141},[144,1212,1213,1219,1225],{},[147,1214,1215,1218],{},[150,1216,1217],{},"Multi-Root Workspaces",": Attach and manage several project roots at once.",[147,1220,1221,1224],{},[150,1222,1223],{},"Scoped Tooling",": File explorer, LSP, and buffer behavior respect root boundaries.",[147,1226,1227,1230],{},[150,1228,1229],{},"VS Code Parity",": Mirrors the multi-root workflow familiar to VS Code users.",[131,1232,169],{"id":168},[144,1234,1235,1239],{},[147,1236,1237,591],{},[150,1238,590],{},[147,1240,1241,1243],{},[150,1242,602],{},": Built on Neovim's plugin and workspace APIs.",{"title":185,"searchDepth":186,"depth":186,"links":1245},[1246,1247,1248],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"A Neovim plugin that brings VS Code-style multi-root workspace support to Neovim.",[196],{},{"icon":200},"/projects/multiroot-nvim",[1255,1256],"Built a Neovim plugin in Lua that replicates VS Code's multi-root workspace model, letting a single Neovim session manage multiple independent project roots.","Implemented per-root file explorer, LSP, and buffer scoping so tooling behaves correctly across root boundaries instead of assuming a single project directory.",{"title":1201,"description":1249},"multiroot-nvim",[590,602],"projects/multiroot-nvim","RyjGrIYVKU5IzjqyPuZYHIpRKQKrxBB0BpVGgtw5_gM",{"id":1263,"title":1264,"body":1265,"coverImage":1320,"description":1321,"extension":193,"github":1322,"images":1323,"installs":1325,"liveUrl":1326,"meta":1327,"navigation":1328,"path":1329,"rank":186,"resumeBullets":1330,"seo":1333,"slug":1334,"stack":1335,"stem":1336,"toolType":725,"year":1337,"__hash__":1338},"projects/projects/nasm-compiler-for-linux.md","Nasm Compiler for Linux",{"type":128,"value":1266,"toc":1315},[1267,1269,1272,1274,1294,1296],[131,1268,134],{"id":133},[136,1270,1271],{},"Nasm Compiler for Linux is a Visual Studio Code extension that simplifies the process of writing, compiling, and running NASM assembly code on Linux. It automates the build and execution steps.",[131,1273,142],{"id":141},[144,1275,1276,1282,1288],{},[147,1277,1278,1281],{},[150,1279,1280],{},"Automated Compilation",": Compiles NASM code with a single command.",[147,1283,1284,1287],{},[150,1285,1286],{},"Execution",": Runs the compiled binary directly from VS Code.",[147,1289,1290,1293],{},[150,1291,1292],{},"Linux Support",": Specifically designed for Linux environments.",[131,1295,169],{"id":168},[144,1297,1298,1303,1309],{},[147,1299,1300,1302],{},[150,1301,699],{},": Built as an extension for Visual Studio Code.",[147,1304,1305,1308],{},[150,1306,1307],{},"NASM",": The Netwide Assembler for x86 architecture.",[147,1310,1311,1314],{},[150,1312,1313],{},"Assembly",": Low-level assembly language programming.",{"title":185,"searchDepth":186,"depth":186,"links":1316},[1317,1318,1319],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"https://lh3.googleusercontent.com/d/1Q0T-o9AQEvUnEgg5-1Vj_0Qm1ltGwhZI","Vs Code Extension that automates the compilation and execution of assembly codes written in NASM.","https://github.com/Kratosgado/nasm-compiler-linux",[1324,1320],"https://image2url.com/r2/default/images/1772468211054-abb465e3-17e6-4220-b412-63a35671e73b.png",14000,"https://marketplace.visualstudio.com/items?itemName=KratosGado.nasm-compiler-linux",{},{"icon":200},"/projects/nasm-compiler-for-linux",[1331,1332],"Engineered an automated compilation and linking pipeline in TypeScript to transform raw NASM assembly code into native Linux ELF binaries directly within the IDE interface.","Replaces the manual linking and running of assembly codes with a click of a button.",{"title":1264,"description":1321},"nasm-compiler-for-linux",[699,1307,1313],"projects/nasm-compiler-for-linux","2023","W1wZ2v6JTTBXRXJ3lpbDlXUXwBEtUSC3IsHoPiHxwgE",{"id":1340,"title":1341,"body":1342,"coverImage":1385,"description":1386,"extension":193,"github":1387,"images":1388,"installs":197,"liveUrl":185,"meta":1389,"navigation":1390,"path":1391,"rank":186,"resumeBullets":1392,"seo":1396,"slug":1397,"stack":1398,"stem":1399,"toolType":449,"year":197,"__hash__":1400},"projects/projects/pseudo-code-interpreter.md","Pseudo Code Interpreter",{"type":128,"value":1343,"toc":1380},[1344,1346,1349,1351,1371,1373],[131,1345,134],{"id":133},[136,1347,1348],{},"Pseudo Code Interpreter is a Rust-based tool that interprets and executes pseudo code files passed as command-line arguments. It allows developers to test their algorithms written in pseudo code.",[131,1350,142],{"id":141},[144,1352,1353,1359,1365],{},[147,1354,1355,1358],{},[150,1356,1357],{},"Command-Line Interface",": Run pseudo code files from the terminal.",[147,1360,1361,1364],{},[150,1362,1363],{},"Interpretation",": Executes pseudo code syntax.",[147,1366,1367,1370],{},[150,1368,1369],{},"Error Handling",": Provides feedback on invalid syntax.",[131,1372,169],{"id":168},[144,1374,1375],{},[147,1376,1377,1379],{},[150,1378,102],{},": A systems programming language that runs blazingly fast, prevents segfaults, and guarantees thread safety.",{"title":185,"searchDepth":186,"depth":186,"links":1381},[1382,1383,1384],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"https://lh3.googleusercontent.com/d/16349CIC6DYXDHTwt75gVh1bworLk95VZ","A pseudo code interpreter written in rust that interprets pseudocode file passed to it as cli argument.","https://github.com/Kratosgado/pseudo_interpreter",[],{},{"icon":200},"/projects/pseudo-code-interpreter",[1393,1394,1395],"Engineered a Rust CLI interpreter for pseudocode files, implementing a full lexer, parser, and AST evaluator supporting conditionals, loops, functions, and multi-dimensional arrays.","Published as a standalone binary and crate on crates.io, used as the runtime engine backing the Pseudo Runner VS Code extension (13k+ installs).","Designed the interpreter architecture to be embeddable, enabling tight integration with the companion TypeScript VS Code extension via native binary invocation.",{"title":1341,"description":1386},"pseudo-code-interpreter",[102],"projects/pseudo-code-interpreter","eK_gpshBSNLHK7vYGzBEsjgHnrkAgxHJ5HIxhI13joM",{"id":1402,"title":1403,"body":1404,"coverImage":1385,"description":1481,"extension":193,"github":1482,"images":1483,"installs":1485,"liveUrl":1486,"meta":1487,"navigation":1488,"path":1489,"rank":186,"resumeBullets":1490,"seo":1494,"slug":1495,"stack":1496,"stem":1497,"toolType":725,"year":1498,"__hash__":1499},"projects/projects/pseudo-runner.md","Pseudo Runner",{"type":128,"value":1405,"toc":1475},[1406,1408,1411,1413,1438,1442,1449,1453],[131,1407,134],{"id":133},[136,1409,1410],{},"Pseudo Runner is a VS Code extension that allows you to write and execute pseudo code directly within the editor. It provides syntax highlighting, code execution, and output display all in one place.",[131,1412,142],{"id":141},[144,1414,1415,1420,1426,1432],{},[147,1416,1417,1419],{},[150,1418,648],{},": Full pseudo code syntax support",[147,1421,1422,1425],{},[150,1423,1424],{},"In-Editor Execution",": Run your pseudo code without leaving VS Code",[147,1427,1428,1431],{},[150,1429,1430],{},"Output Panel",": See execution results in a dedicated output panel",[147,1433,1434,1437],{},[150,1435,1436],{},"Error Reporting",": Clear error messages with line numbers",[131,1439,1441],{"id":1440},"how-it-works","How It Works",[136,1443,1444,1445,1448],{},"The extension registers a custom language mode for ",[562,1446,1447],{},".pseudo"," files and provides a built-in interpreter that parses and executes the code. Results are displayed in the VS Code output panel.",[131,1450,1452],{"id":1451},"getting-started","Getting Started",[1454,1455,1456,1459,1465,1468],"ol",{},[147,1457,1458],{},"Install the extension from the VS Code Marketplace",[147,1460,1461,1462,1464],{},"Create a new file with the ",[562,1463,1447],{}," extension",[147,1466,1467],{},"Write your pseudo code",[147,1469,1470,1471,1474],{},"Press ",[562,1472,1473],{},"Ctrl+Shift+P"," and run \"Pseudo Runner: Execute\"",{"title":185,"searchDepth":186,"depth":186,"links":1476},[1477,1478,1479,1480],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":1440,"depth":186,"text":1441},{"id":1451,"depth":186,"text":1452},"A VS Code extension that runs pseudo code files directly in the editor.","https://github.com/Kratosgado/pseudo-runner",[1385,1484],"https://image2url.com/r2/default/images/1772468076141-94683d8e-029b-4887-843f-99970e779057.png",1800,"https://marketplace.visualstudio.com/items?itemName=KratosGado.pseudo-runner",{},{"icon":200},"/projects/pseudo-runner",[1491,1492,1493],"Engineered a custom runtime engine and interpreter in Rust to parse and execute pseudocode syntax, implementing lexers, parsers, and ASTs to handle features like multi-conditional flows, loops, functions, and multidimensional arrays.","Developed and published a companion VS Code extension (Pseudo Runner) utilizing TypeScript to bridge the developer environment with the Rust native runtime binary.","Streamlined the developer experience for early-stage engineering students by enabling seamless, localized execution of logical syntax directly from the IDE interface.",{"title":1403,"description":1481},"pseudo-runner",[89,699],"projects/pseudo-runner","2024","bNCXAM80fGbl6iKq0lS_ez0WXgDUqZ4nx8Os8lb5a_0",{"id":1501,"title":1502,"body":1503,"coverImage":191,"description":1546,"extension":193,"github":1547,"images":1548,"installs":197,"liveUrl":197,"meta":1549,"navigation":1550,"path":1551,"rank":615,"resumeBullets":1552,"seo":1555,"slug":77,"stack":1556,"stem":1558,"toolType":1559,"year":197,"__hash__":1560},"projects/projects/rust-sqlite.md","Rust SQLite",{"type":128,"value":1504,"toc":1541},[1505,1507,1510,1512,1532,1534],[131,1506,134],{"id":133},[136,1508,1509],{},"Rust SQLite is a from-scratch implementation of SQLite's storage engine in Rust, built to explore database internals such as page-based storage, B-tree indexing, and the on-disk file format.",[131,1511,142],{"id":141},[144,1513,1514,1520,1526],{},[147,1515,1516,1519],{},[150,1517,1518],{},"Storage Engine",": Page-based storage matching SQLite's on-disk file format.",[147,1521,1522,1525],{},[150,1523,1524],{},"B-Tree Indexing",": Implements SQLite's B-tree structures for tables and indexes.",[147,1527,1528,1531],{},[150,1529,1530],{},"Query Execution",": Parses and executes a subset of SQL against the custom storage engine.",[131,1533,169],{"id":168},[144,1535,1536],{},[147,1537,1538,1540],{},[150,1539,102],{},": Used for its memory safety and performance in systems-level database work.",{"title":185,"searchDepth":186,"depth":186,"links":1542},[1543,1544,1545],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"A SQLite implementation written in Rust, exploring database internals and storage engine design.","https://github.com/Kratosgado/rust-sqlite",[196],{},{"icon":200},"/projects/rust-sqlite",[1553,1554],"Implemented a SQLite-compatible database engine from scratch in Rust, covering page-based storage, B-tree indexing, and query execution.","Explored database internals including the file format, storage engine design, and on-disk data structures to deepen understanding of how relational databases work under the hood.",{"title":1502,"description":1546},[102,1557],"Databases","projects/rust-sqlite","library","gt8-BCm_VkCEHuO-V6CtpilJuGvkOMAi8M93lLoRoFU",{"id":1562,"title":1563,"body":1564,"coverImage":191,"description":1614,"extension":193,"github":1615,"images":1616,"installs":197,"liveUrl":185,"meta":1617,"navigation":1618,"path":1619,"rank":274,"resumeBullets":1620,"seo":1624,"slug":1625,"stack":1626,"stem":1630,"toolType":197,"year":197,"__hash__":1631},"projects/projects/smart-traffic-light-system.md","Smart Traffic Light System",{"type":128,"value":1565,"toc":1609},[1566,1568,1571,1573,1593,1595],[131,1567,134],{"id":133},[136,1569,1570],{},"Smart Traffic Light System is an IoT project that uses Arduino and an Android application to manage traffic lights. The system allows remote control and monitoring of traffic signals.",[131,1572,142],{"id":141},[144,1574,1575,1581,1587],{},[147,1576,1577,1580],{},[150,1578,1579],{},"Traffic Light Control",": Manage red, yellow, and green lights.",[147,1582,1583,1586],{},[150,1584,1585],{},"Remote Operation",": Control the system using an Android app.",[147,1588,1589,1592],{},[150,1590,1591],{},"Hardware Integration",": Interfaces with Arduino for hardware control.",[131,1594,169],{"id":168},[144,1596,1597,1603],{},[147,1598,1599,1602],{},[150,1600,1601],{},"Arduino (C++)",": For microcontroller programming.",[147,1604,1605,1608],{},[150,1606,1607],{},"Android (Java)",": For the mobile control application.",{"title":185,"searchDepth":186,"depth":186,"links":1610},[1611,1612,1613],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"IoT project created with Arduino(C++) and Android(Java).","https://github.com/Kratosgado/traffic_system",[196],{},{"icon":200},"/projects/smart-traffic-light-system",[1621,1622,1623],"Developed an IoT traffic management system using Arduino (C++) for hardware control, paired with an Android (Java) app for remote Bluetooth operation.","Designed and implemented the Bluetooth communication protocol between the Android controller and Arduino microcontroller for real-time traffic light state management.","Integrated sensor inputs and a finite-state machine in firmware to automate traffic light sequencing with manual override capability.",{"title":1563,"description":1614},"smart-traffic-light-system",[1627,85,1628,1629],"C++","Arduino","Android","projects/smart-traffic-light-system","NjyWiJLSnubcX1kqlGPxsNKQYLt5CsJX72j1XYzeK8U",{"id":1633,"title":1634,"body":1635,"coverImage":191,"description":1708,"extension":193,"github":1709,"images":1710,"installs":197,"liveUrl":197,"meta":1711,"navigation":1712,"path":1713,"rank":615,"resumeBullets":1714,"seo":1718,"slug":1719,"stack":1720,"stem":1721,"toolType":624,"year":197,"__hash__":1722},"projects/projects/springboot-jpql-nvim.md","springboot-jpql.nvim",{"type":128,"value":1636,"toc":1703},[1637,1639,1646,1648,1684,1686],[131,1638,134],{"id":133},[136,1640,1641,1642,1645],{},"springboot-jpql.nvim brings IntelliJ-style JPA language injection to Neovim, turning the string inside a Spring Data ",[562,1643,1644],{},"@Query"," annotation into a fully highlighted, LSP-backed JPQL or native SQL context.",[131,1647,142],{"id":141},[144,1649,1650,1659,1672,1678],{},[147,1651,1652,1655,1656,1658],{},[150,1653,1654],{},"JPQL/SQL Syntax Highlighting",": Highlights ",[562,1657,1644],{}," string contents as JPQL or native SQL.",[147,1660,1661,1664,1665,1668,1669,1671],{},[150,1662,1663],{},"Live LSP Diagnostics",": Runs a ",[562,1666,1667],{},"sqls"," LSP client against ",[562,1670,1644],{}," content via Treesitter injections and otter.nvim.",[147,1673,1674,1677],{},[150,1675,1676],{},"Entity/Field Completion",": Offers completion for JPA entity and field names inside query strings.",[147,1679,1680,1683],{},[150,1681,1682],{},"Kotlin & Java Support",": Works across Kotlin and Java Spring Data repositories.",[131,1685,169],{"id":168},[144,1687,1688,1692,1697],{},[147,1689,1690,591],{},[150,1691,590],{},[147,1693,1694,1696],{},[150,1695,596],{},": Injections used to scope JPQL/SQL contexts inside annotations.",[147,1698,1699,1702],{},[150,1700,1701],{},"otter.nvim",": Provides the language-injection LSP bridging.",{"title":185,"searchDepth":186,"depth":186,"links":1704},[1705,1706,1707],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"A Neovim plugin bringing IntelliJ-style JPA language injection to @Query annotations in Kotlin/Java Spring Data repositories.","https://github.com/Kratosgado/springboot-jpql.nvim",[196],{},{"icon":200},"/projects/springboot-jpql-nvim",[1715,1716,1717],"Built a Neovim plugin in Lua bringing IntelliJ-style JPA language injection to @Query annotations in Kotlin/Java Spring Data repositories.","Implemented JPQL and native SQL syntax highlighting via Treesitter injections combined with otter.nvim, plus a live LSP client (sqls) for in-annotation diagnostics.","Added entity and field completion inside @Query strings by resolving JPA entity metadata from the surrounding Kotlin/Java codebase.",{"title":1634,"description":1708},"springboot-jpql-nvim",[590,602,596,86,85],"projects/springboot-jpql-nvim","yiolP3G6OY0KRwlMOxGACxDRZ8vpan3k5THUkQqElU4",{"id":1724,"title":1725,"body":1726,"coverImage":191,"description":1775,"extension":193,"github":197,"images":1776,"installs":197,"liveUrl":197,"meta":1777,"navigation":1778,"path":1779,"rank":440,"resumeBullets":1780,"seo":1783,"slug":1784,"stack":1785,"stem":1786,"toolType":1787,"year":197,"__hash__":1788},"projects/projects/tabout-plugin.md","Tabout Plugin",{"type":128,"value":1727,"toc":1770},[1728,1730,1733,1735,1755,1757],[131,1729,134],{"id":133},[136,1731,1732],{},"Tabout Plugin brings VS Code's familiar \"tab-out\" editing behavior to JetBrains IDEs, letting you press Tab to jump past auto-inserted closing brackets and quotes instead of typing over them manually.",[131,1734,142],{"id":141},[144,1736,1737,1743,1749],{},[147,1738,1739,1742],{},[150,1740,1741],{},"Tab-Out Navigation",": Jump past closing brackets, parentheses, and quotes with Tab.",[147,1744,1745,1748],{},[150,1746,1747],{},"IntelliJ Platform Integration",": Works across JetBrains IDEs built on the IntelliJ Platform.",[147,1750,1751,1754],{},[150,1752,1753],{},"Non-Intrusive",": Falls back to normal Tab behavior outside of closing-character contexts.",[131,1756,169],{"id":168},[144,1758,1759,1764],{},[147,1760,1761,1763],{},[150,1762,86],{},": JetBrains' language for IDE plugin development.",[147,1765,1766,1769],{},[150,1767,1768],{},"IntelliJ Plugin",": Built on the IntelliJ Platform SDK.",{"title":185,"searchDepth":186,"depth":186,"links":1771},[1772,1773,1774],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"A JetBrains IDE plugin that replicates VS Code's tab-out behavior, letting you jump past closing brackets and quotes with Tab.",[196],{},{"icon":200},"/projects/tabout-plugin",[1781,1782],"Developed a JetBrains IDE plugin in Kotlin that replicates VS Code's \"tab-out\" behavior, allowing developers to jump past auto-closed brackets and quotes with the Tab key.","Hooked into the IntelliJ Platform's editor and typing-action APIs to detect closing-character contexts and redirect Tab input without disrupting normal indentation.",{"title":1725,"description":1775},"tabout-plugin",[86,1768],"projects/tabout-plugin","intellij-plugin","iQjtQRTWe_nr1kUH05_4NomMDcokMPFbhG6AfNxs-vU",{"id":1790,"title":1791,"body":1792,"coverImage":1841,"description":1842,"extension":193,"github":1843,"images":1844,"installs":197,"liveUrl":185,"meta":1845,"navigation":1846,"path":1847,"rank":274,"resumeBullets":1848,"seo":1852,"slug":1853,"stack":1854,"stem":1855,"toolType":197,"year":197,"__hash__":1856},"projects/projects/traffic-control-app.md","Traffic Control App",{"type":128,"value":1793,"toc":1836},[1794,1796,1799,1801,1821,1823],[131,1795,134],{"id":133},[136,1797,1798],{},"Traffic Control App is an Android application that enables communication with an Arduino-based traffic light system via Bluetooth. It allows users to control the traffic lights remotely from their smartphones.",[131,1800,142],{"id":141},[144,1802,1803,1809,1815],{},[147,1804,1805,1808],{},[150,1806,1807],{},"Bluetooth Connectivity",": Connects to the traffic light system.",[147,1810,1811,1814],{},[150,1812,1813],{},"Remote Control",": Change traffic light states from the app.",[147,1816,1817,1820],{},[150,1818,1819],{},"Status Monitoring",": View the current state of the traffic lights.",[131,1822,169],{"id":168},[144,1824,1825,1830],{},[147,1826,1827,1829],{},[150,1828,1607],{},": Native Android development.",[147,1831,1832,1835],{},[150,1833,1834],{},"Bluetooth",": Wireless communication technology.",{"title":185,"searchDepth":186,"depth":186,"links":1837},[1838,1839,1840],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"https://lh3.googleusercontent.com/wUTUmcPfuNOa_C6pVRmt-4QernUkCBcZjS86WlfryNc9ffC5NVjYLSUqbo7pA0WFr3Y","Android(Java) application that communicates with Arduino traffic light via bluetooth.","https://github.com/Kratosgado/TrafficControlApp",[196],{},{"icon":200},"/projects/traffic-control-app",[1849,1850,1851],"Built an Android (Java) companion app for a Bluetooth-connected Arduino traffic light system, enabling remote control and real-time status monitoring from a smartphone.","Implemented the Bluetooth communication layer using Android's BluetoothSocket API for reliable, low-latency hardware interfacing.","Designed a clean control interface allowing operators to toggle light states and receive live feedback from the physical hardware.",{"title":1791,"description":1842},"traffic-control-app",[85,1629,1834],"projects/traffic-control-app","wRBdVwafW2b791YWgzK4LM397DfYum2eJOhZVCgRO1g",{"id":1858,"title":1859,"body":1860,"coverImage":191,"description":1910,"extension":193,"github":1911,"images":1912,"installs":197,"liveUrl":1911,"meta":1913,"navigation":1914,"path":1915,"rank":274,"resumeBullets":1916,"seo":1919,"slug":1920,"stack":1921,"stem":1922,"toolType":197,"year":197,"__hash__":1923},"projects/projects/vscode-color-theme.md","VsCode Color Theme",{"type":128,"value":1861,"toc":1905},[1862,1864,1867,1869,1889,1891],[131,1863,134],{"id":133},[136,1865,1866],{},"VsCode Color Theme is a custom Visual Studio Code theme that merges the aesthetics of the GitHub Dark Default theme, the Andromeda theme, and VS Code's native Dark+ theme.",[131,1868,142],{"id":141},[144,1870,1871,1877,1883],{},[147,1872,1873,1876],{},[150,1874,1875],{},"Unique Aesthetics",": A blend of popular dark themes.",[147,1878,1879,1882],{},[150,1880,1881],{},"Enhanced Contrast",": Improved visibility for coding.",[147,1884,1885,1888],{},[150,1886,1887],{},"Full Theme Coverage",": Applies to editor and UI elements.",[131,1890,169],{"id":168},[144,1892,1893,1899],{},[147,1894,1895,1898],{},[150,1896,1897],{},"JSON",": Configuration format for themes.",[147,1900,1901,1904],{},[150,1902,1903],{},"VS Code Theme",": Visual Studio Code's theming engine.",{"title":185,"searchDepth":186,"depth":186,"links":1906},[1907,1908,1909],{"id":133,"depth":186,"text":134},{"id":141,"depth":186,"text":142},{"id":168,"depth":186,"text":169},"A color theme that combines Github dark default theme, Andromeda theme and vscode dark editor color scheme.","https://github.com/Kratosgado/kg-dark-theme",[196],{},{"icon":200},"/projects/vscode-color-theme",[1917,1918],"Designed and published a custom VS Code color theme blending GitHub Dark, Andromeda, and VS Code Dark+ aesthetics, with tuned contrast ratios for extended coding sessions.","Configured full token colour coverage across 20+ language grammars and VS Code UI surface areas including sidebar, terminal, and activity bar.",{"title":1859,"description":1910},"vscode-color-theme",[1897,1903],"projects/vscode-color-theme","R1IqSiq_o_NmiTCeEXnZ6xz2Ct1HVGPownuEHJTMHzw",1787776088313]