[{"data":1,"prerenderedAt":1310},["Reactive",2],{"search-api":3,"all-projects":277,"INxvjeGHAI":670,"XolrXHZ3k0":706,"z6KwBUDLHH":750,"5Pwm4V1u1q":766,"74yPcJjVXM":810,"VhVgRNQfxv":826,"4CARkXzDUI":837,"F5xDdRQUy8":858,"vYEus6WQxv":879,"G8jshBejHk":923,"npCOZlD98Y":944,"vNsewNRHXr":960,"0qgqZ7wLH9":981,"kNm7oiNJ6J":997,"bSi8u9jv2Y":1013,"9szEEQxrE8":1029,"5CXygkvokp":1040,"Uvcx3poi2U":1056,"wL4abf4ddi":1077,"Z2uVYOeHJQ":1093,"x7vqh09Ma2":1125,"AfVMIj2pMG":1141,"0VjOy7MVno":1167,"9xctRjex1N":1188,"abiKuRFOkQ":1232,"AEcbsmzroq":1242,"vBGvsBncrg":1263,"e1ViE3UEf0":1279},[4,11,30,36,41,46,51,56,61,68,73,80,87,93,99,105,111,117,123,129,135,141,147,153,159,165,171,177,183,189,195,201,207,213,219,225,231,237,243,249,255,263,271],{"id":5,"path":6,"dir":7,"title":8,"description":7,"keywords":9,"body":10},"content:0.index.md","/","","Full-Cycle Software Development",[],"  Full-Cycle Software Development",{"id":12,"path":13,"dir":7,"title":14,"description":15,"keywords":16,"body":29},"content:1.privacy-policy.md","/privacy-policy","Privacy Policy for Fikret Anıl Haksever","At Forge Zero, accessible from forgezero.com, one of our main priorities is the privacy of our visitors. This Privacy Policy document contains types of information that is collected and recorded by Forge Zero and how we use it.",[17,18,19,20,21,22,23,24,25,26,27,28],"Consent","Information we collect","How we use your information","Log Files","Cookies and Web Beacons","Advertising Partners Privacy Policies","Third Party Privacy Policies","CCPA Privacy Rights (Do Not Sell My Personal Information)","GDPR Data Protection Rights","Children's Information","Changes to This Privacy Policy","Contact Us","  Privacy Policy for Fikret Anıl Haksever  At Forge Zero, accessible from forgezero.com, one of our main priorities is the privacy of our visitors. This Privacy Policy document contains types of information that is collected and recorded by Forge Zero and how we use it.  If you have additional questions or require more information about our Privacy Policy, do not hesitate to contact us.  This Privacy Policy applies only to our online activities and is valid for visitors to our website with regards to the information that they shared and/or collected in Forge Zero. This policy is not applicable to any information collected offline or via channels other than this website.  Consent  By using our website, you hereby consent to our Privacy Policy and agree to its terms.  Information we collect  The personal information that you are asked to provide, and the reasons why you are asked to provide it, will be made clear to you at the point we ask you to provide your personal information.\nIf you contact us directly, we may receive additional information about you such as your name, email address, phone number, the contents of the message and/or attachments you may send us, and any other information you may choose to provide.\nWhen you register for an Account, we may ask for your contact information, including items such as name, company name, address, email address, and telephone number.  How we use your information  We use the information we collect in various ways, including to:   Provide, operate, and maintain our website  Improve, personalize, and expand our website  Understand and analyze how you use our website  Develop new products, services, features, and functionality  Communicate with you, either directly or through one of our partners, including for customer service, to provide you with updates and other information relating to the website, and for marketing and promotional purposes  Send you emails  Find and prevent fraud  Log Files  Forge Zero follows a standard procedure of using log files. These files log visitors when they visit websites. All hosting companies do this and a part of hosting services' analytics. The information collected by log files include internet protocol (IP) addresses, browser type, Internet Service Provider (ISP), date and time stamp, referring/exit pages, and possibly the number of clicks. These are not linked to any information that is personally identifiable. The purpose of the information is for analyzing trends, administering the site, tracking users' movement on the website, and gathering demographic information.  Cookies and Web Beacons  Like any other website, Forge Zero uses \"cookies\". These cookies are used to store information including visitors' preferences, and the pages on the website that the visitor accessed or visited. The information is used to optimize the users' experience by customizing our web page content based on visitors' browser type and/or other information.  Advertising Partners Privacy Policies  You may consult this list to find the Privacy Policy for each of the advertising partners of Forge Zero.  Third-party ad servers or ad networks uses technologies like cookies, JavaScript, or Web Beacons that are used in their respective advertisements and links that appear on Forge Zero, which are sent directly to users' browser. They automatically receive your IP address when this occurs. These technologies are used to measure the effectiveness of their advertising campaigns and/or to personalize the advertising content that you see on websites that you visit.  Note that Forge Zero has no access to or control over these cookies that are used by third-party advertisers.  Third Party Privacy Policies  Forge Zero's Privacy Policy does not apply to other advertisers or websites. Thus, we are advising you to consult the respective Privacy Policies of these third-party ad servers for more detailed information. It may include their practices and instructions about how to opt-out of certain options.  You can choose to disable cookies through your individual browser options. To know more detailed information about cookie management with specific web browsers, it can be found at the browsers' respective websites.  CCPA Privacy Rights (Do Not Sell My Personal Information)  Under the CCPA, among other rights, California consumers have the right to:\nRequest that a business that collects a consumer's personal data disclose the categories and specific pieces of personal data that a business has collected about consumers.\nRequest that a business delete any personal data about the consumer that a business has collected.\nRequest that a business that sells a consumer's personal data, not sell the consumer's personal data.\nIf you make a request, we have one month to respond to you. If you would like to exercise any of these rights, please contact us.  GDPR Data Protection Rights  We would like to make sure you are fully aware of all of your data protection rights. Every user is entitled to the following:  \nThe right to access – You have the right to request copies of your personal data. We may charge you a small fee for this service.  \nThe right to rectification – You have the right to request that we correct any information you believe is inaccurate. You also have the right to request that we complete the information you believe is incomplete.  \nThe right to erasure – You have the right to request that we erase your personal data, under certain conditions.  \nThe right to restrict processing – You have the right to request that we restrict the processing of your personal data, under certain conditions.  \nThe right to object to processing – You have the right to object to our processing of your personal data, under certain conditions.  \nThe right to data portability – You have the right to request that we transfer the data that we have collected to another organization, or directly to you, under certain conditions.  \nIf you make a request, we have one month to respond to you. If you would like to exercise any of these rights, please contact us.  Children's Information  Another part of our priority is adding protection for children while using the internet. We encourage parents and guardians to observe, participate in, and/or monitor and guide their online activity.  Forge Zero does not knowingly collect any Personal Identifiable Information from children under the age of 13. If you think that your child provided this kind of information on our website, we strongly encourage you to contact us immediately and we will do our best efforts to promptly remove such information from our records.  Changes to This Privacy Policy  We may update our Privacy Policy from time to time. Thus, we advise you to review this page periodically for any changes. We will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately, after they are posted on this page.  Contact Us  If you have any questions or suggestions about our Privacy Policy, do not hesitate to   contact us .",{"id":31,"path":32,"dir":33,"title":34,"description":7,"body":35},"content:1.services:0.about.md","/services/about","services","About","   F. Anıl Haksever  Independent software developer. Istanbul.   10+ years  shipping production software across   7 countries . Two BSc degrees. Thesis on LLM-driven anomaly detection.  How I Work  The developer who writes the proposal is the one writing the code.  One person, full cycle. Architecture, implementation, deployment, maintenance. I take a limited number of projects so each one gets my full attention. You always know exactly who's responsible.  When the project calls for it, I plug into your existing team just as well. Same ownership, same standards, your stack and your workflow.  Background    2014  — Started building. PHP, bots, web apps.   2017  — First open-source framework, still maintained today.   2018  — First international client. System still running 7+ years later.   2012–2026  — Dual Degrees: Physics (YTÜ) + Management Information Systems (Anadolu).   2022  — Founded Forge Zero as a formal practice.   Today  — Clients in the US, UK, Canada, Ukraine, Italy, Chile, and Turkey.  Fluent in Turkish and English (C2).  More About Me  My interest in software started with a Turbo C book in 2005 and an apprenticeship at a local computer shop through middle school.  Community projects turned into frameworks, frameworks turned into professional client work. By university, I was building full-stack applications on demand.  At YTÜ I specialized in Numerical Analysis, Electronics, Solid State Physics, and Electromagnetism. I wanted to grow my programming skills alongside my physics knowledge. My coursework involved writing simulations and solvers, I focused on where the physics and programming intersected. By the time I graduated, computational problem-solving was second nature. When I realized I wanted the business side too, I picked up a second degree in Management Information Systems at Anadolu. That filled in the gaps: requirements analysis, database design, process optimization, project economics.  I have paused my university education during COVID, served my mandatory military service as a specialist private in the Turkish Air Force, communication and information systems unit. I returned to software development in 2022 with a renewed focus on custom business systems and AI applications, founding Forge Zero to formalize my practice.  As part of my thesis at YTÜ, I dove into machine learning, exploring LLM-driven anomaly detection using CERN data by combining traditional ML algorithms with large language model orchestration. That opened the last door in a toolbelt that now spans from web pages to predictive ML pipelines.  Off the Clock  Personal projects, open-source tools, electronics tinkering, Arduino builds, home automation — building things is the hobby, not just the job. My first bot was a Discord moderation tool I wrote for a community I was part of. It turned into a framework. The framework turned into client work. That pattern hasn't stopped.  When I'm not writing software, I'm probably soldering a circuit board, building an electronic drum kit, reading physics papers, or flying virtual aircraft on VATSIM.  The Name   Forge  — I build things from raw material.\n  Zero  — Every project starts from first principles. Your problem, your constraints, your goals.",{"id":37,"path":38,"dir":33,"title":39,"description":7,"body":40},"content:1.services:1.business-practices.md","/services/business-practices","Business Practices","  The Process    I analyze your requirements and map out the architecture before writing any code.  You get a detailed proposal with scope, timeline, and cost. No ambiguity.  Iterative development with regular check-ins. You're as involved as you want to be.  Working demos at every stage so you can test and give feedback early.  Functional software delivered incrementally via milestones — you start using it before the full project is done.  Payment is per milestone, after delivery. I don't ask for deposits.  Payment & Billing  I accept payments via bank transfer, credit card, and cryptocurrency. Escrow services are available for clients who prefer that added layer of protection.  Every transaction comes with a detailed cost breakdown. Transparent and traceable.    All transactions are billed through the official government invoice system with electronically signed invoices in both Turkish and English.",{"id":42,"path":43,"dir":33,"title":44,"description":7,"body":45},"content:1.services:2.services:0.software-design-and-development.md","/services/services/software-design-and-development","Custom Software Development","  What I Build  I work across the full stack — from database schema to deployment pipeline. Most projects are web-based systems where reliability and maintainability matter more than flashy demos.    Web Applications  — SPAs, dashboards, admin panels. Vue.js, Quasar, React + Laravel, Node.js, NestJS, Django.   SaaS Platforms  — Multi-tenant architecture, billing hooks, role-based access, tenant isolation.   Internal Tools  — Inventory trackers, quotation engines, approval workflows. Built around how your team works.   REST APIs  — Clean, documented, versioned. Authentication, rate limiting, monitoring included.   Progressive Web Apps  — App-like experience, no app store. Offline-capable, installable, single codebase.  If a project doesn't fit neatly into one category, that's usually the interesting kind.  The Full Cycle  You get one person from start to finish. The same developer who designs the architecture writes the code, deploys it, and maintains it.    Scope  — I design the system before writing code. Data models, API contracts, infrastructure decided upfront.   Build  — Iterative development with working demos at every milestone. You test real software, not mockups.   Ship  — Docker, CI/CD, cloud. I deploy what I build and set up monitoring.   Maintain  — Security patches, performance tuning, feature additions. The person who built it keeps it running.  No project managers, no handoffs between teams. One developer accountable for the entire lifecycle — from the first architecture decision to the 2 AM incident response.",{"id":47,"path":48,"dir":33,"title":49,"description":7,"body":50},"content:1.services:2.services:1.management-information-systems.md","/services/services/management-information-systems","Business Systems & Automation","  The Problem  Off-the-shelf tools force you into someone else's workflow. Teams outgrow spreadsheets but don't need SAP. The sweet spot is a custom system built for exactly what you need — no unused features, no per-seat licensing, no vendor lock-in.  What I Build  Every system is shaped around your existing process — not the other way around. I build what you actually need, with nothing extra bolted on.    Workflow Management  — Task routing, approval chains, status tracking, notifications. Designed around your actual process.   Inventory & Assets  — Stock tracking, purchase orders, supplier management. Real-time dashboards showing what matters.   Quotation & Invoicing  — Dynamic pricing engines, configurable catalogs, automated PDF output, multi-currency billing.   File Management  — Upload, organize, version, distribute. Granular access control, search, download tracking.   Reporting  — Custom dashboards with the metrics your team actually uses. Role-based visibility, exportable reports.  How It Works   I analyze your existing processes — what works, what's painful, what can be automated.  If an off-the-shelf tool fits, I'll tell you.  When custom is the right call, you see working software at every milestone.  Training and documentation included from day one.",{"id":52,"path":53,"dir":33,"title":54,"description":7,"body":55},"content:1.services:2.services:2.ai-and-machine-learning.md","/services/services/ai-and-machine-learning","AI & Machine Learning","  Applied, Not Theoretical  I build AI systems that ship inside real products. My physics thesis involved building an agentic LLM framework that autonomously detected particle physics anomalies — including LLM fine-tuning and reimplementing weakly-supervised detection pipelines from scratch.  That same rigor goes into production work.  What I Build    LLM Integration & Agents  — Structured systems around LLMs. Tool orchestration, prompt architecture, context management, output validation, graceful degradation. Reliable automation, not demos.   Predictive Analytics  — Full pipeline: data ingestion, feature selection, model training, backtesting, API serving. Automated retraining with performance monitoring.   Anomaly Detection  — Statistical + ML hybrid approaches. Financial data, user behavior, system metrics — anything with structured data and a definition of \"normal.\"   Data Pipelines  — Automated collection, transformation, and model feeding on schedule. Monitoring, alerting, self-healing.  My Approach  The question isn't \"how do we add AI?\" — it's \"what problem are we solving, and is AI the right tool?\"  When it is, I build it into your existing product. When it isn't, I'll tell you.  What I Work With   LLMs  — OpenAI, Anthropic, open-source; RAG, function calling, agent frameworks\n  Classical ML  — XGBoost, scikit-learn, statistical modeling\n  Infrastructure  — Python, Node.js, scheduled pipelines, model versioning, API serving",{"id":57,"path":58,"dir":33,"title":59,"description":7,"body":60},"content:1.services:2.services:3.third-party-integrations.md","/services/services/third-party-integrations","Integrations & APIs","  What I Integrate  Payment processors, social platforms, mapping APIs, real-time data feeds, and more. OAuth flows, webhooks, REST APIs — I handle the plumbing so your product works as one connected system.   Capabilities  I've integrated dozens of third-party services across payment, social, mapping, and real-time data domains. Each integration is built with proper error handling, retry logic, and monitoring — not just a happy-path demo.    OAuth & SSO  — Google, GitHub, Discord, or any OAuth provider. Token lifecycle, session management, account linking.   Payments  — Stripe, PayPal, local gateways. Subscriptions, one-time, invoicing, webhook handling.   Real-Time Data  — WebSockets, polling, event-driven architectures for live data streams.   Webhooks  — Reliable event processing with retry logic, idempotency, payload validation.   Custom Bots  — Discord, Telegram, or any API. Moderation, automation, notifications. I've authored multiple bot frameworks.   API Development  — If your product needs to expose an API: clean, documented, versioned, rate-limited, secure.",{"id":62,"path":63,"dir":33,"title":64,"description":65,"keywords":66,"body":67},"content:1.services:3.tech-stack.md","/services/tech-stack","Tech Stack","Every technology listed here is something I've shipped in a real project. The numbers show how many portfolio projects use each one.",[],"  Every technology listed here is something I've shipped in a real project. The numbers show how many portfolio projects use each one. ",{"id":69,"path":70,"dir":7,"title":71,"description":7,"keywords":72,"body":7},"content:2.projects:0.index.md","/projects","Projects",[],{"id":74,"path":75,"dir":76,"title":77,"description":78,"keywords":79,"body":7},"content:2.projects:1.catalog:2014-howling-manager.md","/projects/catalog/2014-howling-manager","catalog","Band Set List Collaboration Platform","Howling Manager is a web application which allows cover bands to manage and plan their set lists.\n\nSystem allows multiple band members to collaborate on the set list, 3 different list schemes allow the band members to:  \n    - Vote on the songs they want to play.  \n    - Inform their band mates their preparedness to play the song.  \n    - Critique the performance of the song in the last gig.  \n",[],{"id":81,"path":82,"dir":76,"title":83,"description":84,"keywords":85,"body":86},"content:2.projects:1.catalog:2015-cloudflare-simple-ip-updater.md","/projects/catalog/2015-cloudflare-simple-ip-updater","Dynamic DNS Updater for CloudFlare","A simple Python script to update your CloudFlare DNS records with your current IP address. It uses the CloudFlare API to update the DNS records.\nUseful for home servers with dynamic IP addresses.",[],"  A simple Python script to update your CloudFlare DNS records with your current IP address. It uses the CloudFlare API to update the DNS records.  \nUseful for home servers with dynamic IP addresses.",{"id":88,"path":89,"dir":76,"title":90,"description":91,"keywords":92,"body":7},"content:2.projects:1.catalog:2015-edxo.md","/projects/catalog/2015-edxo","Space Sim Companion Desktop App","EDXO is a desktop application companion for Elite Dangerous. It provides a set of shortcuts to in game interactions. \n\n\nIt has capability of interrupting joystick inputs and run custom macros to automate power management. It also provides a set of tools to help with combat and in team communication via discord api.\n",[],{"id":94,"path":95,"dir":76,"title":96,"description":97,"keywords":98,"body":7},"content:2.projects:1.catalog:2015-main-receivers.md","/projects/catalog/2015-main-receivers","Gaming Community Hub & Data Mining Tool","A website and data mining tool built for the Main Receivers, an Elite Dangerous wing. Custom made WordPress template matches the game's theme.   \n\n\nData mining tool uses distributed data collection to gather information about the game's universe. The tool uses the community API as well as the game's journal files and keeps its own database monitoring changes with time. \n\n\nThe website was used as a hub for the wing's members to share information and plan their in-game activities.\n",[],{"id":100,"path":101,"dir":76,"title":102,"description":103,"keywords":104,"body":7},"content:2.projects:1.catalog:2016-turkish-virtual-discord-bot.md","/projects/catalog/2016-turkish-virtual-discord-bot","Aviation Operations Chat Bot","A chatbot built for the Turkish Virtual aviation community to perform various operations with text commands within Discord.  \n\nThe NOTAM function pulls real-world aviation information messages (NOTAM) from the American Federal Aviation Administration by parsing HTML.  \n\nThe METAR function pulls weather data from the VATSIM virtual aviation platform API and converts the METAR format to human-readable format.  \n\nThe Chart/Scenery functions scan aviation maps in the repository and present the maps for the desired airports on discord.  \n\nOn the web interface, the bot has the following features:\n  -  Authorization to the discord platform with a Turkish Virtual account (Discord SSO)\n  -  It can create a screensaver slide show from the images left in the screenshots tab.\n",[],{"id":106,"path":107,"dir":76,"title":108,"description":109,"keywords":110,"body":7},"content:2.projects:1.catalog:2017-darwin-bot-framework.md","/projects/catalog/2017-darwin-bot-framework","Extensible Chat Bot Framework","Darwin is a proprietary bot framework designed for Discord. It is designed for strict command processing and to be easily extendable with new commands.\n\nIt was originally designed over Discord REST API directly, but later it was extended to use the discord.py library.  \n\nCurrently, framework uses pycord library. It also offers a web interface for SSO, content management, and user management.  \n\nFramework is still in use by multiple communities and is actively maintained.  \n",[],{"id":112,"path":113,"dir":76,"title":114,"description":115,"keywords":116,"body":7},"content:2.projects:1.catalog:2017-marvin-bot-framework.md","/projects/catalog/2017-marvin-bot-framework","Natural Language Chat Bot Framework","Marvin was a bot framework primarily designed for Discord. It was designed for basic natural language processing and to be easily extendable with new commands.   \n\nIt came with some default functionality such as rate limiting, command permissions and garbage cleanup.  \n\nFramework was retired in 2019.  \n",[],{"id":118,"path":119,"dir":76,"title":120,"description":121,"keywords":122,"body":7},"content:2.projects:1.catalog:2018-immense.md","/projects/catalog/2018-immense","Small Business Inventory Management System","IMMENSE is an inventory management system designed for the specific needs of a small market chain. It handles inventory, sales, and purchases.\n\nCurrently in use by a small business in Ukraine. \n",[],{"id":124,"path":125,"dir":76,"title":126,"description":127,"keywords":128,"body":7},"content:2.projects:1.catalog:2018-turkish-virtual-scenery-downloader.md","/projects/catalog/2018-turkish-virtual-scenery-downloader","Multi-Platform Scenery Manager","A desktop app built for the Turkish Virtual community that downloads and installs airport scenery across 4 flight simulation platforms (FS9, FSX, P3D, XPlane).\n\nIt scans an external CSV source, downloads airport definition files, data, and 3D models, then integrates them into the correct game files — handling the different installation steps for each simulator. Downloaded content can be temporarily deactivated as needed.\n\nThe precursor script was published as open source on [GitHub](https://github.com/shotwn/Fast-Scenery-Script-for-P3D).  \n",[],{"id":130,"path":131,"dir":76,"title":132,"description":133,"keywords":134,"body":7},"content:2.projects:1.catalog:2019-fs-time-sync.md","/projects/catalog/2019-fs-time-sync","Simulator Clock Synchronizer","FS Time Sync is a desktop application that synchronizes the time in the flight simulator with the real world time.  \n\nIt uses the NTP protocol and FSUIPC to set the time in the simulator. FSX, P3D, and X-Plane are supported.\n",[],{"id":136,"path":137,"dir":76,"title":138,"description":139,"keywords":140,"body":7},"content:2.projects:1.catalog:2019-laravel-lidio-api.md","/projects/catalog/2019-laravel-lidio-api","Payment Gateway Integration Package","Open source Laravel package for Lidio's Pay with Link API. Drop it into a Laravel project and you get a clean interface for creating payment links, handling callbacks, and managing transactions.\n",[],{"id":142,"path":143,"dir":76,"title":144,"description":145,"keywords":146,"body":7},"content:2.projects:1.catalog:2019-vatskies.md","/projects/catalog/2019-vatskies","Real-Time Flight Tracker & Analytics","VatSkies uses the VATSIM and Turkish Virtual APIs to track flights and controllers in real-time.  \n\nFlights are saved in a database and can be viewed on a map. The system also provides a way to view the flight details and the flight path.  \n\nSystem can use fuel consumption data to create ML models to predict fuel consumption for a given flight.  \n",[],{"id":148,"path":149,"dir":76,"title":150,"description":151,"keywords":152,"body":7},"content:2.projects:1.catalog:2019-virtual-nato-analytics-parser.md","/projects/catalog/2019-virtual-nato-analytics-parser","Pilot Activity Report Generator","A report generator built for the Virtual NATO virtual aviation group.  \n\nIt compares the list of pilots in the virtual aviation group with the real-time flight data from the VATSIM virtual aviation platform API (similar to FlightRadar 24). Reports the flights made by the virtual pilots in the group on a monthly and yearly basis.\n",[],{"id":154,"path":155,"dir":76,"title":156,"description":157,"keywords":158,"body":7},"content:2.projects:1.catalog:2020-fs-link.md","/projects/catalog/2020-fs-link","Browser-to-Simulator Flight Plan Bridge","FS-Link is a flight planner software and browser bridge for different flight simulators.\n",[],{"id":160,"path":161,"dir":76,"title":162,"description":163,"keywords":164,"body":7},"content:2.projects:1.catalog:2020-rowdo.md","/projects/catalog/2020-rowdo","SQL-Driven Batch File Downloader","Rowdo is a small service to download files from URLs listed in SQL databases to the file system.  \n\nThe service can also resize image files by parameters given in the SQL row using the Python Imaging Library (PIL).\n",[],{"id":166,"path":167,"dir":76,"title":168,"description":169,"keywords":170,"body":7},"content:2.projects:1.catalog:2020-that-radio-thing.md","/projects/catalog/2020-that-radio-thing","Synchronized Music Streaming App","That Radio Thing lets everyone listen to the same song at the same time — synchronized within about 1 second across all connected users.\n\nIt hooks into the Spotify API for playback and sync. Users can follow an automatic playlist or tune into what another user is playing. \n",[],{"id":172,"path":173,"dir":76,"title":174,"description":175,"keywords":176,"body":7},"content:2.projects:1.catalog:2020-tv-lua-patcher.md","/projects/catalog/2020-tv-lua-patcher","Flight Simulator Script Patcher","A patching tool for the Turkish Virtual community that modifies vendor-specific FSUIPC Lua scripts across MSFS, FSX, P3D, and X-Plane.\n\nThese Lua scripts extend communication between flight simulators and external tracking software — the patcher applies the community's custom modifications automatically.\n",[],{"id":178,"path":179,"dir":76,"title":180,"description":181,"keywords":182,"body":7},"content:2.projects:1.catalog:2021-picnav.md","/projects/catalog/2021-picnav","Photo Geolocation Viewer","PicNav is a PWA that visualizes the location of the shutter moment in the EXIF data of JPG files on a map.  \n\nOSM API is used for images but a proprietary cache is used to store the images on our servers and serve them to the users.  \n\nThe processing of the photos is done entirely in the user's browser and no data is transferred to our servers.\n",[],{"id":184,"path":185,"dir":76,"title":186,"description":187,"keywords":188,"body":7},"content:2.projects:1.catalog:2021-turkish-virtual-documentations.md","/projects/catalog/2021-turkish-virtual-documentations","Aviation Community Documentation Hub","A static site that provides documentation for the Turkish Virtual Flight Simulator Community.  \n\nThe site is built with MkDocs and uses a fork of Windmill theme inline with the brand guidelines. Theme is modified to include a pinning feature, dark mode, custom font sizes and a few other user customizable features. Modifications are applied to the theme as a submodule and does not require any changes to the theme itself.  \n\nThe site is built and deployed automatically after each push to markdown files using GitLab CI. \n",[],{"id":190,"path":191,"dir":76,"title":192,"description":193,"keywords":194,"body":7},"content:2.projects:1.catalog:2021-vnato-site-modules.md","/projects/catalog/2021-vnato-site-modules","Community Platform Modular Upgrades","Modular upgrades, fixes and new features for the Virtual NATO (vNATO) community website.  \n\nIncludes a fully new database interface, API and modern Quasar admin/user interface with WYSIWYG documentation editor, leave of absence system, fleet management, event management, and a few other features.\n",[],{"id":196,"path":197,"dir":76,"title":198,"description":199,"keywords":200,"body":7},"content:2.projects:1.catalog:2022-blue-sky-proposal-book.md","/projects/catalog/2022-blue-sky-proposal-book","Workflow & Quotation Automation Suite","A tailor-made workflow management and automation suite built for Blue Sky Tie-Down Systems.  \n\nThe system is designed to manage the entire process of creating and managing quotes for the company. \n\n- Product, customer, contact and address management with quote and project workflows.\n\n- End-user programmable kit, package and product generator with a visual interface.\n\n- Automated PDF generation, email sending, and multiple data ingestion methods.\n\n- Delivery and installation management system.\n\nThrough a multi-year engagement, the system helped increase the client's design output, reduced staff burnout via structured workflow management, and maintained revenue stability.\n",[],{"id":202,"path":203,"dir":76,"title":204,"description":205,"keywords":206,"body":7},"content:2.projects:1.catalog:2022-rest-generator.md","/projects/catalog/2022-rest-generator","Pinia REST API Generator","A Pinia plugin to create RESTful API endpoints. It can create a full CRUDL API binding with a single line of code.  \n\nIt has complex query, filtering and sorting support. It also has a built-in normalization and cross storage event handling system.  \n\nIt is production ready and used in multiple projects.\n",[],{"id":208,"path":209,"dir":76,"title":210,"description":211,"keywords":212,"body":7},"content:2.projects:1.catalog:2022-smart-pricing.md","/projects/catalog/2022-smart-pricing","Dynamic Pricing & Quotation Engine","A smart, question based pricing and quotation system built for the sales team of Creliable.  \n\nThe system offers a fully customizable form system with a user-friendly interface. It has built-in support for complex pricing and discounting rules such as volume discounts, additional services, package deals, enhancements and more.    \n\nSystem can create customizable and printable PDFs.\n",[],{"id":214,"path":215,"dir":76,"title":216,"description":217,"keywords":218,"body":7},"content:2.projects:1.catalog:2023-csv-data-viewer.md","/projects/catalog/2023-csv-data-viewer","Interactive Report Explorer","Built for an SEO agency that was emailing CSV reports to clients. We gave their clients a web interface to sort, filter, and search through the data instead.\n\nPapaParse handles CSV parsing in the browser for large files, rendering into responsive Quasar data tables. A PHP backend pulls fresh data from the agency's third-party reporting systems with currency formatting for financial columns.\n",[],{"id":220,"path":221,"dir":76,"title":222,"description":223,"keywords":224,"body":7},"content:2.projects:1.catalog:2024-flight-deck.md","/projects/catalog/2024-flight-deck","Virtual Airline Operations Platform","A pilot operations platform for AerojetVA, built as a deep customization of phpVMS with a custom template and several bespoke modules.\n\nThe standout work was a set of custom integrations that tie the platform into the wider flight sim ecosystem:\n\n- Custom SSO module integrating Discord, VATSIM, and IVAO authentication — each with its own API and auth flow.\n\n- SmartCARS3 integration for automatic flight tracking and PIREP submission.\n\n- SimBrief dispatch integration for realistic flight planning.\n\n- Live map with real-time pilot positions and flight information.\n\nPilots can book flights, manage roster assignments, earn awards, and handle jumpseat transfers between aircraft. The whole stack deploys through a GitLab CI/CD pipeline with Docker.\n",[],{"id":226,"path":227,"dir":76,"title":228,"description":229,"keywords":230,"body":7},"content:2.projects:1.catalog:2025-phinbd.md","/projects/catalog/2025-phinbd","Custom Customer Onboarding System","Before this system, the client's onboarding team was tracking prospects by emailing Excel sheets back and forth. We replaced that with a proper pipeline management tool.\n\nProspects flow through customizable pipelines with drag-and-drop stages in Kanban or list view. Each pipeline has its own dynamic custom fields with stage-level visibility control.\n\nThe key feature is the automation engine — trigger-condition-action rules that the client can configure without code changes, extensible through a registry pattern for new triggers and actions.\n\n- Role-based access control for user and pipeline-level authorization.\n\n- Activity logging and audit trail for all prospect changes.\n\n- Reporting dashboard with disengagement monitoring.\n\nDeployed across multiple environments with Docker and GitLab CI/CD.\n",[],{"id":232,"path":233,"dir":76,"title":234,"description":235,"keywords":236,"body":7},"content:2.projects:1.catalog:2025-shop-front.md","/projects/catalog/2025-shop-front","Aviation Community Welcome Portal","The public-facing welcome site for AerojetVA, built from scratch with Nuxt 3 and PrimeVue. Serves as the community's front door.\n\nFeatures dark mode, multi-language support, and SEO with automated sitemap generation. Content is managed through Nuxt Content with Markdown, and the site can be statically generated for fast deploys.\n",[],{"id":238,"path":239,"dir":76,"title":240,"description":241,"keywords":242,"body":7},"content:2.projects:1.catalog:2025-the-silicon-scout.md","/projects/catalog/2025-the-silicon-scout","The Silicon Scout","Bachelor's thesis exploring whether LLMs can autonomously detect anomalies when orchestrated as AI agents.\n\nCombines traditional anomaly detection algorithms with LLM-based reasoning — the LLM acts as an orchestrator that decides which detection methods to apply and interprets the results. Published as open source.\n",[],{"id":244,"path":245,"dir":76,"title":246,"description":247,"keywords":248,"body":7},"content:2.projects:1.catalog:2026-hangar.md","/projects/catalog/2026-hangar","Digital Asset Distribution Portal","A downloads and content repository built from scratch for AerojetVA. Manages liveries, software, studio items, and other community downloads.\n\nThe backend runs on Laravel with a Filament admin dashboard. The frontend is a Vue 3 + Quasar SPA with Tailwind CSS:\n\n- REST API with dynamic CRUD generation via our custom-built REST Generator library.\n\n- Download statistics tracking and analytics.\n\n- Multi-language support with Vue i18n.\n",[],{"id":250,"path":251,"dir":76,"title":252,"description":253,"keywords":254,"body":7},"content:2.projects:1.catalog:2026-scorebuddy.md","/projects/catalog/2026-scorebuddy","Sports Predictive Analytics Engine","A football match prediction platform that ingests historical data, trains ML models, and produces predictions across major European leagues.\n\nCovers multiple markets — match result, over/under, BTTS, and correct score. Automated pipelines handle data ingestion and model training on a schedule.\n\n- Backtesting framework for validating prediction accuracy against historical results.\n\n- Mobile API serving predictions and analytics.\n\n- Developer dashboard for model performance monitoring and comparison.\n\nBilingual in Turkish and English.\n",[],{"id":256,"path":257,"dir":7,"title":258,"description":7,"keywords":259,"body":262},"content:2.refund-policy.md","/refund-policy","Refund Policy",[260,261],"Cancellation of Custom Development Projects","Cancellation of Downloadable (Purchased As-Is) Products","  Refund Policy  Cancellation of Custom Development Projects   Prepaid plans are not available at this time.   \"Prepaid\" refund policy applies to single gig projects only.  Prepaid Plans | Single Gig Projects  If for any reason you are not entirely satisfied with our service then you can cancel the contract within the first 15 days from the Commencement (initiation of project) date, and we will refund the   unused amount  of your fees in full for Prepaid plans, and refund any Milestone (for fixed price projects) that was paid for but not delivered yet.  For example, if you have paid for a prepaid hourly plan of 100 hours per month, and you wish to cancel after 7 days after the start of contract where 20 hours were utilized on your project, we will refund the 80 hours that were not used.  Discounts applied to prepaid plans due their total work hours will be removed, so the refund will be based on the standard hourly rate.  You will receive the project files and any other deliverables that were created for your project up to the point of cancellation.  Hourly Rate Projects  If you did not prepay for a plan, and instead decided to pay for the hours used, then we will require you to pay for the hours used at the standard hourly rate.  Discounts applied to hourly rate will be removed, and you will be charged the standard hourly rate for the hours used.  You will receive the project files and any other deliverables that were created for your project up to the point of cancellation.  Cancellation of Downloadable (Purchased As-Is) Products  We offer a 30-day money-back guarantee on all downloadable products. If you are not satisfied with your purchase, then you can request a refund within 30 days of purchase.  To file a Refund Request, you will need to email us at:\n  contact@forgezero.com  Note: All refunds are processed within 30 business days.",{"id":264,"path":265,"dir":7,"title":266,"description":7,"keywords":267,"body":270},"content:3.pricing.md","/pricing","Pricing",[268,269],"Payment Terms","Invoices","  Payment Terms  Milestone-based payments. No deposits.  You get a full scope of work upfront, broken into milestones with clear deliverables.    Scope stays locked unless you request changes.  Any scope change comes with a new, clearly defined agreement.   You pay when a milestone is delivered  — each milestone includes a working build for your testing.  I don't start the next milestone until the previous one is paid.   First-Time Projects   First milestone is capped at $100 — so you can evaluate the work before committing further.  Once both sides are happy, the cap is lifted.   No deposits.  You pay for delivered work, not promises.  For more on how I work, see   my workflow .  Invoices  You receive an invoice after each milestone delivery, via email or download from the site.   Every invoice is issued in two languages — English and Turkish.   The Turkish copy carries a government-issued electronic signature (official copy).  The English copy is stamped. Both share the same invoice number.",{"id":272,"path":273,"dir":7,"title":274,"description":7,"keywords":275,"body":276},"content:4.contact:0.index.md","/contact","Contact",[],"   \nForge Zero is the software development practice of Fikret Anıl Haksever — a sole proprietorship registered in Istanbul, Turkey.\n",[278,291,310,340,355,366,379,389,397,411,423,438,449,464,476,487,498,516,529,545,559,570,584,592,602,611,626,640,655],{"_path":70,"_dir":7,"_draft":279,"_partial":279,"_locale":7,"title":71,"description":7,"bottom":279,"layout":280,"body":281,"_type":287,"_id":69,"_source":288,"_file":289,"_extension":290},false,"projects-page",{"type":282,"children":283,"toc":284},"root",[],{"title":7,"searchDepth":285,"depth":285,"links":286},2,[],"markdown","content","2.projects/0.index.md","md",{"_path":75,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":77,"description":78,"layout":292,"year":293,"technologies":294,"carousel":300,"carouselAlign":302,"link":303,"toc":304,"body":305,"_type":287,"_id":74,"_source":288,"_file":309,"_extension":290},"project-page",2014,[295,296,297,298,299],"JavaScript","PHP","HTML","CSS","SQL",[301],"/images/docs/projects/2014-howling-manager.jpg","right","https://howlingmanager.com",true,{"type":282,"children":306,"toc":307},[],{"title":7,"searchDepth":285,"depth":285,"links":308},[],"2.projects/1.catalog/2014-howling-manager.md",{"_path":82,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":83,"description":84,"layout":292,"year":311,"technologies":312,"carousel":315,"github":317,"carouselWidth":318,"licenses":319,"body":321,"_type":287,"_id":81,"_source":288,"_file":339,"_extension":290},2015,[313,314],"Python","CloudFlare API",[316],"/images/docs/projects/2015-cloudflare-simple-ip-updater.jpg","https://github.com/shotwn/CloudFlare-Simple-IP-Updater",3,[320],"GPL-3.0",{"type":282,"children":322,"toc":337},[323],{"type":324,"tag":325,"props":326,"children":327},"element","p",{},[328,331,335],{"type":329,"value":330},"text","A simple Python script to update your CloudFlare DNS records with your current IP address. It uses the CloudFlare API to update the DNS records.",{"type":324,"tag":332,"props":333,"children":334},"br",{},[],{"type":329,"value":336},"\nUseful for home servers with dynamic IP addresses.",{"title":7,"searchDepth":285,"depth":285,"links":338},[],"2.projects/1.catalog/2015-cloudflare-simple-ip-updater.md",{"_path":89,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":90,"description":91,"layout":292,"year":311,"technologies":341,"carousel":347,"carouselAlign":302,"carouselRatio":349,"body":350,"_type":287,"_id":88,"_source":288,"_file":354,"_extension":290},[295,313,342,343,344,345,346],"SCSS","TSX","React.js","Electron.js","Discord API",[348],"/images/docs/projects/2015-edxo.jpg",1.4,{"type":282,"children":351,"toc":352},[],{"title":7,"searchDepth":285,"depth":285,"links":353},[],"2.projects/1.catalog/2015-edxo.md",{"_path":95,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":96,"description":97,"layout":292,"year":311,"technologies":356,"carousel":358,"carouselRatio":360,"body":361,"_type":287,"_id":94,"_source":288,"_file":365,"_extension":290},[295,296,297,298,299,357],"WordPress",[359],"/images/docs/projects/2015-main-receivers.jpg",1.25,{"type":282,"children":362,"toc":363},[],{"title":7,"searchDepth":285,"depth":285,"links":364},[],"2.projects/1.catalog/2015-main-receivers.md",{"_path":101,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":102,"description":103,"layout":292,"year":367,"technologies":368,"carousel":372,"body":374,"_type":287,"_id":100,"_source":288,"_file":378,"_extension":290},2016,[313,369,370,346,371],"SQLAlchemy","BeautifulSoup","VATSIM API",[373],"/images/docs/projects/2016-turkish-virtual-discord-bot.png",{"type":282,"children":375,"toc":376},[],{"title":7,"searchDepth":285,"depth":285,"links":377},[],"2.projects/1.catalog/2016-turkish-virtual-discord-bot.md",{"_path":107,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":108,"description":109,"layout":292,"year":380,"technologies":381,"sortWeight":383,"body":384,"_type":287,"_id":106,"_source":288,"_file":388,"_extension":290},2017,[313,346,382],"Docker",10,{"type":282,"children":385,"toc":386},[],{"title":7,"searchDepth":285,"depth":285,"links":387},[],"2.projects/1.catalog/2017-darwin-bot-framework.md",{"_path":113,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":114,"description":115,"layout":292,"year":380,"technologies":390,"sortWeight":383,"body":392,"_type":287,"_id":112,"_source":288,"_file":396,"_extension":290},[391,346],"Node.js",{"type":282,"children":393,"toc":394},[],{"title":7,"searchDepth":285,"depth":285,"links":395},[],"2.projects/1.catalog/2017-marvin-bot-framework.md",{"_path":119,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":120,"description":121,"layout":292,"year":398,"technologies":399,"carousel":401,"carouselWidth":403,"carouselAlign":404,"link":405,"body":406,"_type":287,"_id":118,"_source":288,"_file":410,"_extension":290},2018,[296,299,400],"Vue",[402],"/images/docs/projects/2018-immense.png",5,"left","https://app.spicybooks.net",{"type":282,"children":407,"toc":408},[],{"title":7,"searchDepth":285,"depth":285,"links":409},[],"2.projects/1.catalog/2018-immense.md",{"_path":125,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":126,"description":127,"layout":292,"year":398,"technologies":412,"carousel":415,"carouselWidth":403,"carouselAlign":302,"carouselRatio":417,"body":418,"_type":287,"_id":124,"_source":288,"_file":422,"_extension":290},[313,369,413,414],"PySide2","QT",[416],"/images/docs/projects/2018-turkish-virtual-scenery-downloader.png",1.35,{"type":282,"children":419,"toc":420},[],{"title":7,"searchDepth":285,"depth":285,"links":421},[],"2.projects/1.catalog/2018-turkish-virtual-scenery-downloader.md",{"_path":131,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":132,"description":133,"layout":292,"year":424,"technologies":425,"carousel":428,"carouselWidth":403,"carouselAlign":404,"carouselRatio":430,"github":431,"licenses":432,"body":433,"_type":287,"_id":130,"_source":288,"_file":437,"_extension":290},2019,[313,413,414,426,427],"NTP","FSUIPC",[429],"/images/docs/projects/2019-fs-time-sync.png",2.6,"https://github.com/shotwn/FS-Time-Sync",[320],{"type":282,"children":434,"toc":435},[],{"title":7,"searchDepth":285,"depth":285,"links":436},[],"2.projects/1.catalog/2019-fs-time-sync.md",{"_path":137,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":138,"description":139,"layout":292,"year":439,"technologies":440,"github":442,"license":443,"body":444,"_type":287,"_id":136,"_source":288,"_file":448,"_extension":290},2023,[296,441],"Laravel","https://github.com/shotwn/laravel-lidio-api","MIT",{"type":282,"children":445,"toc":446},[],{"title":7,"searchDepth":285,"depth":285,"links":447},[],"2.projects/1.catalog/2019-laravel-lidio-api.md",{"_path":143,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":144,"description":145,"layout":292,"year":424,"technologies":450,"carousel":456,"carouselWidth":403,"carouselAlign":302,"carouselRatio":349,"featured":304,"link":458,"body":459,"_type":287,"_id":142,"_source":288,"_file":463,"_extension":290},[451,295,452,453,400,454,455],"Node","TypeScript","Express.js","MongoDB","GIS",[457],"/images/docs/projects/2019-vatskies.png","https://vatskies.com",{"type":282,"children":460,"toc":461},[],{"title":7,"searchDepth":285,"depth":285,"links":462},[],"2.projects/1.catalog/2019-vatskies.md",{"_path":149,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":150,"description":151,"layout":292,"year":424,"technologies":465,"carousel":467,"carouselWidth":469,"carouselRatio":470,"body":471,"_type":287,"_id":148,"_source":288,"_file":475,"_extension":290},[313,296,299,466,370,371],"Bootstrap",[468],"/images/docs/projects/2019-virtual-nato-analytics-parser.png",6,1.5,{"type":282,"children":472,"toc":473},[],{"title":7,"searchDepth":285,"depth":285,"links":474},[],"2.projects/1.catalog/2019-virtual-nato-analytics-parser.md",{"_path":155,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":156,"description":157,"layout":292,"year":477,"technologies":478,"github":481,"license":320,"body":482,"_type":287,"_id":154,"_source":288,"_file":486,"_extension":290},2020,[313,479,480,414],"aiohttp","PySide","https://github.com/shotwn/FS-Link",{"type":282,"children":483,"toc":484},[],{"title":7,"searchDepth":285,"depth":285,"links":485},[],"2.projects/1.catalog/2020-fs-link.md",{"_path":161,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":162,"description":163,"layout":292,"year":477,"technologies":488,"carousel":489,"carouselWidth":318,"carouselAlign":302,"sortWeight":491,"github":492,"license":320,"body":493,"_type":287,"_id":160,"_source":288,"_file":497,"_extension":290},[313,369],[490],"/images/docs/projects/2020-rowdo.png",9,"https://github.com/shotwn/Rowdo",{"type":282,"children":494,"toc":495},[],{"title":7,"searchDepth":285,"depth":285,"links":496},[],"2.projects/1.catalog/2020-rowdo.md",{"_path":167,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":168,"description":169,"layout":292,"year":477,"technologies":499,"carousel":504,"carouselWidth":403,"carouselAlign":404,"carouselRatio":507,"carouselImagePosition":508,"sortWeight":509,"link":510,"body":511,"_type":287,"_id":166,"_source":288,"_file":515,"_extension":290},[313,500,501,502,400,503],"Javascript","Socket.io","AioHTTP","Spotify API",[505,506],"/images/docs/projects/2020-that-radio-thing.png","/images/docs/projects/2020-that-radio-thing-2.png",2.3,"50% 50%",11,"https://thatradiothing.duudey.com",{"type":282,"children":512,"toc":513},[],{"title":7,"searchDepth":285,"depth":285,"links":514},[],"2.projects/1.catalog/2020-that-radio-thing.md",{"_path":173,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":174,"description":175,"layout":292,"year":477,"technologies":517,"carousel":520,"carouselWidth":318,"carouselAlign":404,"carouselRatio":522,"sortWeight":523,"body":524,"_type":287,"_id":172,"_source":288,"_file":528,"_extension":290},[313,518,519],"Lua","PySimpleGUI",[521],"/images/docs/projects/2020-tv-lua-patcher.png",0.65,8,{"type":282,"children":525,"toc":526},[],{"title":7,"searchDepth":285,"depth":285,"links":527},[],"2.projects/1.catalog/2020-tv-lua-patcher.md",{"_path":179,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":180,"description":181,"layout":292,"year":530,"technologies":531,"carousel":535,"carouselRatio":470,"sortWeight":538,"featured":304,"link":539,"body":540,"_type":287,"_id":178,"_source":288,"_file":544,"_extension":290},2021,[296,295,452,532,455,533,534],"EXIF","PWA","GitLab CI",[536,537],"/images/docs/projects/2021-picnav.png","/images/docs/projects/2021-picnav-2.png",20,"https://picnav.com",{"type":282,"children":541,"toc":542},[],{"title":7,"searchDepth":285,"depth":285,"links":543},[],"2.projects/1.catalog/2021-picnav.md",{"_path":185,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":186,"description":187,"layout":292,"year":530,"technologies":546,"carousel":548,"carouselWidth":403,"carouselRatio":470,"sortWeight":383,"link":553,"body":554,"_type":287,"_id":184,"_source":288,"_file":558,"_extension":290},[313,295,342,547,534],"MkDocs",[549,550,551,552],"/images/docs/projects/2021-turkish-virtual-documentations.png","/images/docs/projects/2021-turkish-virtual-documentations-4.png","/images/docs/projects/2021-turkish-virtual-documentations-2.png","/images/docs/projects/2021-turkish-virtual-documentations-3.png","https://docs.turkishvirtual.com",{"type":282,"children":555,"toc":556},[],{"title":7,"searchDepth":285,"depth":285,"links":557},[],"2.projects/1.catalog/2021-turkish-virtual-documentations.md",{"_path":191,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":192,"description":193,"layout":292,"year":530,"technologies":560,"carousel":562,"carouselWidth":469,"carouselRatio":470,"sortWeight":564,"carouselAlign":302,"body":565,"_type":287,"_id":190,"_source":288,"_file":569,"_extension":290},[296,295,400,561],"Quasar",[563],"/images/docs/projects/2021-vnato-site-modules.gif",13,{"type":282,"children":566,"toc":567},[],{"title":7,"searchDepth":285,"depth":285,"links":568},[],"2.projects/1.catalog/2021-vnato-site-modules.md",{"_path":197,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":198,"description":199,"layout":292,"year":571,"technologies":572,"carousel":575,"carouselWidth":403,"carouselRatio":578,"carouselAlign":302,"featured":304,"body":579,"_type":287,"_id":196,"_source":288,"_file":583,"_extension":290},2022,[296,295,452,441,400,561,573,574],"Pinia","Axios",[576,577],"/images/docs/projects/2022-blue-sky-proposal-book.png","/images/docs/projects/2022-blue-sky-proposal-book-2.png",1.2,{"type":282,"children":580,"toc":581},[],{"title":7,"searchDepth":285,"depth":285,"links":582},[],"2.projects/1.catalog/2022-blue-sky-proposal-book.md",{"_path":203,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":204,"description":205,"layout":292,"year":571,"technologies":585,"github":586,"body":587,"_type":287,"_id":202,"_source":288,"_file":591,"_extension":290},[452,400,573,574],"https://github.com/shotwn/rest-generator",{"type":282,"children":588,"toc":589},[],{"title":7,"searchDepth":285,"depth":285,"links":590},[],"2.projects/1.catalog/2022-rest-generator.md",{"_path":209,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":210,"description":211,"layout":292,"year":571,"technologies":593,"carousel":594,"carouselWidth":469,"carouselRatio":596,"carouselWrap":304,"featured":304,"body":597,"_type":287,"_id":208,"_source":288,"_file":601,"_extension":290},[296,295,452,441,400,561,573,574],[595],"/images/docs/projects/2022-creliable-smart-pricing.png",1.9,{"type":282,"children":598,"toc":599},[],{"title":7,"searchDepth":285,"depth":285,"links":600},[],"2.projects/1.catalog/2022-smart-pricing.md",{"_path":215,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":216,"description":217,"layout":292,"year":439,"technologies":603,"body":606,"_type":287,"_id":214,"_source":288,"_file":610,"_extension":290},[400,561,452,604,296,605],"PapaParse","Guzzle",{"type":282,"children":607,"toc":608},[],{"title":7,"searchDepth":285,"depth":285,"links":609},[],"2.projects/1.catalog/2023-csv-data-viewer.md",{"_path":221,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":222,"description":223,"layout":292,"year":612,"technologies":613,"link":618,"carousel":619,"carouselRatio":417,"carouselWrap":304,"body":621,"_type":287,"_id":220,"_source":288,"_file":625,"_extension":290},2024,[296,441,614,299,382,615,616,371,617,346],"Blade","GitLab CI/CD","Socialite","IVAO API","https://aerojetva.com",[620],"/images/docs/projects/2025-aerojetva-flightdeck.png",{"type":282,"children":622,"toc":623},[],{"title":7,"searchDepth":285,"depth":285,"links":624},[],"2.projects/1.catalog/2024-flight-deck.md",{"_path":227,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":228,"description":229,"layout":292,"year":627,"technologies":628,"sortWeight":491,"carouselAlign":302,"carouselRatio":629,"carouselWidth":469,"featured":304,"carousel":630,"carouselWrap":304,"body":635,"_type":287,"_id":226,"_source":288,"_file":639,"_extension":290},2025,[452,400,561,573,441,296,299,382,615],1.33,[631,632,633,634],"/images/docs/projects/2025-phinbd-kanban-view.png","/images/docs/projects/2025-phinbd-list-view.png","/images/docs/projects/2025-phinbd-table-view.png","/images/docs/projects/2025-phinbd-reports.png",{"type":282,"children":636,"toc":637},[],{"title":7,"searchDepth":285,"depth":285,"links":638},[],"2.projects/1.catalog/2025-phinbd.md",{"_path":233,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":234,"description":235,"layout":292,"year":627,"technologies":641,"link":618,"carousel":647,"body":650,"_type":287,"_id":232,"_source":288,"_file":654,"_extension":290},[452,400,642,643,644,645,646],"Nuxt 3","PrimeVue","Tailwind CSS","Nuxt Content","i18n",[648,649],"/images/docs/projects/2025-aerojetva-shopfont-dark.jpeg","/images/docs/projects/2025-aerojetva-shopfont-light.png",{"type":282,"children":651,"toc":652},[],{"title":7,"searchDepth":285,"depth":285,"links":653},[],"2.projects/1.catalog/2025-shop-front.md",{"_path":245,"_dir":76,"_draft":279,"_partial":279,"_locale":7,"title":246,"description":247,"layout":292,"year":656,"technologies":657,"link":618,"featured":304,"carousel":661,"body":665,"_type":287,"_id":244,"_source":288,"_file":669,"_extension":290},2026,[296,441,658,400,561,644,452,573,659,382,660],"Filament","Vite","SQLite",[662,663,664],"/images/docs/projects/2025-aerojetva-hangar-index.jpeg","/images/docs/projects/2025-aerojetva-hangar-liveries.png","/images/docs/projects/2025-aerojetva-hangar-livery.png",{"type":282,"children":666,"toc":667},[],{"title":7,"searchDepth":285,"depth":285,"links":668},[],"2.projects/1.catalog/2026-hangar.md",{"data":671,"body":673,"excerpt":-1,"toc":704},{"title":7,"description":672},"A downloads and content repository built from scratch for AerojetVA. Manages liveries, software, studio items, and other community downloads.",{"type":282,"children":674},[675,679,684],{"type":324,"tag":325,"props":676,"children":677},{},[678],{"type":329,"value":672},{"type":324,"tag":325,"props":680,"children":681},{},[682],{"type":329,"value":683},"The backend runs on Laravel with a Filament admin dashboard. The frontend is a Vue 3 + Quasar SPA with Tailwind CSS:",{"type":324,"tag":685,"props":686,"children":687},"ul",{},[688,694,699],{"type":324,"tag":689,"props":690,"children":691},"li",{},[692],{"type":329,"value":693},"REST API with dynamic CRUD generation via our custom-built REST Generator library.",{"type":324,"tag":689,"props":695,"children":696},{},[697],{"type":329,"value":698},"Download statistics tracking and analytics.",{"type":324,"tag":689,"props":700,"children":701},{},[702],{"type":329,"value":703},"Multi-language support with Vue i18n.",{"title":7,"searchDepth":285,"depth":285,"links":705},[],{"data":707,"body":709,"excerpt":-1,"toc":748},{"title":7,"description":708},"Before this system, the client's onboarding team was tracking prospects by emailing Excel sheets back and forth. We replaced that with a proper pipeline management tool.",{"type":282,"children":710},[711,715,720,725,743],{"type":324,"tag":325,"props":712,"children":713},{},[714],{"type":329,"value":708},{"type":324,"tag":325,"props":716,"children":717},{},[718],{"type":329,"value":719},"Prospects flow through customizable pipelines with drag-and-drop stages in Kanban or list view. Each pipeline has its own dynamic custom fields with stage-level visibility control.",{"type":324,"tag":325,"props":721,"children":722},{},[723],{"type":329,"value":724},"The key feature is the automation engine — trigger-condition-action rules that the client can configure without code changes, extensible through a registry pattern for new triggers and actions.",{"type":324,"tag":685,"props":726,"children":727},{},[728,733,738],{"type":324,"tag":689,"props":729,"children":730},{},[731],{"type":329,"value":732},"Role-based access control for user and pipeline-level authorization.",{"type":324,"tag":689,"props":734,"children":735},{},[736],{"type":329,"value":737},"Activity logging and audit trail for all prospect changes.",{"type":324,"tag":689,"props":739,"children":740},{},[741],{"type":329,"value":742},"Reporting dashboard with disengagement monitoring.",{"type":324,"tag":325,"props":744,"children":745},{},[746],{"type":329,"value":747},"Deployed across multiple environments with Docker and GitLab CI/CD.",{"title":7,"searchDepth":285,"depth":285,"links":749},[],{"data":751,"body":753,"excerpt":-1,"toc":764},{"title":7,"description":752},"The public-facing welcome site for AerojetVA, built from scratch with Nuxt 3 and PrimeVue. Serves as the community's front door.",{"type":282,"children":754},[755,759],{"type":324,"tag":325,"props":756,"children":757},{},[758],{"type":329,"value":752},{"type":324,"tag":325,"props":760,"children":761},{},[762],{"type":329,"value":763},"Features dark mode, multi-language support, and SEO with automated sitemap generation. Content is managed through Nuxt Content with Markdown, and the site can be statically generated for fast deploys.",{"title":7,"searchDepth":285,"depth":285,"links":765},[],{"data":767,"body":769,"excerpt":-1,"toc":808},{"title":7,"description":768},"A pilot operations platform for AerojetVA, built as a deep customization of phpVMS with a custom template and several bespoke modules.",{"type":282,"children":770},[771,775,780,803],{"type":324,"tag":325,"props":772,"children":773},{},[774],{"type":329,"value":768},{"type":324,"tag":325,"props":776,"children":777},{},[778],{"type":329,"value":779},"The standout work was a set of custom integrations that tie the platform into the wider flight sim ecosystem:",{"type":324,"tag":685,"props":781,"children":782},{},[783,788,793,798],{"type":324,"tag":689,"props":784,"children":785},{},[786],{"type":329,"value":787},"Custom SSO module integrating Discord, VATSIM, and IVAO authentication — each with its own API and auth flow.",{"type":324,"tag":689,"props":789,"children":790},{},[791],{"type":329,"value":792},"SmartCARS3 integration for automatic flight tracking and PIREP submission.",{"type":324,"tag":689,"props":794,"children":795},{},[796],{"type":329,"value":797},"SimBrief dispatch integration for realistic flight planning.",{"type":324,"tag":689,"props":799,"children":800},{},[801],{"type":329,"value":802},"Live map with real-time pilot positions and flight information.",{"type":324,"tag":325,"props":804,"children":805},{},[806],{"type":329,"value":807},"Pilots can book flights, manage roster assignments, earn awards, and handle jumpseat transfers between aircraft. The whole stack deploys through a GitLab CI/CD pipeline with Docker.",{"title":7,"searchDepth":285,"depth":285,"links":809},[],{"data":811,"body":813,"excerpt":-1,"toc":824},{"title":7,"description":812},"Built for an SEO agency that was emailing CSV reports to clients. We gave their clients a web interface to sort, filter, and search through the data instead.",{"type":282,"children":814},[815,819],{"type":324,"tag":325,"props":816,"children":817},{},[818],{"type":329,"value":812},{"type":324,"tag":325,"props":820,"children":821},{},[822],{"type":329,"value":823},"PapaParse handles CSV parsing in the browser for large files, rendering into responsive Quasar data tables. A PHP backend pulls fresh data from the agency's third-party reporting systems with currency formatting for financial columns.",{"title":7,"searchDepth":285,"depth":285,"links":825},[],{"data":827,"body":829,"excerpt":-1,"toc":835},{"title":7,"description":828},"Open source Laravel package for Lidio's Pay with Link API. Drop it into a Laravel project and you get a clean interface for creating payment links, handling callbacks, and managing transactions.",{"type":282,"children":830},[831],{"type":324,"tag":325,"props":832,"children":833},{},[834],{"type":329,"value":828},{"title":7,"searchDepth":285,"depth":285,"links":836},[],{"data":838,"body":840,"excerpt":-1,"toc":856},{"title":7,"description":839},"A smart, question based pricing and quotation system built for the sales team of Creliable.",{"type":282,"children":841},[842,846,851],{"type":324,"tag":325,"props":843,"children":844},{},[845],{"type":329,"value":839},{"type":324,"tag":325,"props":847,"children":848},{},[849],{"type":329,"value":850},"The system offers a fully customizable form system with a user-friendly interface. It has built-in support for complex pricing and discounting rules such as volume discounts, additional services, package deals, enhancements and more.",{"type":324,"tag":325,"props":852,"children":853},{},[854],{"type":329,"value":855},"System can create customizable and printable PDFs.",{"title":7,"searchDepth":285,"depth":285,"links":857},[],{"data":859,"body":861,"excerpt":-1,"toc":877},{"title":7,"description":860},"A Pinia plugin to create RESTful API endpoints. It can create a full CRUDL API binding with a single line of code.",{"type":282,"children":862},[863,867,872],{"type":324,"tag":325,"props":864,"children":865},{},[866],{"type":329,"value":860},{"type":324,"tag":325,"props":868,"children":869},{},[870],{"type":329,"value":871},"It has complex query, filtering and sorting support. It also has a built-in normalization and cross storage event handling system.",{"type":324,"tag":325,"props":873,"children":874},{},[875],{"type":329,"value":876},"It is production ready and used in multiple projects.",{"title":7,"searchDepth":285,"depth":285,"links":878},[],{"data":880,"body":882,"excerpt":-1,"toc":921},{"title":7,"description":881},"A tailor-made workflow management and automation suite built for Blue Sky Tie-Down Systems.",{"type":282,"children":883},[884,888,893,916],{"type":324,"tag":325,"props":885,"children":886},{},[887],{"type":329,"value":881},{"type":324,"tag":325,"props":889,"children":890},{},[891],{"type":329,"value":892},"The system is designed to manage the entire process of creating and managing quotes for the company.",{"type":324,"tag":685,"props":894,"children":895},{},[896,901,906,911],{"type":324,"tag":689,"props":897,"children":898},{},[899],{"type":329,"value":900},"Product, customer, contact and address management with quote and project workflows.",{"type":324,"tag":689,"props":902,"children":903},{},[904],{"type":329,"value":905},"End-user programmable kit, package and product generator with a visual interface.",{"type":324,"tag":689,"props":907,"children":908},{},[909],{"type":329,"value":910},"Automated PDF generation, email sending, and multiple data ingestion methods.",{"type":324,"tag":689,"props":912,"children":913},{},[914],{"type":329,"value":915},"Delivery and installation management system.",{"type":324,"tag":325,"props":917,"children":918},{},[919],{"type":329,"value":920},"Through a multi-year engagement, the system helped increase the client's design output, reduced staff burnout via structured workflow management, and maintained revenue stability.",{"title":7,"searchDepth":285,"depth":285,"links":922},[],{"data":924,"body":926,"excerpt":-1,"toc":942},{"title":7,"description":925},"PicNav is a PWA that visualizes the location of the shutter moment in the EXIF data of JPG files on a map.",{"type":282,"children":927},[928,932,937],{"type":324,"tag":325,"props":929,"children":930},{},[931],{"type":329,"value":925},{"type":324,"tag":325,"props":933,"children":934},{},[935],{"type":329,"value":936},"OSM API is used for images but a proprietary cache is used to store the images on our servers and serve them to the users.",{"type":324,"tag":325,"props":938,"children":939},{},[940],{"type":329,"value":941},"The processing of the photos is done entirely in the user's browser and no data is transferred to our servers.",{"title":7,"searchDepth":285,"depth":285,"links":943},[],{"data":945,"body":947,"excerpt":-1,"toc":958},{"title":7,"description":946},"Modular upgrades, fixes and new features for the Virtual NATO (vNATO) community website.",{"type":282,"children":948},[949,953],{"type":324,"tag":325,"props":950,"children":951},{},[952],{"type":329,"value":946},{"type":324,"tag":325,"props":954,"children":955},{},[956],{"type":329,"value":957},"Includes a fully new database interface, API and modern Quasar admin/user interface with WYSIWYG documentation editor, leave of absence system, fleet management, event management, and a few other features.",{"title":7,"searchDepth":285,"depth":285,"links":959},[],{"data":961,"body":963,"excerpt":-1,"toc":979},{"title":7,"description":962},"A static site that provides documentation for the Turkish Virtual Flight Simulator Community.",{"type":282,"children":964},[965,969,974],{"type":324,"tag":325,"props":966,"children":967},{},[968],{"type":329,"value":962},{"type":324,"tag":325,"props":970,"children":971},{},[972],{"type":329,"value":973},"The site is built with MkDocs and uses a fork of Windmill theme inline with the brand guidelines. Theme is modified to include a pinning feature, dark mode, custom font sizes and a few other user customizable features. Modifications are applied to the theme as a submodule and does not require any changes to the theme itself.",{"type":324,"tag":325,"props":975,"children":976},{},[977],{"type":329,"value":978},"The site is built and deployed automatically after each push to markdown files using GitLab CI.",{"title":7,"searchDepth":285,"depth":285,"links":980},[],{"data":982,"body":984,"excerpt":-1,"toc":995},{"title":7,"description":983},"That Radio Thing lets everyone listen to the same song at the same time — synchronized within about 1 second across all connected users.",{"type":282,"children":985},[986,990],{"type":324,"tag":325,"props":987,"children":988},{},[989],{"type":329,"value":983},{"type":324,"tag":325,"props":991,"children":992},{},[993],{"type":329,"value":994},"It hooks into the Spotify API for playback and sync. Users can follow an automatic playlist or tune into what another user is playing.",{"title":7,"searchDepth":285,"depth":285,"links":996},[],{"data":998,"body":1000,"excerpt":-1,"toc":1011},{"title":7,"description":999},"Rowdo is a small service to download files from URLs listed in SQL databases to the file system.",{"type":282,"children":1001},[1002,1006],{"type":324,"tag":325,"props":1003,"children":1004},{},[1005],{"type":329,"value":999},{"type":324,"tag":325,"props":1007,"children":1008},{},[1009],{"type":329,"value":1010},"The service can also resize image files by parameters given in the SQL row using the Python Imaging Library (PIL).",{"title":7,"searchDepth":285,"depth":285,"links":1012},[],{"data":1014,"body":1016,"excerpt":-1,"toc":1027},{"title":7,"description":1015},"A patching tool for the Turkish Virtual community that modifies vendor-specific FSUIPC Lua scripts across MSFS, FSX, P3D, and X-Plane.",{"type":282,"children":1017},[1018,1022],{"type":324,"tag":325,"props":1019,"children":1020},{},[1021],{"type":329,"value":1015},{"type":324,"tag":325,"props":1023,"children":1024},{},[1025],{"type":329,"value":1026},"These Lua scripts extend communication between flight simulators and external tracking software — the patcher applies the community's custom modifications automatically.",{"title":7,"searchDepth":285,"depth":285,"links":1028},[],{"data":1030,"body":1032,"excerpt":-1,"toc":1038},{"title":7,"description":1031},"FS-Link is a flight planner software and browser bridge for different flight simulators.",{"type":282,"children":1033},[1034],{"type":324,"tag":325,"props":1035,"children":1036},{},[1037],{"type":329,"value":1031},{"title":7,"searchDepth":285,"depth":285,"links":1039},[],{"data":1041,"body":1043,"excerpt":-1,"toc":1054},{"title":7,"description":1042},"A report generator built for the Virtual NATO virtual aviation group.",{"type":282,"children":1044},[1045,1049],{"type":324,"tag":325,"props":1046,"children":1047},{},[1048],{"type":329,"value":1042},{"type":324,"tag":325,"props":1050,"children":1051},{},[1052],{"type":329,"value":1053},"It compares the list of pilots in the virtual aviation group with the real-time flight data from the VATSIM virtual aviation platform API (similar to FlightRadar 24). Reports the flights made by the virtual pilots in the group on a monthly and yearly basis.",{"title":7,"searchDepth":285,"depth":285,"links":1055},[],{"data":1057,"body":1059,"excerpt":-1,"toc":1075},{"title":7,"description":1058},"VatSkies uses the VATSIM and Turkish Virtual APIs to track flights and controllers in real-time.",{"type":282,"children":1060},[1061,1065,1070],{"type":324,"tag":325,"props":1062,"children":1063},{},[1064],{"type":329,"value":1058},{"type":324,"tag":325,"props":1066,"children":1067},{},[1068],{"type":329,"value":1069},"Flights are saved in a database and can be viewed on a map. The system also provides a way to view the flight details and the flight path.",{"type":324,"tag":325,"props":1071,"children":1072},{},[1073],{"type":329,"value":1074},"System can use fuel consumption data to create ML models to predict fuel consumption for a given flight.",{"title":7,"searchDepth":285,"depth":285,"links":1076},[],{"data":1078,"body":1080,"excerpt":-1,"toc":1091},{"title":7,"description":1079},"FS Time Sync is a desktop application that synchronizes the time in the flight simulator with the real world time.",{"type":282,"children":1081},[1082,1086],{"type":324,"tag":325,"props":1083,"children":1084},{},[1085],{"type":329,"value":1079},{"type":324,"tag":325,"props":1087,"children":1088},{},[1089],{"type":329,"value":1090},"It uses the NTP protocol and FSUIPC to set the time in the simulator. FSX, P3D, and X-Plane are supported.",{"title":7,"searchDepth":285,"depth":285,"links":1092},[],{"data":1094,"body":1096,"excerpt":-1,"toc":1123},{"title":7,"description":1095},"A desktop app built for the Turkish Virtual community that downloads and installs airport scenery across 4 flight simulation platforms (FS9, FSX, P3D, XPlane).",{"type":282,"children":1097},[1098,1102,1107],{"type":324,"tag":325,"props":1099,"children":1100},{},[1101],{"type":329,"value":1095},{"type":324,"tag":325,"props":1103,"children":1104},{},[1105],{"type":329,"value":1106},"It scans an external CSV source, downloads airport definition files, data, and 3D models, then integrates them into the correct game files — handling the different installation steps for each simulator. Downloaded content can be temporarily deactivated as needed.",{"type":324,"tag":325,"props":1108,"children":1109},{},[1110,1112,1121],{"type":329,"value":1111},"The precursor script was published as open source on ",{"type":324,"tag":1113,"props":1114,"children":1118},"a",{"href":1115,"rel":1116},"https://github.com/shotwn/Fast-Scenery-Script-for-P3D",[1117],"nofollow",[1119],{"type":329,"value":1120},"GitHub",{"type":329,"value":1122},".",{"title":7,"searchDepth":285,"depth":285,"links":1124},[],{"data":1126,"body":1128,"excerpt":-1,"toc":1139},{"title":7,"description":1127},"IMMENSE is an inventory management system designed for the specific needs of a small market chain. It handles inventory, sales, and purchases.",{"type":282,"children":1129},[1130,1134],{"type":324,"tag":325,"props":1131,"children":1132},{},[1133],{"type":329,"value":1127},{"type":324,"tag":325,"props":1135,"children":1136},{},[1137],{"type":329,"value":1138},"Currently in use by a small business in Ukraine.",{"title":7,"searchDepth":285,"depth":285,"links":1140},[],{"data":1142,"body":1144,"excerpt":-1,"toc":1165},{"title":7,"description":1143},"Darwin is a proprietary bot framework designed for Discord. It is designed for strict command processing and to be easily extendable with new commands.",{"type":282,"children":1145},[1146,1150,1155,1160],{"type":324,"tag":325,"props":1147,"children":1148},{},[1149],{"type":329,"value":1143},{"type":324,"tag":325,"props":1151,"children":1152},{},[1153],{"type":329,"value":1154},"It was originally designed over Discord REST API directly, but later it was extended to use the discord.py library.",{"type":324,"tag":325,"props":1156,"children":1157},{},[1158],{"type":329,"value":1159},"Currently, framework uses pycord library. It also offers a web interface for SSO, content management, and user management.",{"type":324,"tag":325,"props":1161,"children":1162},{},[1163],{"type":329,"value":1164},"Framework is still in use by multiple communities and is actively maintained.",{"title":7,"searchDepth":285,"depth":285,"links":1166},[],{"data":1168,"body":1170,"excerpt":-1,"toc":1186},{"title":7,"description":1169},"Marvin was a bot framework primarily designed for Discord. It was designed for basic natural language processing and to be easily extendable with new commands.",{"type":282,"children":1171},[1172,1176,1181],{"type":324,"tag":325,"props":1173,"children":1174},{},[1175],{"type":329,"value":1169},{"type":324,"tag":325,"props":1177,"children":1178},{},[1179],{"type":329,"value":1180},"It came with some default functionality such as rate limiting, command permissions and garbage cleanup.",{"type":324,"tag":325,"props":1182,"children":1183},{},[1184],{"type":329,"value":1185},"Framework was retired in 2019.",{"title":7,"searchDepth":285,"depth":285,"links":1187},[],{"data":1189,"body":1191,"excerpt":-1,"toc":1230},{"title":7,"description":1190},"A chatbot built for the Turkish Virtual aviation community to perform various operations with text commands within Discord.",{"type":282,"children":1192},[1193,1197,1202,1207,1212,1217],{"type":324,"tag":325,"props":1194,"children":1195},{},[1196],{"type":329,"value":1190},{"type":324,"tag":325,"props":1198,"children":1199},{},[1200],{"type":329,"value":1201},"The NOTAM function pulls real-world aviation information messages (NOTAM) from the American Federal Aviation Administration by parsing HTML.",{"type":324,"tag":325,"props":1203,"children":1204},{},[1205],{"type":329,"value":1206},"The METAR function pulls weather data from the VATSIM virtual aviation platform API and converts the METAR format to human-readable format.",{"type":324,"tag":325,"props":1208,"children":1209},{},[1210],{"type":329,"value":1211},"The Chart/Scenery functions scan aviation maps in the repository and present the maps for the desired airports on discord.",{"type":324,"tag":325,"props":1213,"children":1214},{},[1215],{"type":329,"value":1216},"On the web interface, the bot has the following features:",{"type":324,"tag":685,"props":1218,"children":1219},{},[1220,1225],{"type":324,"tag":689,"props":1221,"children":1222},{},[1223],{"type":329,"value":1224},"Authorization to the discord platform with a Turkish Virtual account (Discord SSO)",{"type":324,"tag":689,"props":1226,"children":1227},{},[1228],{"type":329,"value":1229},"It can create a screensaver slide show from the images left in the screenshots tab.",{"title":7,"searchDepth":285,"depth":285,"links":1231},[],{"data":1233,"body":1234,"excerpt":-1,"toc":1240},{"title":7,"description":84},{"type":282,"children":1235},[1236],{"type":324,"tag":325,"props":1237,"children":1238},{},[1239],{"type":329,"value":84},{"title":7,"searchDepth":285,"depth":285,"links":1241},[],{"data":1243,"body":1245,"excerpt":-1,"toc":1261},{"title":7,"description":1244},"A website and data mining tool built for the Main Receivers, an Elite Dangerous wing. Custom made WordPress template matches the game's theme.",{"type":282,"children":1246},[1247,1251,1256],{"type":324,"tag":325,"props":1248,"children":1249},{},[1250],{"type":329,"value":1244},{"type":324,"tag":325,"props":1252,"children":1253},{},[1254],{"type":329,"value":1255},"Data mining tool uses distributed data collection to gather information about the game's universe. The tool uses the community API as well as the game's journal files and keeps its own database monitoring changes with time.",{"type":324,"tag":325,"props":1257,"children":1258},{},[1259],{"type":329,"value":1260},"The website was used as a hub for the wing's members to share information and plan their in-game activities.",{"title":7,"searchDepth":285,"depth":285,"links":1262},[],{"data":1264,"body":1266,"excerpt":-1,"toc":1277},{"title":7,"description":1265},"EDXO is a desktop application companion for Elite Dangerous. It provides a set of shortcuts to in game interactions.",{"type":282,"children":1267},[1268,1272],{"type":324,"tag":325,"props":1269,"children":1270},{},[1271],{"type":329,"value":1265},{"type":324,"tag":325,"props":1273,"children":1274},{},[1275],{"type":329,"value":1276},"It has capability of interrupting joystick inputs and run custom macros to automate power management. It also provides a set of tools to help with combat and in team communication via discord api.",{"title":7,"searchDepth":285,"depth":285,"links":1278},[],{"data":1280,"body":1282,"excerpt":-1,"toc":1308},{"title":7,"description":1281},"Howling Manager is a web application which allows cover bands to manage and plan their set lists.",{"type":282,"children":1283},[1284,1288],{"type":324,"tag":325,"props":1285,"children":1286},{},[1287],{"type":329,"value":1281},{"type":324,"tag":325,"props":1289,"children":1290},{},[1291,1293,1296,1298,1301,1303,1306],{"type":329,"value":1292},"System allows multiple band members to collaborate on the set list, 3 different list schemes allow the band members to:",{"type":324,"tag":332,"props":1294,"children":1295},{},[],{"type":329,"value":1297},"\n- Vote on the songs they want to play.",{"type":324,"tag":332,"props":1299,"children":1300},{},[],{"type":329,"value":1302},"\n- Inform their band mates their preparedness to play the song.",{"type":324,"tag":332,"props":1304,"children":1305},{},[],{"type":329,"value":1307},"\n- Critique the performance of the song in the last gig.",{"title":7,"searchDepth":285,"depth":285,"links":1309},[],1774428370972]