Skip to content

Software developer who shipswork people can rely on.

I'm Charalampos, a software developer based in Limassol. I've shipped frontend features and backend APIs on a production Vue and TypeScript stack, written the automated tests that kept releases safe, and worked closely with an agile team from day one. I like owning a feature end to end.

Based in
Limassol, CY
Works with
Clients across Europe
Replies in
Under 24 hours

LinkedIn profile badge

Charalampos Panagiotou, freelance web developer, smiling at the camera

Charalampos Panagiotou

Freelance Web Developer

Limassol, Cyprus

View profile

Where I've worked

  1. UpcoMinds (Upcom Ltd.)

    Software Developer

    Jan 2026 to present

    • Write and maintain automated test scripts with Playwright, covering critical user flows and catching regressions before release.
    • Verify changes, tasks and bug fixes against acceptance criteria, and create and triage tickets to keep the backlog accurate.
    • Coordinate release readiness with the team and help decide what needs further testing before shipping.
  2. AirHub B.V.

    Software Developer

    Jul 2024 to Dec 2025

    • Shipped frontend features and fixed user-visible bugs across a Vue and TypeScript stack, improving UX and reliability.
    • Implemented and debugged backend APIs; collaborated through GitLab issues, merge requests and CI.
    • Wrote unit tests and automated end-to-end scripts to prevent regressions and speed up releases.
    • Worked cross-functionally in an agile team to scope, prioritise and deliver iterations.
  3. Freelance Web Developer

    Independent

    Feb 2022 to present

    • Built SetupGalore, a trading journal and chart-analysis platform (Next.js, Supabase, Stripe) with trade logging, interactive charting, analytics and subscriptions.
    • Built Almarae, a private matchmaking platform (Next.js, Supabase, Stripe) with multi-step forms, admin workflows and role-based data access.
    • Delivered responsive, SEO-optimised marketing sites and automation for small business and e-commerce clients.
  4. NeoLook Solutions, Groningen

    Software Developer

    Jan 2023 to Jun 2023

    • Contributed code and debugging on team projects.
    • Took part in code reviews, giving and receiving feedback.
    • Assisted with software testing and defect triage.

Education

  • BSc Computing Science · University of Groningen · Graduated 2025

Selected work

A few projects with the reasoning behind them: what the problem was, what I built, and what changed afterwards.

The Champ-co logo, a CP monogram on a gradient card

Personal · 2026

A freelance site rebuilt on Next.js so every page is server-rendered, shareable, and findable.

Next.jsReact 19TypeScriptTailwind CSS v4Vercel

The problem

The original version was a single-page React app rendered entirely in the browser. Search engines saw an empty shell, links shared on social media showed no preview, and there was no way to add pages for individual pieces of work. It described who I was, but gave a prospective client nothing to evaluate.

What I did

  • Rebuilt on the Next.js App Router so pages are pre-rendered as static HTML. The content lives in the source, not assembled by JavaScript after load.
  • Added per-page metadata and generated Open Graph cards, so every case study has its own title, description and social preview image.
  • Moved the contact form to a server route, which keeps the API key out of the browser bundle and adds validation and rate limiting.
  • Restructured the content around what a client needs to decide: what I build, what it costs, what shipped before.

The result

  • Every page is static HTML, served from the edge.
  • Case studies are individually shareable with correct titles and preview cards.
  • No credentials in the client bundle.
The SetupGalore logo, a black and yellow cube mark

SaaS product · 2025

A trading journal and chart-analysis platform where traders log trades, review setups, and run analytics on their own performance.

Next.jsTypeScriptSupabaseStripePostHogTailwind CSS

The problem

Traders tracking their own performance across spreadsheets and screenshots have no single place to log trades, see real analytics on what's actually working, or come back to a chart setup later. Lessons from past trades quietly get lost as a result.

What I did

  • Built a trade journal with 30+ fields, custom fields, image attachments and per-trade ratings on Supabase Postgres, with row-level security ensuring every user only ever sees their own data.
  • Built "Setup Lab", an interactive charting tool (13 indicators, drawing tools, saved colour templates) so traders can save chart setups and link them back to real trades.
  • Added analytics (win rate, P&L, holding period, custom-field breakdowns), CSV bulk import for existing trade history, and slideshow-style trade review templates.
  • Wired up tiered Stripe subscriptions, PostHog analytics on key funnel events, and Resend for transactional email.

The result

  • A single platform covering journaling, chart analysis and analytics that previously lived across spreadsheets and screenshots.
  • Tiered subscriptions and a referral program running end to end, from signup through to billing.
The Almarae wordmark over a stone slab on a warm beige background

Personal project · 2025

A private, vouch-based matchmaking platform with an invite flow, a consent step, a questionnaire, and admin-run pairing.

Next.jsTypeScriptSupabaseStripeResendZod

The problem

Private matchmaking needs a trust layer a generic sign-up form can't provide. People need to be vouched for by someone the platform already trusts before they're let in, and every step of that chain needs to be auditable.

What I did

  • Modelled the trust chain as data: a public vouch form, a consent step for the vouched person, an invite-gated private questionnaire, and an admin review workflow, each backed by its own Supabase table.
  • Locked access down with Row Level Security set to insert-only for anonymous users on public forms, with every admin action running server-side under the service role key.
  • Built the admin dashboard covering the full pipeline, from vouches to consent to profiles to matching, plus a notification log auditing every email sent through Resend.
  • Added Stripe for paid membership and react-hook-form + zod for validated multi-step forms.

The result

  • A working vouch-to-match pipeline running end to end: public form, consent, private questionnaire, admin review and pairing.
  • The trust chain the product depends on is enforced at the database level via RLS, not just in the UI.

About me

I'm a web developer based in Limassol, Cyprus. I build websites and web applications for small businesses and startups. Often one person handling design, frontend, backend and deployment is just faster and cheaper than putting together a whole team.

I studied Computing Science at the University of Groningen, graduating in 2025. Alongside my final year, I worked at AirHub for a year and a half, shipping features across a Vue and TypeScript stack and writing the automated tests that kept releases safe. Balancing a full-time job with a degree taught me the part that matters most for client work: shipping something solid on a deadline beats shipping something perfect eventually.

I care about the unglamorous things. Pages that load fast on a phone with two bars, forms that actually reach your inbox, code your next developer can read. Those are what keep a site working long after I hand it over.

Tools I work with

Frontend
ReactNext.jsVueTypeScriptJavaScriptTailwind CSSVite
Backend
Node.jsExpressREST APIsMongoDBPostgreSQL (Supabase)
Infrastructure
AWSVercel
Testing & CI
PlaywrightUnit & end-to-end testingGitHub ActionsGitLab CI

Get in touch

Interested in working together? Send a few details about the role and I'll get back to you within a day or two.

Based in
Limassol, Cyprus (EET / EEST)
Response time
Usually replies within 24 hours

Your details are only used to reply to you. Nothing is stored or shared.