@moetezouelhazi
Tech Lead
Experience.com
Software Engineer
Full-stack engineer building production web platforms end-to-end. Lead contributor at VOCE (React/TypeScript + Convex), shipping across the stack — billing, OAuth, SEO, taxonomy. Own third-party integrations (Stripe, Google Ads, Composio) and CI/CD.
by Moetez Ouelhazi
by Moetez Ouelhazi
Showing 4 of 4 articles
Get answers from Moetez
what is the one most important checklist for product launch?
If you want a successful launch, the most critical checklist item isn't actually a technical feature—it’s the "Observability and Recovery" loop. In my experience leading builds at VOCE, you can have the most elegant React/TypeScript codebase in the world, but something will invariably break when it hits real-world traffic. The question is whether you’ll know about it before your users do. Before you flip the switch, ensure your telemetry is airtight. This means having real-time error tracking (like Sentry) and logging that spans your entire stack, from your frontend hooks to your background jobs in Convex. You need to be able to trace a failed Stripe checkout or an OAuth handshake error instantly. If you’re manually checking a database to see if a user signed up successfully, you aren’t ready to launch. Beyond the logs, make sure your "non-code" essentials are verified. I’ve seen great products stumble because they ignored Open Graph tags or SEO metadata, leading to broken link previews on social media during the peak of the launch hype. Double-check your billing webhooks and ensure your CI/CD pipeline is locked so you can push a hotfix in minutes, not hours. I’m always happy to dive deeper into specific integration hurdles or how to structure your backend for scale—feel free to reach out if you’re prepping for your next big release.
Join 63,212 professionals showcasing their expertise. Build trust, attract clients, and grow your business with a professional profile.
Ask, follow, or keep up with Moetez's latest local expertise.
How do you troubleshoot Open Graph meta tags when Facebook and LinkedIn previews show different results?
It’s incredibly frustrating when you’ve polished your code only to find that your link looks perfect on LinkedIn but appears broken or outdated on Facebook. This discrepancy usually stems from how different platforms handle their proprietary scrapers and caching layers. When I’m troubleshooting this, my first move is always to bypass the browser and go straight to the source using the platform-specific debugging tools. Start by running your URL through the Facebook Sharing Debugger and the LinkedIn Post Inspector. These tools are essential because they don't just show you the preview; they explicitly tell you which tags are being ignored and when the crawler last scraped your site. If the preview is outdated, use the "Scrape Again" or "Re-fetch" buttons to force a refresh of their server-side cache. If you’re seeing different images or titles, check if you’ve overridden the generic `og:image` tag with platform-specific ones like `fb:app_id` or if your image dimensions don't meet the minimum requirements for one of the platforms. I’ve found that many developers overlook the importance of absolute URLs and SSL certificates in their Open Graph tags. Ensure your image paths aren't relative and that your `og:url` matches the canonical link exactly. If you’re still seeing inconsistencies, it’s worth checking your server’s middleware to ensure you aren't accidentally blocking specific user agents from scraping your metadata. I’d be happy to take a look at your specific implementation or chat more about optimizing your site's social presence—feel free to reach out!
What's your most important principle out of the bunch?
Out of the core principles I cover in "Core Principles of Modern Software Engineering," the one that trumps them all for me is **simplicity**. It's the foundation—everything else builds on it. In my work as a full stack engineer, I've seen complex systems crumble under their own weight, especially in high-stakes areas like business and finance apps where a single oversight can cost millions. Keep it simple: write clean, readable code; avoid over-engineering features; and prioritize the minimum viable solution that delivers real value. This principle saves time, reduces bugs, and scales effortlessly as your business grows. Why does it matter so much in business and finance? Think about fintech platforms or trading algorithms—they demand reliability without bloat. I've built scalable backends for e-commerce tools here in LA, and stripping away unnecessary layers not only cut deployment times by half but also made maintenance a breeze for non-tech teams. Simplicity isn't laziness; it's strategic discipline that lets you iterate faster and adapt to market shifts. If you're applying this to your own projects or business, start by auditing one module: ask, "Does this need to be this complicated?" I'd love to chat more about how it fits your setup—shoot me a message anytime.