{"company":{"id":689224,"name":"Portless","domain":"portless.com","url":"https://alion.io/company/portless"},"answer":"Portless builds mostly with TypeScript, JavaScript, SQL, PHP. Its stack also includes PostgreSQL, WooCommerce, GCP, Firebase. TypeScript is named in 3 of the 9 job postings Portless published in the last 12 months (33%). Counted by Alion from the job postings of Portless, updated Oct 1, 2026.","window_days":365,"postings_analysed":9,"open_postings":8,"technologies_in_use":45,"modernity_score":88,"ai_adoption":true,"technologies":[{"name":"Copilot","layer":"tools","postings":4,"share":0.4444,"required":3,"open_postings":3,"first_seen":"2026-05-01","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"LLM","layer":"ai","postings":3,"share":0.3333,"required":3,"open_postings":3,"first_seen":"2026-05-29","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"TypeScript","layer":"languages","postings":3,"share":0.3333,"required":3,"open_postings":3,"first_seen":"2026-05-01","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Claude","layer":"ai","postings":3,"share":0.3333,"required":2,"open_postings":3,"first_seen":"2026-05-29","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Cursor","layer":"tools","postings":3,"share":0.3333,"required":2,"open_postings":2,"first_seen":"2026-05-01","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"JavaScript","layer":"languages","postings":3,"share":0.3333,"required":2,"open_postings":3,"first_seen":"2026-05-01","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"PostgreSQL","layer":"data","postings":3,"share":0.3333,"required":2,"open_postings":3,"first_seen":"2026-05-01","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"SQL","layer":"languages","postings":3,"share":0.3333,"required":2,"open_postings":3,"first_seen":"2026-05-01","last_seen":"2026-09-14","median_stated_pay_usd":null},{"name":"PHP","layer":"languages","postings":3,"share":0.3333,"required":0,"open_postings":2,"first_seen":"2026-05-01","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"WooCommerce","layer":"frameworks","postings":3,"share":0.3333,"required":0,"open_postings":2,"first_seen":"2026-05-01","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"BigQuery","layer":"data","postings":2,"share":0.2222,"required":2,"open_postings":2,"first_seen":"2026-05-01","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Claude Code","layer":"tools","postings":2,"share":0.2222,"required":2,"open_postings":1,"first_seen":"2026-05-01","last_seen":"2026-06-16","median_stated_pay_usd":null},{"name":"GCP","layer":"cloud","postings":2,"share":0.2222,"required":2,"open_postings":2,"first_seen":"2026-05-01","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Google BigQuery","layer":"data","postings":2,"share":0.2222,"required":2,"open_postings":2,"first_seen":"2026-05-01","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Node JS","layer":"languages","postings":2,"share":0.2222,"required":2,"open_postings":2,"first_seen":"2026-05-01","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Python","layer":"languages","postings":2,"share":0.2222,"required":2,"open_postings":2,"first_seen":"2026-05-29","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"SLI/SLO/SLA","layer":"practices","postings":2,"share":0.2222,"required":2,"open_postings":2,"first_seen":"2026-08-25","last_seen":"2026-09-14","median_stated_pay_usd":null},{"name":"ChatGPT","layer":"ai","postings":2,"share":0.2222,"required":1,"open_postings":2,"first_seen":"2026-09-04","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Firebase","layer":"cloud","postings":2,"share":0.2222,"required":1,"open_postings":2,"first_seen":"2026-05-01","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Microsoft Excel","layer":"tools","postings":2,"share":0.2222,"required":1,"open_postings":2,"first_seen":"2026-09-04","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"AI Agents","layer":"practices","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"Agentic Workflows","layer":"practices","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"Anthropic","layer":"cloud","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"ClickHouse","layer":"data","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-01","last_seen":"2026-05-01","median_stated_pay_usd":null},{"name":"Edge AI","layer":"practices","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"Express","layer":"frameworks","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-09-04","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Firestore","layer":"data","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-01","last_seen":"2026-05-01","median_stated_pay_usd":null},{"name":"Incident Management","layer":"practices","postings":1,"share":0.1111,"required":1,"open_postings":0,"first_seen":"2026-06-16","last_seen":"2026-06-16","median_stated_pay_usd":null},{"name":"LangChain","layer":"frameworks","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"LlamaIndex","layer":"frameworks","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"Metabase","layer":"cloud","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-09-14","last_seen":"2026-09-14","median_stated_pay_usd":null},{"name":"Model Context Protocol","layer":"tools","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"OpenAI","layer":"cloud","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"Pinecone","layer":"data","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"Prompt Engineering","layer":"practices","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"RAG","layer":"practices","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"React.js","layer":"frameworks","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-01","last_seen":"2026-05-01","median_stated_pay_usd":null},{"name":"Semantic Search","layer":"practices","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"Semantic Search","layer":"practices","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"Tool Use","layer":"practices","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"Weaviate","layer":"data","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"pgvector","layer":"frameworks","postings":1,"share":0.1111,"required":1,"open_postings":1,"first_seen":"2026-05-29","last_seen":"2026-05-29","median_stated_pay_usd":null},{"name":"GraphQL","layer":"tools","postings":1,"share":0.1111,"required":0,"open_postings":1,"first_seen":"2026-09-04","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Magento","layer":"tools","postings":1,"share":0.1111,"required":0,"open_postings":1,"first_seen":"2026-09-04","last_seen":"2026-09-04","median_stated_pay_usd":null},{"name":"Vite","layer":"tools","postings":1,"share":0.1111,"required":0,"open_postings":1,"first_seen":"2026-05-01","last_seen":"2026-05-01","median_stated_pay_usd":null}],"own_products":[],"changes":{"first_appeared":[{"name":"ChatGPT","first_seen":"2026-09-04"},{"name":"Microsoft Excel","first_seen":"2026-09-04"},{"name":"SLI/SLO/SLA","first_seen":"2026-08-25"}],"rising":[],"falling":[],"not_seen_180d":[]},"similar_stacks":[{"name":"Samba TV","url":"https://alion.io/company/samba-tv/technologies","shared_technologies":38},{"name":"Machinify","url":"https://alion.io/company/machinify/technologies","shared_technologies":33},{"name":"Showpad","url":"https://alion.io/company/showpad/technologies","shared_technologies":32},{"name":"Wati","url":"https://alion.io/company/wati-io/technologies","shared_technologies":33},{"name":"TRM Labs","url":"https://alion.io/company/trm-labs/technologies","shared_technologies":35},{"name":"Hard Rock Digital","url":"https://alion.io/company/hardrockdigital/technologies","shared_technologies":37},{"name":"intive","url":"https://alion.io/company/intive/technologies","shared_technologies":31},{"name":"Upwork","url":"https://alion.io/company/upwork/technologies","shared_technologies":39}],"html_url":"https://alion.io/company/portless/technologies","json_url":"https://alion.io/company/portless/technologies.json","license":"CC BY-SA 4.0","meta":{"source":"Alion","built_at":"2026-10-01T19:29:58Z","generated_at":"2026-10-02T04:34:15Z"}}