[{"data":1,"prerenderedAt":174},["ShallowReactive",2],{"menus-en":3,"editorial-references-en":74},{"main":4,"footer":29,"legal":59},{"language":5,"name":6,"items":7},"en","main",[8,13,17,21,25],{"position":9,"name":10,"target":11,"args":12},1,"Web","services",null,{"position":14,"name":15,"target":16,"args":12},2,"Hosting","hosting",{"position":18,"name":19,"target":20,"args":12},3,"Domains","domains",{"position":22,"name":23,"target":24,"args":12},4,"References","references",{"position":26,"name":27,"target":28,"args":12},5,"Contact","contact",{"language":5,"name":30,"items":31},"footer",[32,35,38,41,44,45,47,49,53,57],{"position":9,"name":33,"target":34,"args":12},"Websites","services-websites",{"position":14,"name":36,"target":37,"args":12},"Web applications","services-web-applications",{"position":18,"name":39,"target":40,"args":12},"API integrations","services-api-integrations",{"position":22,"name":42,"target":43,"args":12},"User interfaces","services-user-interfaces",{"position":26,"name":15,"target":16,"args":12},{"position":46,"name":19,"target":20,"args":12},6,{"position":48,"name":23,"target":24,"args":12},7,{"position":50,"name":51,"target":52,"args":12},8,"Help","help",{"position":54,"name":55,"target":56,"args":12},9,"Project inquiry","inquiry",{"position":58,"name":27,"target":28,"args":12},10,{"language":5,"name":60,"items":61},"legal",[62,65,68,71],{"position":9,"name":63,"target":64,"args":12},"Terms and Conditions","terms",{"position":14,"name":66,"target":67,"args":12},"Privacy Policy","privacy",{"position":18,"name":69,"target":70,"args":12},"Complaints Procedure","claims",{"position":22,"name":72,"target":73,"args":12},"Withdraw from a contract here","withdrawal",{"section":75,"articles":84},{"id":76,"articles":22,"name":77,"slug":78,"title":77,"description":79,"translations":80,"view":12,"content":12,"metaTitle":77,"metaDescription":79,"metaKeywords":12},"01a103b6-1223-7103-872b-a70cdaefcdb2","Referencie","referencie","Weby, aplikácie a integrácie, ktoré sme postavili a prevádzkujeme.",{"sk":81,"en":82},{"name":77,"slug":78,"title":77,"description":79,"content":12,"metaTitle":12,"metaDescription":12,"metaKeywords":12},{"name":23,"slug":24,"title":23,"description":83,"content":12,"metaTitle":12,"metaDescription":12,"metaKeywords":12},"Websites, applications and integrations we have built and operate.",[85,108,130,152],{"id":86,"picture":87,"publishedAt":90,"labels":91,"sections":92,"name":97,"slug":98,"title":97,"description":99,"translations":100},"01a103c4-2d55-71cd-8add-b8c193312f0b",{"uri":88,"width":89,"height":89,"size":12},"\u002Fupload\u002F2026\u002F10\u002F01a103c4-2dd0-72f4-b412-15fdb5fec19f.png",0,"2026-09-26T09:00:00+02:00",[],[93],{"id":76,"articles":22,"name":77,"slug":78,"title":77,"description":79,"translations":94},{"sk":95,"en":96},{"name":77,"slug":78,"title":77,"description":79,"content":12,"metaTitle":12,"metaDescription":12,"metaKeywords":12},{"name":23,"slug":24,"title":23,"description":83,"content":12,"metaTitle":12,"metaDescription":12,"metaKeywords":12},"Vlastná hostingová platforma s klientskym portálom","vlastna-hostingova-platforma-s-klientskym-portalom","Správa name serverov, pošty, webov a databáz z jedného miesta — pre operátora aj pre zákazníka.",{"sk":101,"en":103},{"name":97,"slug":98,"title":12,"description":99,"content":102,"metaTitle":12,"metaDescription":12,"metaKeywords":12},"\u003Cp>Hosting prevádzkujeme na vlastných serveroch a dlho sme ich spravovali nástrojom, ktorý už nestačil: časť zmien sa robila ručne a evidencia sa rozchádzala so skutočnosťou. Postavili sme preto vlastnú platformu, ktorá servery riadi sama.\u003C\u002Fp>\n\u003Ch2>Z čoho sa skladá\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>centrálne API s evidenciou zákazníkov, domén a hostingov,\u003C\u002Fli>\n\u003Cli>agenti na jednotlivých serveroch — name servery, pošta, web a databázy,\u003C\u002Fli>\n\u003Cli>konzola pre operátora a klientsky portál pre zákazníkov v štyroch jazykoch,\u003C\u002Fli>\n\u003Cli>prepojenie s fakturačným systémom pre obnovy služieb.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Na čom záleželo\u003C\u002Fh2>\n\u003Cp>Každá zmena prechádza podpísaným kanálom a agent ju vykoná najviac raz, aj keď sa požiadavka zopakuje. Zápis do evidencie nastane až po tom, čo ho server potvrdí — evidencia tak nikdy netvrdí niečo, čo na serveri nie je.\u003C\u002Fp>\n\u003Cp>Infraštruktúru sme pri tom presťahovali na nové stroje bez toho, aby zákazníci museli čokoľvek meniť: adresy name serverov aj webu ostali rovnaké.\u003C\u002Fp>\n\u003Ch2>Použité technológie\u003C\u002Fh2>\n\u003Cp>PHP, Nette, Doctrine, MariaDB, Nuxt, BIND, Postfix, Dovecot, Apache, PHP-FPM.\u003C\u002Fp>",{"name":104,"slug":105,"title":12,"description":106,"content":107,"metaTitle":12,"metaDescription":12,"metaKeywords":12},"Our own hosting platform with a client portal","our-own-hosting-platform-with-a-client-portal","Managing name servers, mail, websites and databases from one place — for the operator and for the customer.","\u003Cp>We run hosting on our own servers and for a long time managed them with a tool that was no longer enough: part of the changes was done by hand and the records drifted away from reality. So we built our own platform that drives the servers itself.\u003C\u002Fp>\n\u003Ch2>What it consists of\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>a central API with records of customers, domains and hosting plans,\u003C\u002Fli>\n\u003Cli>agents on the individual servers — name servers, mail, web and databases,\u003C\u002Fli>\n\u003Cli>a console for the operator and a client portal for customers in four languages,\u003C\u002Fli>\n\u003Cli>a link to the invoicing system for service renewals.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>What mattered\u003C\u002Fh2>\n\u003Cp>Every change travels over a signed channel and an agent performs it at most once, even when a request is repeated. A record is written only after the server confirms it — so the records never claim something that is not on the server.\u003C\u002Fp>\n\u003Cp>Along the way we moved the infrastructure to new machines without customers having to change anything: name server and website addresses stayed the same.\u003C\u002Fp>\n\u003Ch2>Technologies\u003C\u002Fh2>\n\u003Cp>PHP, Nette, Doctrine, MariaDB, Nuxt, BIND, Postfix, Dovecot, Apache, PHP-FPM.\u003C\u002Fp>",{"id":109,"picture":110,"publishedAt":112,"labels":113,"sections":114,"name":119,"slug":120,"title":119,"description":121,"translations":122},"01a103c4-2bf1-72ce-b0a6-9338c25a2520",{"uri":111,"width":89,"height":89,"size":12},"\u002Fupload\u002F2026\u002F10\u002F01a103c4-2c69-70f9-a94a-61583c8e04f2.png","2026-09-18T09:00:00+02:00",[],[115],{"id":76,"articles":22,"name":77,"slug":78,"title":77,"description":79,"translations":116},{"sk":117,"en":118},{"name":77,"slug":78,"title":77,"description":79,"content":12,"metaTitle":12,"metaDescription":12,"metaKeywords":12},{"name":23,"slug":24,"title":23,"description":83,"content":12,"metaTitle":12,"metaDescription":12,"metaKeywords":12},"iqapi — údaje o firmách z registrov jedným volaním","iqapi-udaje-o-firmach-z-registrov-jednym-volanim","Verejné API, ktoré k IČO alebo IČ DPH vráti overené údaje o firme z národných registrov a z VIES.",{"sk":123,"en":125},{"name":119,"slug":120,"title":12,"description":121,"content":124,"metaTitle":12,"metaDescription":12,"metaKeywords":12},"\u003Cp>Kto vystavuje faktúry alebo registruje zákazníkov, pozná to: opisovanie názvu, adresy a daňových čísel z registra do formulára. iqapi, ktoré prevádzkujeme na iqapi.biz, to robí za vás. Stačí identifikátor firmy a krajina, odpoveď príde v jednotnom tvare bez ohľadu na to, z ktorého registra pochádza.\u003C\u002Fp>\n\u003Ch2>Čo služba vie\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>vyhľadanie firmy podľa IČO, DIČ alebo IČ DPH,\u003C\u002Fli>\n\u003Cli>registre viacerých krajín Európskej únie a overenie platnosti IČ DPH vo VIES,\u003C\u002Fli>\n\u003Cli>jednotnú odpoveď — názov, sídlo, identifikátory, stav platiteľa DPH,\u003C\u002Fli>\n\u003Cli>volanie priamo z prehliadača, takže sa dá použiť aj vo formulári bez vlastného servera.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Ako to funguje\u003C\u002Fh2>\n\u003Cp>Každý register má vlastného poskytovateľa, ktorý prekladá jeho odpoveď do spoločného tvaru. Výsledky si služba pamätá, takže opakovaná otázka je okamžitá a registre sa nezaťažujú zbytočne. Keď niektorý register neodpovedá, služba ho na chvíľu vynechá a vráti to, čo má z ostatných zdrojov.\u003C\u002Fp>\n\u003Cp>Administrácia ukazuje stav jednotlivých registrov, záznam volaní a uložené firmy.\u003C\u002Fp>\n\u003Ch2>Použité technológie\u003C\u002Fh2>\n\u003Cp>PHP, Nette, Doctrine, MariaDB, Nuxt, integrácie na registre SK, CZ, AT, PL, RO, FR, HR, SI, FI, EE a VIES.\u003C\u002Fp>",{"name":126,"slug":127,"title":12,"description":128,"content":129,"metaTitle":12,"metaDescription":12,"metaKeywords":12},"iqapi — company data from registers in a single call","iqapi-company-data-from-registers-in-a-single-call","A public API that returns verified company data from national registers and VIES for a company or VAT number.","\u003Cp>Anyone who issues invoices or registers customers knows it: copying a name, address and tax numbers from a register into a form. iqapi, which we run at iqapi.biz, does it for you. A company identifier and a country are enough; the answer arrives in a uniform shape no matter which register it comes from.\u003C\u002Fp>\n\u003Ch2>What the service does\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>company lookup by registration number, tax ID or VAT ID,\u003C\u002Fli>\n\u003Cli>registers of several European Union countries and VAT ID validation in VIES,\u003C\u002Fli>\n\u003Cli>a uniform response — name, registered office, identifiers, VAT payer status,\u003C\u002Fli>\n\u003Cli>calls directly from the browser, so it can be used in a form without your own server.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>How it works\u003C\u002Fh2>\n\u003Cp>Each register has its own provider that translates its answer into the common shape. The service remembers results, so a repeated query is instant and registers are not loaded unnecessarily. When a register does not respond, the service skips it for a while and returns what it has from the other sources.\u003C\u002Fp>\n\u003Cp>The administration shows the state of each register, a call log and stored companies.\u003C\u002Fp>\n\u003Ch2>Technologies\u003C\u002Fh2>\n\u003Cp>PHP, Nette, Doctrine, MariaDB, Nuxt, integrations with registers of SK, CZ, AT, PL, RO, FR, HR, SI, FI, EE and VIES.\u003C\u002Fp>",{"id":131,"picture":132,"publishedAt":134,"labels":135,"sections":136,"name":141,"slug":142,"title":141,"description":143,"translations":144},"01a103c4-2904-72a7-95d8-3ce243231513",{"uri":133,"width":89,"height":89,"size":12},"\u002Fupload\u002F2026\u002F10\u002F01a103c4-2988-71c9-b752-723cca9aceef.png","2026-09-02T09:00:00+02:00",[],[137],{"id":76,"articles":22,"name":77,"slug":78,"title":77,"description":79,"translations":138},{"sk":139,"en":140},{"name":77,"slug":78,"title":77,"description":79,"content":12,"metaTitle":12,"metaDescription":12,"metaKeywords":12},{"name":23,"slug":24,"title":23,"description":83,"content":12,"metaTitle":12,"metaDescription":12,"metaKeywords":12},"Spinkaj.sk — portál ubytovania pre študentov","spinkaj-sk-portal-ubytovania-pre-studentov","Prestavba inzertného portálu na nové API a rýchly web s platbami, fakturáciou a administráciou.",{"sk":145,"en":147},{"name":141,"slug":142,"title":12,"description":143,"content":146,"metaTitle":12,"metaDescription":12,"metaKeywords":12},"\u003Cp>Spinkaj.sk spája študentov, ktorí hľadajú bývanie, s majiteľmi bytov v univerzitných mestách. Portál bežal roky na staršom riešení, ktoré sa ťažko rozširovalo a na mobile bolo pomalé. Postavili sme ho nanovo a prechod prebehol bez prerušenia prevádzky a so zachovaním adries, ktoré poznajú vyhľadávače. Nový portál je v prevádzke.\u003C\u002Fp>\n\u003Ch2>Čo sme riešili\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>prechod zo starej aplikácie na samostatné API a moderný web,\u003C\u002Fli>\n\u003Cli>presun používateľov, inzerátov a fotografií do novej databázy,\u003C\u002Fli>\n\u003Cli>platené zverejnenie a topovanie inzerátov s online platbou aj kreditom,\u003C\u002Fli>\n\u003Cli>zákonné náležitosti predaja služieb spotrebiteľovi vrátane odstúpenia od zmluvy.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Riešenie\u003C\u002Fh2>\n\u003Cp>Web je rozdelený na tri časti: API ako jediný zdroj pravdy, verejný web vykresľovaný na serveri a administráciu pre prevádzkovateľa. Objednávka propagácie prechádza platobnou bránou, po úhrade sa inzerát zverejní sám a zákazníkovi príde faktúra. Platby prevodom sa párujú z bankových avíz bez ručného zásahu.\u003C\u002Fp>\n\u003Cp>Staré adresy inzerátov a sekcií sú presmerované na nové, aby portál prechodom neprišiel o pozície vo vyhľadávaní.\u003C\u002Fp>\n\u003Ch2>Použité technológie\u003C\u002Fh2>\n\u003Cp>PHP, Nette, Doctrine, MySQL, Nuxt, Vue, Tailwind, platobná brána MyPay.\u003C\u002Fp>",{"name":148,"slug":149,"title":12,"description":150,"content":151,"metaTitle":12,"metaDescription":12,"metaKeywords":12},"Spinkaj.sk — student housing portal","spinkaj-sk-student-housing-portal","Rebuilding a classifieds portal on a new API and a fast website with payments, invoicing and administration.","\u003Cp>Spinkaj.sk connects students looking for accommodation with landlords in university towns. The portal had run for years on an older solution that was hard to extend and slow on mobile. We rebuilt it from the ground up; the switch happened without interrupting operation and kept the addresses search engines already know. The new portal is live.\u003C\u002Fp>\n\u003Ch2>What we dealt with\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>moving from the old application to a standalone API and a modern website,\u003C\u002Fli>\n\u003Cli>migrating users, listings and photos into a new database,\u003C\u002Fli>\n\u003Cli>paid publishing and promotion of listings with online payment and credit,\u003C\u002Fli>\n\u003Cli>legal requirements for selling services to consumers, including withdrawal from the contract.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>The solution\u003C\u002Fh2>\n\u003Cp>The site consists of three parts: an API as the single source of truth, a server-rendered public website and an administration for the operator. A promotion order goes through the payment gateway, the listing is published automatically once paid, and the customer receives an invoice. Bank transfers are matched from bank notifications without manual work.\u003C\u002Fp>\n\u003Cp>Old listing and section addresses redirect to the new ones, so that the portal did not lose its search rankings in the switch.\u003C\u002Fp>\n\u003Ch2>Technologies\u003C\u002Fh2>\n\u003Cp>PHP, Nette, Doctrine, MySQL, Nuxt, Vue, Tailwind, MyPay payment gateway.\u003C\u002Fp>",{"id":153,"picture":154,"publishedAt":156,"labels":157,"sections":158,"name":163,"slug":164,"title":163,"description":165,"translations":166},"01a103c4-2a76-73de-b330-c7f8ee6dbec0",{"uri":155,"width":89,"height":89,"size":12},"\u002Fupload\u002F2026\u002F10\u002F01a103c4-2aef-72f4-a9af-8c587be4504b.png","2026-08-05T09:00:00+02:00",[],[159],{"id":76,"articles":22,"name":77,"slug":78,"title":77,"description":79,"translations":160},{"sk":161,"en":162},{"name":77,"slug":78,"title":77,"description":79,"content":12,"metaTitle":12,"metaDescription":12,"metaKeywords":12},{"name":23,"slug":24,"title":23,"description":83,"content":12,"metaTitle":12,"metaDescription":12,"metaKeywords":12},"B2B objednávkový systém pre veľkoobchod s pneumatikami","b2b-objednavkovy-system-pre-velkoobchod-s-pneumatikami","E-shop pre obchodných partnerov s katalógom desaťtisícov položiek, individuálnymi cenami a napojením na účtovníctvo.",{"sk":167,"en":169},{"name":163,"slug":164,"title":12,"description":165,"content":168,"metaTitle":12,"metaDescription":12,"metaKeywords":12},"\u003Cp>Veľkoobchod s pneumatikami potreboval, aby si servisy a predajcovia vedeli objednať tovar sami, kedykoľvek a za svoje ceny. Telefonické a e-mailové objednávky zaberali obchodníkom väčšinu dňa a stav skladu sa partnerom oznamoval ručne.\u003C\u002Fp>\n\u003Ch2>Čo sme postavili\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>katalóg s vyhľadávaním podľa rozmeru, značky a parametrov, plnený z dodávateľských cenníkov,\u003C\u002Fli>\n\u003Cli>ceny a dostupnosť podľa prihláseného partnera,\u003C\u002Fli>\n\u003Cli>košík, objednávku s dopravou a prehľad dokladov v zákazníckej zóne,\u003C\u002Fli>\n\u003Cli>prepojenie s účtovným systémom — objednávky, faktúry a sklad sa prenášajú samy,\u003C\u002Fli>\n\u003Cli>reklamácie a expedíciu priamo v systéme.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>Na čo sme dbali\u003C\u002Fh2>\n\u003Cp>Katalóg sa mení niekoľkokrát denne, preto import beží po dávkach a web číta pripravené dáta, nie dodávateľské súbory. Prenos do účtovníctva počíta s tým, že druhá strana práve neodpovedá: požiadavka sa zopakuje a nikdy sa nezapíše dvakrát.\u003C\u002Fp>\n\u003Ch2>Použité technológie\u003C\u002Fh2>\n\u003Cp>PHP, Nette, Doctrine, MySQL, Nuxt, Vue, integrácia na účtovný systém cez API.\u003C\u002Fp>",{"name":170,"slug":171,"title":12,"description":172,"content":173,"metaTitle":12,"metaDescription":12,"metaKeywords":12},"B2B ordering system for a tyre wholesaler","b2b-ordering-system-for-a-tyre-wholesaler","An online shop for business partners with a catalogue of tens of thousands of items, individual prices and a link to accounting.","\u003Cp>A tyre wholesaler needed garages and resellers to be able to order goods themselves, at any time and at their own prices. Phone and e-mail orders took up most of the sales team's day, and stock levels were communicated to partners by hand.\u003C\u002Fp>\n\u003Ch2>What we built\u003C\u002Fh2>\n\u003Cul>\n\u003Cli>a catalogue searchable by size, brand and parameters, fed from supplier price lists,\u003C\u002Fli>\n\u003Cli>prices and availability according to the signed-in partner,\u003C\u002Fli>\n\u003Cli>basket, order with shipping, and an overview of documents in the customer area,\u003C\u002Fli>\n\u003Cli>a link to the accounting system — orders, invoices and stock are transferred automatically,\u003C\u002Fli>\n\u003Cli>claims and dispatch handled directly in the system.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch2>What we cared about\u003C\u002Fh2>\n\u003Cp>The catalogue changes several times a day, so the import runs in batches and the website reads prepared data rather than supplier files. The transfer to accounting expects the other side to be unavailable at times: a request is retried and never written twice.\u003C\u002Fp>\n\u003Ch2>Technologies\u003C\u002Fh2>\n\u003Cp>PHP, Nette, Doctrine, MySQL, Nuxt, Vue, accounting system integration over an API.\u003C\u002Fp>",1791064567253]