Parth Manaktala

Software engineer · Norcross, Georgia

I build software and get it shipped.

At Lightera, a fiber-optics manufacturer, I build the internal systems people there rely on every day: a production storage system I built alone in two weeks, the API every database call goes through, and 10+ apps rewritten on .NET 10. On my own time I build iOS apps, and two of them are on the App Store.

01 · Work at Lightera

Things I built, running in production.

Internal systems for a manufacturer, built while the business kept running. Company-specific details are left out on purpose.

Built solo2 weeksIn production

A storage system for fiber spools

A business unit needed to track spools through boxes, pallets and storage locations, and find them again months later. I designed and built the system end to end, and it has been in production ever since.

How it works

People use it on Zebra handheld scanners, so every screen is designed around scanning instead of typing. You scan a barcode, answer what the app asks, and it validates the entry before you submit.

A Three.js 3D view of the storage area shows where each item is, so finding something doesn't mean walking the aisles. It handles about 50–70 boxes in an average week, with four spools per box.

.NET · SQL Server · Three.js · Zebra scanners

Designed & built200+ pages

The API every database call goes through

It reads each SQL statement before running it, checks it against a set of rules, and sends it to the right database. The code calling it never needs to know which database answered.

SQL inone or a batch Parseops · tables · joinspredicates · columns Check rulesop × column × table Routewhere does it live? SQL Server Sybase ASE
How it works

The API takes one SQL statement or a batch. It parses each one into its operation, tables, joins, predicates and columns, and checks the result against a rules table that says which operations are allowed on which columns of which tables. Then it chooses the database, runs the query and returns the result.

Database access rules live here, in one place, and the whole internal codebase goes through it. That's what made the migration below possible.

C# · ASP.NET Core · Dapper · SQL parsing

10+ appsDesign system built solo

Rewriting the old apps on .NET 10

2,3455database calls on one dashboard, before and after the rewrite
ThemesDialogsTablesKPI blocksProgressLayouts

These weren't version bumps. For each app I worked out what it actually does, fixed the logic where it was wrong, rewrote the data access and redesigned the interface. Everything stayed compatible with the processes that depend on it.

The platform under it

So new apps don't start from an empty folder, I built an internal .NET 10 starter platform, which sets up the app structure and shared patterns. I also built a hosted design library to go with it: themes, shared CSS and reusable components like dialogs, tables, KPI blocks and layouts. The goal was one consistent look and structure across internal apps, and less boilerplate.

.NET 10 · ASP.NET Core MVC · Dapper · Bootstrap

Zero downtime200+ pages & sites2+ years

Moving to SQL Server without a cutover

More than 200 pages and sites had to move from Sybase ASE to SQL Server while people kept using them. There was never a weekend when everything switched at once. Each table moved on its own, and the routing API checked where a table lived before every read and write.

Table isReads fromWrites to
movedSQL ServerSQL Server
duplicatedSQL Serverboth, kept in sync
not yet movedSybaseSybase
My part

Because the routing was stored as data, moving a table meant changing a row, not doing a deploy. Joins between moved and unmoved tables kept working the whole way through. I helped the team design that approach.

Most of my own time went into rewriting queries, handling the places where the two databases behave differently, and fixing the production issues those differences caused.

Sybase ASE · SQL Server · C#

Performance
4–5 h → ~30 min

A snapshot job that made the system unusable

A critical data snapshot job ran for four to five hours, and parts of the system were unusable while it ran. After I found the bottlenecks and tuned the queries, it takes about 30 minutes on average, and sometimes as little as ten. Several other slow operations went from minutes to seconds.

SQL Server · Sybase ASE · query tuning

Production debugging
~1 in 100

Don't trust the acknowledgement

About once in a hundred runs, an equipment-control app got stuck in a state that took a manual fix to clear. The controller was replying OK to start commands it hadn't actually carried out. I stopped treating that reply as proof: the app now polls every 500 ms for up to 5 seconds to confirm the start, and rolls back before any downstream update if it never happens.

C# · equipment integration

02 · Apps

Things I ship on my own.

iOS apps I came up with, designed and shipped myself. None of them have accounts, ads or tracking, and your data stays on your device and in your own iCloud.

On the App Store

Dump

Save anything now and deal with it later: links, thoughts, a restaurant someone mentioned, recipes, images, files. Search does most of the organizing.

Everything is saved to the device before it syncs or gets enriched, so saving never waits on the network. It works from the share sheet, Spotlight and Siri. On-device suggestions are always editable and never rearrange your things without asking.

SwiftUI · Core Data + CloudKit · Share Extension · Core Spotlight · App Intents · Foundation Models

Dump inbox with saved links and notes
Dump search showing a saved restaurant inside a collection
On the App Store

Void

A timer for doing nothing, plus a guided breathing mode. It's deliberately minimal and asks almost nothing of you.

A Live Activity keeps the session going after you leave the app, haptics set the breathing pace, and finished sessions are saved to Apple Health as mindful minutes.

SwiftUI · Live Activities · Haptics · HealthKit

Void home screen
Void guided breathing session
In developmentTestFlight next

Roamed

A sticker book for travel: all 50 states, 63 national parks, 50 mountains, 27 theme parks, 21 scenic drives and a directory of over 3,300 state park entries. Check in at a place and its sticker fills in. It's a collection, not a checklist: no streaks, nothing expires, and it only ever counts up.

If you turn it on, it notices when you've arrived somewhere new and asks you to confirm. It never logs a visit by itself. There are no accounts, no backend and no third-party code.

SwiftUI · SwiftData + CloudKit · MapKit · CoreLocation · zero dependencies

Roamed album showing collections of national parks, state parks, mountains and more
Roamed celebration after collecting Grand Teton
Roamed place page for Mount Rainier with a Check in button
TestFlight

Bite

A local-first calorie, macro and water tracker. Smart Fill uses Vision to read a nutrition label, and the on-device Apple model turns it into a draft you check before saving. Nothing goes to a server.

SwiftUI · SwiftData + CloudKit · HealthKit · Vision · Foundation Models

Personal

Blah

A private app, built for one user, that combines calendar, reminders, health, weather and movement history with on-device prediction. The hard part was the Core ML movement model: stopping it from peeking at future data during training, and only showing predictions it's confident about.

SwiftUI · SwiftData · CloudKit · Core ML · Cloudflare

Open source

Restricted Input

A small Spring Boot library for validating request input with annotations like @RestrictedInput and @ValidPhone. Apache 2.0, published on Maven Central.

Java · Spring Boot · Maven

03 · Approach

How I work.

Software should feel good to use, even the internal kind.

I took five UX and HCI courses during my master's, and they shape everything I build. The storage system is designed around the scanner in someone's hand. The rewritten dashboards got a real interaction redesign, not just new code. My apps start from how they should feel.

AI writes a lot of the code. I own the product.

I use Codex, Claude Code and Cursor. On my own apps they write nearly all of the implementation, while I direct everything else:

Product ideaArchitectureUX & designDesign patternsReviewTestingShip decision

At work, AI tools are a normal part of the day, not the whole of it.

04 · Experience

Where I've worked.

Download the one-page résumé ↗

  1. Jul 2024 – now

    Lightera

    Software Engineer · Norcross, GA

    Storage system, SQL routing API, .NET 10 rewrites and design system, the Sybase → SQL Server migration, performance work and production support. See the work section above.

  2. May – Aug 2023

    OFS Fitel

    Software Developer Intern · Georgia

    Built C#/.NET tools that monitor system and database-connection health with threshold-based alerts, and a SQL query viewer with formatting and syntax highlighting.

  3. Jun 2019 – Jul 2022

    Tata Consultancy Services

    Software Developer / Systems Engineer · Bangalore

    Led backend development of a file and software-package transfer platform across AWS and Azure, handling packages up to 100 GB. Worked on an AWS integration gateway for a Fortune 100 client. Built and contributed to monitoring, logging and observability pipelines, and CI/CD with automated tests at 90%+ JUnit coverage. Mentored five new team members, and received Star of the Month and Star of the Quarter awards.

Education

Purdue UniversityM.S. Computer Science · 2022–2024 · 4.0 GPA

SRM UniversityB.Tech. Information Technology · 2015–2019

Toolbox

Backend

C#, .NET 10, ASP.NET Core MVC, Web APIs, Dapper, IIS, Java, Spring Boot

Data

SQL Server, Sybase ASE, PostgreSQL, MySQL, query tuning, SQL parsing

iOS

Swift, SwiftUI, SwiftData, Core Data + CloudKit, App Intents, Live Activities, Foundation Models, Core ML

Cloud & web

AWS, Azure, Cloudflare, CI/CD, JavaScript, Three.js, Bootstrap

Let's build something.

If you're hiring for backend, .NET, database or iOS work, or you just want to talk about something here, email is the fastest way to reach me.

[email protected]