Head of Engineering
Tony Tang
I lead teams that build and scale web products, and I'm taking my team AI-first.
- Paris, France
- Open to freelance (evenings & weekends)
Highlights
- Lead a team of 5 developers as Head of Engineering at Fonts Ninja.
- 5 years at Planity, France's leading beauty booking platform (40,000+ salons, around 10M appointments a month), the last 3 leading a team of 4 to 6 developers.
- Hired 2 senior developers, and mentored around 20 developers. Most of the developers I led at Planity were promoted.
- Led a zero-downtime migration that made Planity's salon dashboard much faster and fixed long-standing wrong totals.
- Taking my team AI-first: production errors are now triaged by AI, and developers and our Product Owner use AI to explore the codebase.
About
I'm Tony, Head of Engineering at Fonts Ninja in Paris, with around 10 years of experience building web products. I lead a team of 5 developers: I choose our technologies, set our standards and make the final technical calls, and I have a direct say in the product direction. Before that, I spent 5 years at Planity, France's leading beauty booking platform, first as a developer and then leading a team of 4 to 6 developers. Today I focus on systems that handle large volumes of data, and on using AI to change how my team works. I have also mentored around 20 developers on Codementor.
What I can help with
Open to freelance (evenings & weekends)
Build or rescue a web product
Web apps, APIs and back-office tools, from the first version to production, built so your team can maintain them.
Backend and data pipelines
Systems that collect and process large volumes of data reliably: web scrapers, queues and background jobs.
Make your team AI-first
Set up AI tools and workflows so your developers ship faster without lowering quality.
Part-time tech leadership
Technical decisions, code review, hiring and mentoring for teams without a senior lead.
Experience
Feb 2026 – Present
Head of Engineering · Fonts Ninja
Makes a browser extension that identifies the fonts on any website (900k users on Chrome), and Font Radar, a service that finds websites using fonts without a license so that type foundries get paid.
- Lead a team of 5 developers: I choose the technologies, set the standards and make the final call when the team disagrees on a solution.
- Have a direct say in the product direction, in a smaller company with broader responsibilities than my previous role.
- Hired 2 senior developers, one of whom now works with us remotely from Korea.
- Taking the team AI-first: AI now triages our production errors, and both the developers and our Product Owner use AI to explore the codebase.
- Leading the step-by-step modernisation of how we process data, planned to keep downtime to a minimum.
How it was done
- Set the team's coding standards and enforce hexagonal architecture through code review; I step into every project to validate solutions when developers have doubts.
- Leading the migration from legacy database queues to BullMQ and Redpanda: easiest or most valuable parts first, every data flow mapped and each step planned.
- Automated AWS and Sentry error triage with AI, and set up AI codebase analysis.
Tech: NestJSTypeScriptNext.jsMySQLBullMQRedpandaAWS SQSAWS ECSAWS S3AWS LambdaCloudflareClaude Code
Apr 2025 – Feb 2026
Backend Developer · Fonts Ninja
- Joined as a backend developer on the systems behind both products.
- Worked on the Font Radar robots, which scan 30M new websites a day to find those most likely to be using fonts without a license.
- Built and maintained many automations and data-collection tools.
How it was done
- Started migrating legacy database queues to BullMQ and Redpanda, so that many workers can run in parallel on an ever-growing database and their progress is easy to track.
- Built and maintained web scrapers.
Tech: NestJSTypeScriptMySQLBullMQRedpandaAWS SQSAWS ECSAWS S3AWS LambdaWeb Scraping
Feb 2022 – Feb 2025
Lead Developer · Planity
France's leading beauty booking platform: 40,000+ salons and around 10M appointments a month, also in Belgium and Germany.
- Led a team that grew from 4 to 6 developers over 3 years, one of the teams created as Planity scaled its engineering.
- Mentored the developers I worked with: most of them were promoted, and some became Lead Developers themselves.
- Estimated project timelines, planned delivery and reviewed the team's work for readability, correctness and security.
- Led the zero-downtime move of the salon statistics dashboard to a new system: it became much faster, cheaper to run, and long-standing wrong totals were fixed.
How it was done
- Migrated the dashboard from Firebase to Elasticsearch, replacing precomputed caches with query-time aggregations.
- Validated the approach with a proof of concept, then designed the migration: dual-writes, an idempotent and resumable backfill of millions of records with AWS Step Functions and Lambda, per-salon validation of every total, and a feature-flag cutover rehearsed in preprod.
- Spent most of my time reviewing pull requests rather than writing code.
Tech: ElasticsearchFirebaseAWS Step FunctionsAWS Lambda
Feb 2020 – Feb 2022
Fullstack Web Developer · Planity
- Built features for the public booking app, on web and mobile, and for Planity Pro, the software salons use to run their business.
- Built a point-of-sale system for salons in Germany, and integrated online payments and Shopify.
- Designed large features, and planned releases so that customers still on older versions of the app kept working.
How it was done
- Worked on the AWS backend (Lambda, S3, API Gateway, OpenSearch) and on real-time updates with Firebase and Firestore.
- Integrated Stripe and Shopify, and worked on database sharding.
Tech: ReactReact NativeReduxXStateFirebaseFirestoreAWS LambdaAWS S3AWS API GatewayAWS OpenSearchAlgoliaStripeShopify
Nov 2017 – Oct 2019
Software Engineer · LCLwork-study
French retail bank.
- Added features to an internal banking application that many employees depended on every day.
- Worked with other teams to integrate new features into the existing system.
- Wrote automated tests to keep this business-critical application reliable.
How it was done
- The application was built on an older version of Java.
Tech: Java
Aug 2016 – Oct 2017
Web Developer · FWAwork-study
- Maintained a complex business web application.
- Made database queries faster and took part in database migrations.
How it was done
- The application was built with C# and ASP.NET on the company's in-house template system.
Tech: C#ASP.NETSQLMySQL
Education
2014 – 2019
Supinfo
Expert in Computer Science and Information Systems (Master's level)
Oct 2018 – Nov 2020
Amazon Web Services
AWS Certified Solutions Architect – Associate (SAA-C01, expired)
Leadership skills
- Engineering Management
- Team Leadership
- Hiring
- Mentoring
- Code Review
- Delivery Planning
- Technical Decision-Making
- AI Adoption
Technical details
For engineers: the skills, stack and projects behind the results above.
Technical skills
- Languages & frameworks
- TypeScriptNode.jsNestJSNext.jsReactReact NativeReduxXState
- Architecture
- System DesignHexagonal ArchitectureWeb Scraping
- Data & messaging
- SQLMySQLNoSQLElasticsearchBullMQRedpanda (Kafka)FirebaseFirestoreAlgolia
- Cloud
- AWS ECSAWS SQSAWS LambdaAWS S3AWS Step FunctionsAWS DynamoDBAWS API GatewayAWS OpenSearchCloudflare
- AI
- Claude CodeAI automation (LLMs)
- Payments & commerce
- StripeShopify
Projects
Fonts Ninja Extension
Chrome Web Store
Identifies any font on any website in one click, using Font DNA, an in-house algorithm that analyses the actual font file rather than the CSS. 900k users on Chrome (rated 4.4/5), also available on Firefox and Safari.
TypeScriptBrowser extension
Font Radar
fontradar.com
License enforcement for type foundries. A set of robots and jobs scans over 30M new websites a day (from CTDomains), builds a database of 1B+ websites and 10M+ apps, and finds those using fonts without the appropriate license, so that foundries get paid for their work.
NestJSTypeScriptMySQLBullMQRedpandaAWS SQSAWS ECSAWS LambdaWeb Scraping
Planity
planity.com
France's leading beauty booking platform, with 15M users a month, also available in Belgium and Germany. I worked on both the web and mobile apps.
ReactReact NativeXStateFirebaseFirestoreAWS LambdaAWS API GatewayAWS DynamoDBAWS S3AlgoliaStripe
Planity Pro
pro.planity.com
Management software for salon professionals on web, tablet and phone: real-time calendar and appointment management, plus a point-of-sale system used in France, Belgium and Germany.
ReactReduxRedux SagaFirebaseFirestoreAWS LambdaAWS Step FunctionsAWS DynamoDBAWS OpenSearchAlgoliaStripe
Mentoring on Codementor
codementor.io/@tonytangdev
Mentored around 20 developers on Codementor, helping them with their React, Next.js, Node.js, TypeScript and MongoDB projects.
ReactNext.jsNode.jsTypeScriptJavaScriptMongoDBHTMLCSS