Full-Stack Developer
Job Description
<p style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); font-weight: 400; line-height: 1.5; color: rgba(0, 0, 0, 0.9);"><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"> </span></p>
<p style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); font-weight: 400; line-height: 1.5; color: rgba(0, 0, 0, 0.9);"><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"><strong style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px; font-weight: 600;">Responsibilities</strong></span></p>
<ul style="">
<li style="">Implement frontend features using TypeScript</li>
<li style="">Develop backend services and APIs using Supabase / PostgreSQL</li>
<li style="">Contribute to our Python-based AI & analytics engine (data logic, integrations)</li>
<li style="">Write and optimize SQL queries and database logic</li>
<li style="">Collaborate on feature specifications and translate them into clean technical execution</li>
<li style="">Participate in code reviews and continuous improvement</li>
<li style="">Work within modern serverless infrastructure (Vercel / Supabase)</li>
</ul>
<p style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); font-weight: 400; line-height: 1.5; color: rgba(0, 0, 0, 0.9);"><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"> </span></p>
<p style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); font-weight: 400; line-height: 1.5; color: rgba(0, 0, 0, 0.9);"><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"><strong style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px; font-weight: 600;">Tech Stack</strong></span></p>
<ul style="">
<li style=""><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"><strong style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px; font-weight: 600;">Core Language:</strong></span> TypeScript</li>
<li style=""><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"><strong style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px; font-weight: 600;">Backend & Database:</strong></span> Supabase (PostgreSQL), PL/pgSQL</li>
<li style=""><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"><strong style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px; font-weight: 600;">AI Layer:</strong></span> Python</li>
<li style=""><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"><strong style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px; font-weight: 600;">Frontend & CMS:</strong></span> TypeScript, Webflow, Weglot API</li>
<li style=""><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"><strong style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px; font-weight: 600;">Infrastructure:</strong></span> Vercel / Netlify</li>
<li style=""><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"><strong style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px; font-weight: 600;">CI/CD:</strong></span> GitHub Actions</li>
</ul>
<p style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); font-weight: 400; line-height: 1.5; color: rgba(0, 0, 0, 0.9);"><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"> </span></p>
<p style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); font-weight: 400; line-height: 1.5; color: rgba(0, 0, 0, 0.9);"><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"><strong style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px; font-weight: 600;">Requirements</strong></span></p>
<p style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); font-weight: 400; line-height: 1.5; color: rgba(0, 0, 0, 0.9);"><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"><strong style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px; font-weight: 600;">Must-have:</strong></span></p>
<ul style="">
<li style="">Experience as a Full-Stack Developer (3+ years)</li>
<li style="">Strong knowledge of TypeScript / JavaScript</li>
<li style="">Solid experience with Python in backend, data, or analytics contexts</li>
<li style="">Good understanding of PostgreSQL and data modeling</li>
<li style="">Experience building and consuming APIs</li>
<li style="">Ability to work independently and deliver clean production-ready code</li>
</ul>
<p style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); font-weight: 400; line-height: 1.5; color: rgba(0, 0, 0, 0.9);"><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"> </span></p>
<p style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); font-weight: 400; line-height: 1.5; color: rgba(0, 0, 0, 0.9);"><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"><strong style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px; font-weight: 600;">Nice-to-have:</strong></span></p>
<ul style="">
<li style="">Experience with analytics or AI-adjacent systems</li>
<li style="">Hands-on experience with Supabase</li>
<li style="">Knowledge of PL/pgSQL</li>
<li style="">Experience using Webflow</li>
</ul>
<p style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); font-weight: 400; line-height: 1.5; color: rgba(0, 0, 0, 0.9);"><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"> </span></p>
<p style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); font-weight: 400; line-height: 1.5; color: rgba(0, 0, 0, 0.9);"><span style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px;"><strong style="box-sizing: inherit; margin: 0px; padding: 0px; border-color: rgba(0, 0, 0, 0.9); border-style: none; border-width: 0px; border-image: none 100% / 1 / 0 stretch; vertical-align: baseline; background: none 0% 0% / auto repeat scroll padding-box border-box rgba(0, 0, 0, 0); outline: rgba(0, 0, 0, 0.9) none 0px; font-weight: 600;">What we offer</strong></span></p>
<p> </p>
<ul style="">
<li style="">€2,500–3,500/month (contractor)</li>
<li style="">Full-time</li>
<li style="">Remote-friendly</li>
<li style="">Clear technical leadership and structured roadmap</li>
<li style="">Small team, fast decision-making, no bureaucracy</li>
</ul>
<img src="https://remotive.com/job/track/2088652/blank.gif?source=public_api" alt=""/>
Interested in this role?
Don't miss out! Click below to view the full application on the company's website.
Apply on Company WebsiteRelated Job Opportunities
Customer Service Specialist (Remote, Americas; English & Spanish required)
Storeganise